Commit Graph

139 Commits

Author SHA1 Message Date
Pedro Algarvio
f96c01738e Provide the loader integration tests in it's own package. 2013-10-26 18:57:00 +01:00
Pedro Algarvio
725acec48b track_processes is no longer a valid `kwarg'. 2013-09-10 17:49:38 +01:00
Pedro Algarvio
8100b41c7e Fixed splitting named unittests from named integration tests.
This commit got lost somewhere. I could swear I committed this fix previously...
2013-08-21 19:23:16 +01:00
Pedro Algarvio
11060c85be Allow running a group of tests while still providing a test case name from another group. 2013-08-12 11:46:58 +01:00
Pedro Algarvio
305a5c2223 The parser destructive tests flag is now provided by salt-testing 2013-08-06 22:03:42 +01:00
Pedro Algarvio
94575cbb63 Finish what was started on f78fca32 2013-07-05 00:53:41 +01:00
Pedro Algarvio
f78fca3256 We don't need to pass -u when we're only passing unittests to -n. 2013-07-04 17:17:48 +01:00
Pedro Algarvio
007545eb70 Fix NameError 2013-06-28 00:12:58 +01:00
Pedro Algarvio
8cd0316b62 Heh! Salt! Not Salt Cloud! 2013-06-28 00:12:58 +01:00
Pedro Algarvio
a21b6e10a5 We don't want the tests in the coverage report. 2013-06-28 00:12:58 +01:00
Pedro Algarvio
819e523c2b Use the defined SALT_ROOT as the source parameter for the coverage call. 2013-06-28 00:12:58 +01:00
Pedro Algarvio
7990165e26 Remove debug logic to test coverage. 2013-06-28 00:12:58 +01:00
Pedro Algarvio
3033e0002b Let's make use of salt-testing code coverage testing option parser. 2013-06-28 00:12:57 +01:00
Pedro Algarvio
222be7b446 Make sure every test module is runnable by __main__.
* Double to single quotes
2013-06-28 00:12:56 +01:00
Pedro Algarvio
d4fd1baa2f Adapted the tests suite to work with salt-testing 2013-06-28 00:12:56 +01:00
ZHANG Cheng
c86564abb1 Fix typo 2013-06-22 23:31:37 +08:00
Thomas S Hatch
86db665d2d kill the print 2013-06-18 15:45:50 -06:00
Thomas S Hatch
535d0a00e3 Finish #5585 2013-06-17 13:05:08 -06:00
ZHANG Cheng
c8aee0451d Make it possible to run a single unit test 2013-06-17 23:38:13 +08:00
Chris Rebert
a6a356a3e4 runtests.py: use except-as syntax 2013-06-03 11:45:44 -06:00
Pedro Algarvio
8938b93b3f Run our own API based coverage 2013-06-02 09:07:39 +01:00
Pedro Algarvio
a61273bd71 Finally working. Cleaning up. 2013-05-31 12:48:53 +01:00
Pedro Algarvio
662f5b23ca Output the coverage pickled data. 2013-05-31 12:48:53 +01:00
Pedro Algarvio
63859e2915 Even more info from travis env. 2013-05-31 12:48:53 +01:00
Pedro Algarvio
51460af985 Fix SyntaxError. 2013-05-31 12:48:53 +01:00
Pedro Algarvio
5ec8147fbb Add the .coveragerc file and some debugging output to see if the coverage file is generated. 2013-05-31 12:48:52 +01:00
Pedro Algarvio
852e38658b Let's know where(CWD) is the suite running from. 2013-05-31 12:48:52 +01:00
Thomas S Hatch
25fd45a688 Make --name a little more clear 2013-05-26 00:08:52 -06:00
Chris Rebert
c487d86fff tests: standardize to modern 'except FooError as err:' syntax 2013-05-03 19:55:50 -07:00
Chris Rebert
9ed364980d is not 0 => != 0 2013-04-30 10:32:21 -07:00
Pedro Algarvio
a43e0132f1 Improve logging logic in salt/template.py. Allow the test suite to set more logging levels. 2013-04-27 09:56:24 +01:00
Pedro Algarvio
7e0b13a493 Include the filesystem cleanup options group into the parser. 2013-04-19 22:36:02 +01:00
Pedro Algarvio
8f851e0a9a Renamed environment variable and create directory if it does not exit.
New environment variable name is `SALT_XML_TEST_REPORTS_DIR`.
2013-02-02 18:27:59 +00:00
Pedro Algarvio
6efbc51aae Remove bad xml reports option.
* `xmlrunner` proved to be a way better choice than `junitxml` and it's even parsable by Bamboo. The output of `junitxml` is not.
* The output directory can be tweaked with the environment variable `SALT_XML_TEST_REPORTS`.
2013-02-02 18:22:31 +00:00
Pedro Algarvio
b994f3e697 Re-use the same file for JUnit xml text results instead of overriding. 2013-02-01 18:55:34 +00:00
Pedro Algarvio
17c6151cf8 Add --no-colours to runtests.py. Refs #3511. 2013-01-30 21:01:20 +00:00
Pedro Algarvio
17aee1fc32 Add JUnit compatible xml output to the tests suite. 2013-01-30 20:42:30 +00:00
Pedro Algarvio
ed7c4c97f8 Group parser options. 2013-01-30 20:10:45 +00:00
Ryan Schneider
8f8cc74b34 Some minor cleanup of unit and integration tests. 2012-12-18 17:39:16 -08:00
Pedro Algarvio
e2d404950b Show us the pid for which the test suite is running under. 2012-12-04 11:24:24 +00:00
Pedro Algarvio
804b575b0d Add missing import. 2012-11-29 07:59:36 +00:00
Pedro Algarvio
b72469d4b0 New coverage version, handle it's version parsing properly. 2012-11-29 07:41:17 +00:00
Pedro Algarvio
04146f39f9 Tests wait timer is now colored(option to disable colors is also available), improves readability. 2012-11-21 10:01:45 +00:00
Pedro Algarvio
f6abd10ed9 Support logging.StreamHandler under python 2.6 which does not have a stream kwarg. 2012-11-20 15:52:20 +00:00
Pedro Algarvio
c5c637154a Try to get some system information out of Travis-CI. 2012-11-06 18:11:26 +00:00
Pedro Algarvio
af7ebf12f8 Try not to fail on travis-ci under python 2.6
* Raised max open files by 1024 since running in a vagrant machine 2048 was not enough, though, I think travis-ci defaults to a higher value.
* Wait a bit longer on the events testing.
* Separated the initial minions connected and minions synced into two different events and functions. Also corrected the `if` expected value when a timeout occurs.
2012-11-06 16:02:36 +00:00
Pedro Algarvio
75644992e2 Don't hard-code temporary paths on tests. Refs #2462. 2012-11-06 11:20:06 +00:00
Pedro Algarvio
b6cb78364f Switch integration tmp to the system's temporary directory.
While running the tests within a VirtualBox(vagrant) machine, if the salt source is mounted using shared folders, any tests involving hard links WILL fail. Any tests involving symlinks, can be made to work by setting some properties on the VirtualBox shared folder. By moving the tests `tmp` directory to `tempfile.gettempdir()` we avoid this false test case errors.
2012-10-05 00:52:00 +01:00
Pedro Algarvio
4c456864db Improve our tests runner.
* Show an error when the user tries to use `--xml` and `xmlrunner` is not installed.
* Add support to generate HTML reports of the tests coverage.
2012-10-02 13:04:22 +01:00
Pedro Algarvio
905fb835cd Improve runtests.py logging and report output.
* All logging messages are now logged on a log file. If verbose is enabled, the log messages are also logged to the console.
 * The tests report now also let's us know if there were no glitches.
2012-09-30 10:40:06 +01:00
Pedro Algarvio
e8766b7b8d Allow certain tests to marked as destructive.
* Some tests might be considered destructive, such as adding or removing users from the system. This change allows those tests to be skipped unless stated otherwise.

```python

from saltunittest import destructiveTest

class ATestCase(TestCase):

    @destructiveTest
    def test_some_destructive_code(self):
        """Some destructive code."""

```

On the console we get something like:
```
test_destructive (unit.config_test.ConfigTestCase) ... skipped 'Destructive tests are disabled'
```
2012-09-29 15:42:43 +01:00
Pedro Algarvio
6896fd0ab8 Allow disabling the tests report. 2012-09-29 12:48:50 +01:00
Pedro Algarvio
b8917071f6 Provide an overall tests report.
Previously we have to go through the scroll history to see which tests failed, which were skipped, etc. Now, besides test failures, errors and skips being reported like they always were, we also provide a nice overall report and the end.
2012-09-29 12:10:06 +01:00
Pedro Algarvio
582011a8be Allow passing multiple test names(-n) to runtests.py. 2012-09-26 16:17:27 +01:00
Pedro Algarvio
39af3fb5d6 Fix the test-cases custom logging handler.
* Even when the tests logging handler stream is directed to `/dev/null` we still need a low logging level so that our custom logging handler, used to see if certain log messages are emitted or not, catches messages.
2012-09-20 19:27:32 +01:00
Pedro Algarvio
6110a72231 Fix syntax error from last commit. 2012-09-03 19:10:38 +01:00
Pedro Algarvio
e2d0ffa992 Automatically try to raise max open files setting if too low when running tests. 2012-09-03 17:42:36 +01:00
Pedro Algarvio
c06541bdf0 Allow some logging output when running tests. 2012-08-25 14:21:19 +01:00
Pedro Algarvio
c5f1236984 There's no logging NullHandler in 2.6. Fix it. 2012-08-11 21:03:49 +01:00
Pedro Algarvio
9dfce0f7d2 Final fix for saltstack/salt#1756
Don't try to import `salt.log` during tests. Adapt `check_user` test accordingly.
2012-08-11 01:28:49 +01:00
Pedro Algarvio
80804c67b4 Some more fixes regarding saltstack/salt#1756
Setup and disable logging during the tests.
2012-08-11 00:44:16 +01:00
Pedro Algarvio
842036b136 Minor cosmetic change while running tests.
Make the salt's printed `~~` lines match the length of the `--` printed lines from unittest.
2012-08-01 19:07:56 +01:00
Roman Imankulov
4cac03c42d Add options --clean and --no-clean in runtest.py
--no-clean option speeds up repeating test execution by skipping the cleanup
process before and after testing.

Typical use case command could look like

./runtests.py -vv --no-clean --name integration.modules.ssh
2012-07-20 12:16:14 +06:00
Larry Price
c2f89a849d adding state tests to the full run :-/ 2012-06-30 09:40:00 -07:00
Thomas S Hatch
dc6138b787 move runner tests to the front to clean up the output 2012-05-30 17:10:48 -06:00
Dan Colish
f5c8e242e4 Refactor runtests to allow dotted path module discovery.
In addition to traditional file system path test discovery it is
useful to run a test by stating it's dotted python path. For example,
this will only run the cmdmod integration tests from the
module suite::

        $ runtests.py -n tests.integration.modules.cmdmod
2012-05-29 19:56:47 -07:00
Thomas S Hatch
0b9f381781 Add runners to the main test script 2012-05-27 21:01:08 -06:00
Thomas S Hatch
97966f521a Add state functions to integration tests 2012-05-12 22:27:30 -06:00
Thomas S Hatch
6ab9242def Add option to test states 2012-05-12 20:55:56 -06:00
Baiju Muthukadan
5533fe4417 JUnit like XML reporting for Jenkins 2012-05-06 03:57:16 +05:30
Baiju Muthukadan
0605365daf Support verbose output for testrunner
The option parsing logic has changed without affecting the test
invocation commandline interface.
So, it should be possible to invoke tests like this:

  python tests/runtests.py -u #only run unit tests
  python tests/runtests.py -m #only run module tests
  python tests/runtests.py #run all tests
  python tests/runtests.py -v #run all tests with verbose output
  python tests/runtests.py -vu #run unit tests with verbose output
2012-05-06 02:12:47 +05:30
Baiju Muthukadan
d2d31bd8b4 non-unit tests should be able to run individually 2012-05-05 18:07:39 +05:30
Baiju Muthukadan
763a4287cf Exit testrunner with proper exit code 2012-05-05 17:23:39 +05:30
Anselm Helbig
5bc9ea7d67 added preliminary unit tests for rvm module 2012-05-02 09:42:01 +02:00
Thomas S Hatch
e301fee420 Add shell tests and shellCase to test structure 2012-04-21 17:27:59 -06:00
Monty Taylor
c9950cc571 Clean up code for 3.2 2012-04-20 13:20:51 -07:00
Thomas S Hatch
f646d9f38f add options to runtests allowing for specific suites to be run 2012-04-04 11:49:28 -06:00
Thomas S Hatch
fdd75e81f6 Add some pretty to the unit tests 2012-04-04 10:58:11 -06:00
Thomas S Hatch
6c0c05c523 Add support for a dir of client tests 2012-04-03 21:14:09 -06:00
Eivind Uggedal
ab7ace6aa5 Split out integration tests from pure unit tests.
Integration tests requiring a salt master and daemon were seperated
from pure unit tests. For now both are run with runtest.py. In
the future it could take arguments for which type of tests to run.
2012-02-20 13:18:13 +01:00
Eivind Uggedal
099470ab37 Terminate master and minion processes after tests are finished. 2012-02-20 00:07:38 +01:00
Thomas S Hatch
21cebcc091 run all modules in the modules dir 2012-02-12 16:10:50 -07:00
Thomas S Hatch
fd82c47a95 more refinements to unittesting 2012-02-12 16:03:31 -07:00
Thomas S Hatch
71c81ce2e8 The new unit tests work! 2012-02-12 02:58:15 -07:00
Thomas S Hatch
5b83d74e2d move core classes to daemon, add moduleclass 2012-02-12 01:57:03 -07:00
Thomas S Hatch
07b4320a89 Initial push towards active unit testing
After a great deal of thought, I feel that the only way to reliably run
a test suite it to start a minion and master, and condition the data to
reflect the literal returns (take out the transport overhead).

This commit is the initial push towards this method of unit testing,
these test will be able to acctually test every aspect of salt.
2012-02-12 01:24:20 -07:00
Evan Borgstrom
11cc43d22d Now that it's working let's make it a little nicer to use [GH-522]
This allows for tests to be written without too much change from the
normal unittest workflow. Now they should use the 'saltunittest'
namespace and we will need to import anything we need from the original
'unittest' or 'unittest2' namespace.
2012-01-29 10:17:51 -05:00
Evan Borgstrom
dde4198dae Allow tests to be run on python < 2.7 [GH-522]
note: the host module test seems to be broken.
2012-01-29 10:01:43 -05:00
Martin Schnabel
43a6bcf299 add simple test runner.
use:
   python setup.py test
to build salt and run all 'unittest.TestCase's in tests/
2011-12-30 00:55:05 +01:00