Commit Graph

532 Commits

Author SHA1 Message Date
Pedro Algarvio
da42560286 When using integration.run_tests the SSH option is not available 2014-06-05 10:10:56 +01:00
Mike Place
535ea24eea Now we don't need root anymore 2014-05-23 15:00:26 -06:00
Mike Place
d4be5906e0 Pylint 2014-05-23 14:52:28 -06:00
Mike Place
c753b77e10 Pass -i to salt-ssh 2014-05-23 14:38:52 -06:00
Mike Place
7abc25f67f Generate server keys too 2014-05-23 14:11:14 -06:00
Mike Place
cf25592c53 Working salt-ssh test runner
This rounds out initial (alpha) support for a salt-ssh test runner.

At present, one must manually specify the --ssh flag to ensure that
the ssh deamons are spun up properly.

Conflicts:
	tests/integration/__init__.py
	tests/integration/files/conf/_ssh/sshd_config
	tests/integration/files/conf/sshd_config
	tests/integration/files/ext-conf/sshd_config
2014-05-23 14:11:14 -06:00
Pedro Algarvio
5a8575dbb9 The helper method is now released 2014-05-20 10:53:47 +01:00
Pedro Algarvio
6b1380a25c Move sshd_config file to another directory to avoid problems. 2014-05-12 19:06:09 +01:00
Pedro Algarvio
8f1f212a7f Remove trailing white-space. 2014-05-10 14:41:48 +01:00
Mike Place
1fe291346f Cleanup 2014-05-10 14:18:53 +01:00
Mike Place
0cbac67a3f Support for continuous integration testing of salt-ssh 2014-05-10 14:18:53 +01:00
Chris Rebert
45981a56f9 lots of copyediting 2014-04-30 12:06:27 -07:00
Pedro Algarvio
1a65ee6bc7 In order not to change the arguments order 2014-04-25 23:34:15 +01:00
Pedro Algarvio
5b790dbb79 Allow getting stderr from the commands. 2014-04-24 15:42:17 +01:00
Pedro Algarvio
362e162496 Remove un-necessary code 2014-02-10 15:10:19 +00:00
Pedro Algarvio
ec5614bd08 Remove the vim jedi output from the code 2014-02-10 13:28:28 +00:00
Pedro Algarvio
74dae3b842 And, as a last resort, kill the process after failing to terminate them. 2014-02-10 13:11:09 +00:00
Pedro Algarvio
bb9e431491 No need for the line breaks 2014-02-08 00:33:26 +00:00
Pedro Algarvio
c8010bbf4f We don't narrow check's to state calls no more. 2014-02-07 18:01:09 +00:00
Pedro Algarvio
420fe3cc50 Let's try without passing the --out option. 2014-02-07 18:00:40 +00:00
Pedro Algarvio
499a508a0f Use the correct .format() index. 2014-02-07 10:25:27 +00:00
Pedro Algarvio
c304660f88 Fix typo 2014-02-05 02:32:04 +00:00
Pedro Algarvio
74376c40ef Include what happened in the returned list. 2014-02-04 22:49:13 +00:00
Pedro Algarvio
6045f0901f Try to match some more stalled functions. 2014-02-04 22:36:39 +00:00
Pedro Algarvio
6248850055 Show and kill stalled states jobs when running the tests. 2014-02-04 21:07:13 +00:00
Joseph Hall
6b39fbec81 Merge pull request #10137 from s0undt3ch/hotfix/rabbitmq-virtual-fixes
rabbitmq module and test fixes/simplifications
2014-02-03 04:33:08 -08:00
Pedro Algarvio
69d0f907f9 Make use of the print() function. 2014-02-03 11:07:43 +00:00
Pedro Algarvio
f417bb5b5a Minor cosmetic change for consistency. 2014-02-03 10:31:13 +00:00
Thomas S Hatch
ce1f305745 Merge pull request #10031 from kaithar/feature/test-fixes
Feature/test fixes
2014-01-31 09:38:38 -08:00
Daniel Bradshaw
749e4871db Fixing some missing PEP8ness 2014-01-29 19:48:57 +00:00
Daniel Bradshaw
a5fee18ac8 Handle directories in the config directory when we try to clone config 2014-01-29 18:02:36 +00:00
Mathieu Le Marec - Pasquet
165b5e4af2 Handle better state errors
This fixes #9983.
2014-01-28 16:01:34 +01:00
Pedro Algarvio
b45900e903 Remote empty lines 2014-01-14 16:15:08 +00:00
Pedro Algarvio
ff75e49c86 Prepare the code to support passing the colums to use in output 2014-01-14 15:16:30 +00:00
Pedro Algarvio
44bdfee0a3 Merge pull request #9700 from s0undt3ch/hotfix/no-hardcoded-virtualenv-bin
no hardcoded virtualenv bin
2014-01-11 14:46:52 -08:00
Pedro Algarvio
8268b7b532 Ignore it PyLint!!! 2014-01-11 21:35:18 +00:00
Pedro Algarvio
5642db5032 Simplify the code 2014-01-11 21:20:42 +00:00
Pedro Algarvio
a5a791695c Import from the right module. 2014-01-11 21:12:03 +00:00
Pedro Algarvio
bdec26f812 Tell Pylint to ignore these imports. 2014-01-11 21:01:58 +00:00
Pedro Algarvio
ba4bf1b05d Add helper function while there's no new release of salt-testing. 2014-01-11 20:51:32 +00:00
Pedro Algarvio
c8038d87b1 Use KNOWN_BINARY_NAMES from salt.modules.virtualenv 2014-01-11 12:19:29 -07:00
Pedro Algarvio
2cab3227fd The virtualenv binary can have multiple CLI names. 2014-01-02 20:27:18 +00:00
Thomas S Hatch
d713cb919c Fix missed import 2013-12-20 13:52:45 -07:00
Pedro Algarvio
edcf47ccc2 White-space related lint fixes. 2013-12-20 20:02:05 +00:00
Seth House
78f4d77681 Added helper function to easily create directories 2013-12-19 21:07:46 -07:00
Seth House
932cd9708a Added new TestCase for testing the *Client interfaces 2013-12-13 16:00:19 -07:00
Pedro Algarvio
63cb0571c1 Skip temporary files. 2013-12-03 18:38:53 +00:00
Pedro Algarvio
31200152bb Use the new form of passing the configuration file. 2013-11-28 19:52:03 +00:00
Pedro Algarvio
660a91d1ea Merge the salt-cloud cli integration tests into salt's test suite. Refs #8886. 2013-11-28 17:55:58 +00:00
Pedro Algarvio
6e596738de Disable some PyLint warnings. 2013-11-27 13:07:24 +00:00
Pedro Algarvio
d02a2bc224 Include the python encoding file header on tests. 2013-11-27 11:19:24 +00:00
Pedro Algarvio
097aed1e7e Show the error in case of failure. 2013-11-12 01:01:51 +00:00
Pedro Algarvio
148cef5772 Reintroduce the removed grains information.
Removed on 4617a931be and 52be720d62.
2013-11-08 19:53:43 +00:00
Pedro Algarvio
47ccaf959e Revert "Remove debugging pprint"
This reverts commit 4617a931be.
2013-11-08 19:53:38 +00:00
Pedro Algarvio
e8e19baf8d Revert "Remove unused grains lookup"
This reverts commit 52be720d62.
2013-11-08 19:53:29 +00:00
Pedro Algarvio
962f8d4149 Support adding files to the testing prod state env. 2013-11-06 20:18:47 +00:00
Pedro Algarvio
2924f1c14a Add a test case to check for proper env selection when passing ?env=foo. Refs #8196. 2013-11-06 20:03:44 +00:00
David Anderson
ec4475cf30 Fix issue 5951 - correct __opts__['file_roots'] in ext_pillars 2013-10-11 11:53:00 -06:00
Pedro Algarvio
c8f1e457d7 Allow tests.integration.run_tests to execute more than one TestCase instance. 2013-10-03 16:09:57 +01:00
Pedro Algarvio
f75c59ecbf Properly handle shell unit tests which check versions. 2013-09-19 18:50:51 +01:00
Pedro Algarvio
05be7064d5 0.17.0 has been tagged. The 0.16.x requires_network is no longer necessary. 2013-09-19 11:16:37 +01:00
David Anderson
583d0b8a3e Add with_retcode options for ShellCase functions 2013-09-13 10:51:25 -06:00
David Anderson
1d7309970f Add with_retcode option to ShellCase.run_call(). Also adds a test case for https://github.com/saltstack/salt/issues/6973 - expect a non-zero exit code when running "salt-call --retcode-passthrough state.highstate" 2013-09-13 10:12:11 -06:00
Pedro Algarvio
bd707c4763 Finish what was started in 53abda36 2013-09-10 10:40:10 +01:00
Pedro Algarvio
ba096cdedf ssh.recv_known_host is known to return None, should be flagged as such. 2013-09-05 23:06:41 +01:00
Pedro Algarvio
a685a05a0c Fix the salt CLI tools version check test case 2013-09-05 03:34:12 +01:00
Pedro Algarvio
d7c9db70e2 Adapt tests configuration to the running user.
Since salt's cli tools now try to change the user to the configured one, when running the tests suite as non-root, we need to adapt the user setting on the configuration files.
2013-08-30 17:25:28 +00:00
Pedro Algarvio
1a12829637 Switched arguments in SaltReturnAssertsMixIn.assertInSaltReturn() 2013-08-22 19:02:17 +01:00
Pedro Algarvio
2c09600ea4 Switched arguments in SaltReturnAssertsMixIn.assertNotInSaltReturn() 2013-08-22 19:02:17 +01:00
Pedro Algarvio
ae5d9f5038 Switched arguments in SaltReturnAssertsMixIn.assertNotInSaltComment() 2013-08-22 19:02:17 +01:00
Pedro Algarvio
b880af89e1 Switched arguments in SaltReturnAssertsMixIn.assertInSaltComment() 2013-08-22 19:02:17 +01:00
Pedro Algarvio
2f750ed06c Allow network related tests to be skipped if no network is available. Fixes #6710. 2013-08-16 02:02:37 +01:00
Pedro Algarvio
c072fa0241 Also deprecate runas on salt.states.pip.
* Added mock tests to check if the deprecation is triggered, and to see if the deprecation is also returned to the user in a warnings key.
2013-07-27 15:58:28 +01:00
Pedro Algarvio
e467b1e00b Simplify the Syndic configuration testing.
* Inherit the master configuration file on the syndic one.
* Recreate the Syndic on the test. Don't pass it as a module global.
2013-07-17 16:22:18 +01:00
Pedro Algarvio
54ea179467 Only create TMP if it doesn't already exists (hint: --no-clean) 2013-07-17 12:34:36 +01:00
Mathieu Le Marec - Pasquet
cff1fa6f53 fix/feat: let the syndic be way more configurable
- Fix micmac between configs
- Add options to configure pidfile, logfile, masterofmaster port

This fixes #6024.
2013-07-15 20:30:26 +00:00
Pedro Algarvio
cc7ecbceaa ensure_in_syspath now accepts multiple paths. Make use of it. 2013-06-29 20:57:23 +01:00
Pedro Algarvio
e772f0d8b6 Re-use salt-testing mixin. 2013-06-28 00:12:58 +01:00
Pedro Algarvio
77e108a281 Removed duplicate variables moved some others. 2013-06-28 00:12:58 +01:00
Pedro Algarvio
b17bc305c8 Reuse salt-testing shell test case. 2013-06-28 00:12:58 +01:00
Pedro Algarvio
1473a0a3b6 Make use of the SaltTestcaseParser added to salt-testing. 2013-06-28 00:12:57 +01:00
Pedro Algarvio
9cd7efb0dc Only update sys.path once. 2013-06-28 00:12:57 +01:00
Pedro Algarvio
0a9f157262 Update sys.path before import salt. This way salt does not need to be installed. 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
860f74847e Remove the now unnecessary saltunittest. Moved remaining functionality to integration. 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
Thomas S Hatch
e0c10755b9 Some cleaning of quotes and prints 2013-06-18 16:11:36 -06:00
Chris Rebert
31e5c275c5 rm unnecessary parens around 'del'; it's not a function 2013-06-03 11:53:04 -07:00
Chris Rebert
c487d86fff tests: standardize to modern 'except FooError as err:' syntax 2013-05-03 19:55:50 -07:00
Pedro Algarvio
a4e9e196a3 Improve information available and handle IndexError in our salt asserts mix-in. 2013-04-25 20:59:34 +01:00
Pedro Algarvio
2552f2cfc3 Join the processes in order to wait for them to finish. 2013-04-24 22:31:57 +01:00
Pedro Algarvio
50a12a13f5 kwargs should be passed as kwarg to client.cmd. 2013-04-22 22:04:33 +01:00
Pedro Algarvio
7836a26c97 Reduce timeout's by a third. 2013-04-22 19:39:02 +01:00
Denis Generalov
56f221018d * fix bt if environment empty or absent
* fix tests
2013-04-10 16:24:41 +04:00
Thomas S Hatch
52be720d62 Remove unused grains lookup 2013-02-07 17:37:13 -07:00
Thomas S Hatch
86ed822148 Single quotes 2013-01-19 18:22:54 -07:00
Pedro Algarvio
dcb8477f7d Fix phrasing. 2013-01-16 00:11:48 +00:00
Pedro Algarvio
d2f5461a09 Fix the test skip in case of a lower git describe parsed version info. 2013-01-16 00:02:20 +00:00
Thomas S Hatch
603be37e2b Merge pull request #3280 from s0undt3ch/develop
Several deprecation fixes, enhancements, clarifications, for 0.12
2013-01-15 13:43:53 -08:00
Pedro Algarvio
b9afd32994 If the parsed version info is higher, then we're most likely about to release a new salt version. 2013-01-15 19:42:24 +00:00
Pedro Algarvio
392bb8ce1d Remove the deprecation config tests. Lower the salt call's timeout to 30 secs. Refs #3271. 2013-01-15 19:19:57 +00:00
Pedro Algarvio
9e804add7a Simplify logic of getting the temporary directory. 2013-01-15 17:50:09 +00:00
Pedro Algarvio
d61ef51e7a Show why git describe failed on the tests. 2013-01-15 14:16:39 +00:00
Thomas S Hatch
4617a931be Remove debugging pprint 2013-01-14 23:53:18 -07:00
Thomas S Hatch
ad452f0b64 clean up stray prints 2013-01-14 23:08:36 -07:00
Thomas S Hatch
2ca04f4671 Stop downloading giant git repos in the test suite
THIS WAS NOT OK!!!
2013-01-14 22:51:21 -07:00
Pedro Algarvio
0bf51ba5b0 Allow a test to specify it's own run_function timeout. Increase timeout for some tests. 2013-01-14 14:07:58 +00:00
Pedro Algarvio
2f3bb49f83 Fix getting the output of git describe into salt's version string. Added a test case for this too. 2013-01-14 12:35:42 +00:00
Pedro Algarvio
e9ca0a26d7 A little longer timeout. 2013-01-13 18:18:34 +00:00
Pedro Algarvio
3ff77c1958 Wait for the integration tests local client cmd's for, at most, 30 seconds. 2013-01-13 12:49:10 +00:00
Pedro Algarvio
633a313587 Lower integration tests local client timeout to 5 minutes. 2013-01-13 11:31:04 +00:00
Pedro Algarvio
fd2739401c Adapt to the new local client events changes. Fixes #3214. 2013-01-11 19:03:53 +00:00
Pedro Algarvio
39f03c59cd The test suite local client now properly receives the events. Fixes #3214.
* We were instantiating the integration testing local client too soon in the process. Deferring it to a little latter made it all work.
* Added the ability to dump the master and minion testing configurations to files. Just prepend the `runtests` call with `DUMP_SALT_CONFIG=1` and you'll get the computed configuration files in `/tmp/salttest/{master,minion}`.
* We now also un-subscribe from the event's once done.
* Added `salt.utils.event.LocalClientEvent` just to differentiate from `salt.utils.event.MasterEvent` in the logs so we know who's who. It's just a subclass of the latter.
2013-01-11 16:21:04 +00:00
Thomas S Hatch
d95a8e612f clean up some double quotes 2013-01-10 00:25:02 -07:00
Ryan Schneider
8f8cc74b34 Some minor cleanup of unit and integration tests. 2012-12-18 17:39:16 -08:00
Pedro Algarvio
c0455f8fa9 Support creating state files at runtime.
We now support runtime created files that can be used like `salt://my-temp-file.txt`.
Just make sure you write them to `os.path.join(integration.TMP_STATE_TREE, 'my-temp-file.txt')`.
2012-12-12 18:38:39 +00:00
Pedro Algarvio
952779aa26 More code reuse in SaltReturnAssertsMixIn.
The methods `assertSaltTrueReturn`, `assertSaltFalseReturn` and `assertSaltNoneReturn` now reuse the code from `__getWithinSaltReturn` making `__assertReturn` obsolete and for that removed.
2012-12-12 17:11:44 +00:00
Pedro Algarvio
b9e72e7c3c Abstract SaltReturnAssertsMixIn to allow more tests using it.
* Created a method which gets a deep keyed value in a salt state return. For example, allow getting, `ret['changes']['new']`.
* Created a method which tries to make sure the correct type of the passed keys for the above added method.
* Also added were the methods, `assertInSaltReturn`, `assertNotInSaltReturn`, `assertInSaltReturnRegexpMatches`, which simplified the existing `assertInSaltComment`, `assertNotInSaltComment`, `assertSaltCommentRegexpMatches`, `assertSaltStateChangesEqual` and `assertSaltStateChangesNotEqual`, also allowing to do similar tests in every key(deep or not) of a salt state return dictionary.
2012-12-12 13:38:03 +00:00
Pedro Algarvio
7c6feb8c18 Fix a bug! It's basestring not string. 2012-12-12 00:33:54 +00:00
Pedro Algarvio
0baa63c19f Remove deprecated tests functions.
Removed `ModuleCase.assert_success()` and `ModuleCase.state_result()` which are now better tested using `SaltReturnAssertsMixIn`
2012-12-07 17:09:11 +00:00
Pedro Algarvio
fc3b272809 Migrated test.integration.states.pip to use SaltReturnAssertsMixIn.
* Added `assertSaltCommentRegexpMatches()` to `SaltReturnAssertsMixIn` to add the ability to match salt comments using regular expressions.
2012-12-07 16:59:24 +00:00
Pedro Algarvio
4b1747468b Adapted tests.integration.states.ssh to use SaltReturnAssertsMixIn.
* Two new methods were added to `SaltReturnAssertsMixIn`, `SaltReturnAssertsMixIn.assertSaltStateChangesEqual()` and `SaltReturnAssertsMixIn.assertSaltStateChangesNotEqual()`, in order to be able to test salt state returns. These methods, besides asserting that the state was correctly applied using `SaltReturnAssertsMixIn.assertSaltTrueReturn()`, are also able to test for what's in the `changes` key of salt's return, it can even "go inside" the `changes` dictionary, just have a look at what was done in `tests.integration.states.ssh`.
2012-12-07 12:46:02 +00:00
Pedro Algarvio
2d15b79114 Fix sync minions Process target. Correct sync'ed output. 2012-12-04 17:36:45 +00:00
Pedro Algarvio
65094c744a Stop using py27_subprocess under python 2.6 2012-12-04 16:29:53 +00:00
Pedro Algarvio
42799e0953 Fix '--clean/--no-clean' logic needed to sync minions. 2012-12-04 13:36:33 +00:00
Pedro Algarvio
f66c7741ff Allow more time for minions to sync. 2012-12-04 13:02:56 +00:00
Pedro Algarvio
a004639b99 Reuse getting a local client code with SaltClientTestCaseMixIn. 2012-12-04 11:51:37 +00:00
Pedro Algarvio
08aaecee12 Merge branch 'develop' of github.com:saltstack/salt into hotfix/gdb-resources 2012-12-04 00:55:50 +00:00
Pedro Algarvio
b0f594f452 run_script timeout's are not supported under windows. 2012-12-03 23:58:08 +00:00
Pedro Algarvio
3b0388c8f4 Merge branch 'develop' of github.com:saltstack/salt into hotfix/gdb-resources 2012-12-03 23:42:23 +00:00
Pedro Algarvio
b866ca3af0 Just detach from parent group. 2012-12-03 23:41:45 +00:00
Pedro Algarvio
5d274e8b7d Let's keep using multiprocessing. 2012-12-03 23:35:32 +00:00
Pedro Algarvio
7b10a7cd64 Merge branch 'develop' of github.com:saltstack/salt into hotfix/gdb-resources 2012-12-03 23:31:29 +00:00
Pedro Algarvio
a9669acf3a Kill tests run_script shell and it's children. 2012-12-03 23:30:21 +00:00
Pedro Algarvio
c89a6788f4 Is this what's needed under python 2.6 for tests to complete? 2012-12-03 21:07:51 +00:00
Pedro Algarvio
c4e485a8bf Allow setting a max time for a test run_script to execute and return. 2012-12-01 22:58:19 +00:00
Pedro Algarvio
c9cb4c220c Only sync minions modules if they're not already up to date. 2012-12-01 18:12:59 +00:00
Pedro Algarvio
d4005bee3d We now warn the users about misusing mode in file.recurse. Fixes #2726.
* Extended `SaltReturnAssertsMixIn` by adding `assertNotInSaltComment`.
* Fixed minor `tab` instead of spaces in `salt.states.file` code.
2012-11-28 17:57:44 +00:00
Pedro Algarvio
c782eae106 Extended SaltReturnAssertsMixIn and included a test case which triggers #2726.
* Extended `SaltReturnAssertsMixIn`, `assertInSaltComment`, which allows to see if a string is in a salt's returned comment.
2012-11-28 17:35:25 +00:00
Pedro Algarvio
bd552ef4a8 Migrate some of the Vagrant branch improved minions wait and sync code. 2012-11-26 05:44:18 +00:00
Pedro Algarvio
74aeeab5e5 Add some color when a test minion connects(trigger a Travis build). 2012-11-26 04:32:25 +00:00
Pedro Algarvio
fd283e9689 Improved SaltReturnAssertsMixIn.
* Added `assertReturnSaltType` which is dictionary for non errors.
* Added `assertReturnNonEmptySaltType` which does the above and makes sure it's not empty.
* Fix `tests.integration.states.user.UserTest` which was using wrongly using `assertSaltTrueReturn` on 'user.info' calls.
2012-11-25 22:29:08 +00:00
Pedro Algarvio
ee8a4faccc Make sure that parts are also dictionaries. 2012-11-25 20:11:24 +00:00
Pedro Algarvio
a6fd9bb60f Add tests.saltunittest.RedirectStdStreams.
* The `RedirectStdStreams` tests helper will allow to temporarily catch `stdout` and `stderr` output. Right now it's only used to **mute** the `tests.integration.runners.jobs.ManageTest.test_active()` output.
2012-11-23 12:19:09 +00:00
Pedro Algarvio
cf03063bec Improve SaltReturnAssertsMixIn and move tests.integration.states.cmd to use it.
* Implement `SaltReturnAssertsMixIn.assertSaltNoneReturn` used in `tests.integration.states.cmd`.
* Migrate `tests.integration.states.cmd` to use `SaltReturnAssertsMixIn`.
2012-11-21 12:43:53 +00:00
Pedro Algarvio
1f03ba59f1 Extend tests.integration.SaltReturnAssertsMixIn.
* Do proper type checking for salt calls, ie, a dict should be returned, if not, it's a failure, usually errors come as lists, show that to the user.
* Iterate through the salt call parts to make sure result is true, and if not, fail showing the part comment.
2012-11-21 12:16: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
eda67f0110 Show salt comment on assertTrue(ret['result']) failed calls.
* Created a mix which tests for the required assertion(True/False) and in case of a failure, shows salt comment kwarg in the raised assertion error so we know what was the original(salt's) failure.
2012-11-20 16:09:57 +00:00
Pedro Algarvio
09eb92ad8a Only import what's needed, cleans up code. 2012-11-19 01:21:06 +00:00
Pedro Algarvio
6a6f256472 Make it, actually work, on python 2.6 2012-11-19 01:13:29 +00:00
Pedro Algarvio
c6dcdbe6dc Hardcore approach to travis-ci failures under python 2.6.
* We basically copied subprocess from python 2.7 and import that one instead of the python 2.6 subprocess to run the tests. Since we import it under a different name, there should be no issues with the remaining of salt's source importing the regular subprocess module.
2012-11-18 23:49:37 +00:00
Pedro Algarvio
f67d24cf30 Minor cosmetic change. 2012-11-17 17:43:23 +00:00
Pedro Algarvio
5bf4549777 Use actual time, to reduce time.sleep() inaccuracy. 2012-11-17 17:37:53 +00:00
Pedro Algarvio
d3e0d64068 Show a nice clock counter while we wait for the sync job to finish. 2012-11-09 15:25:16 +00:00
Pedro Algarvio
cae00911a5 One more try to properly handle the process termination. 2012-11-07 14:10:02 +00:00
Pedro Algarvio
b4f2ad2884 Never fail on process.terminate() since the process is supposed to have ended. 2012-11-07 13:58:44 +00:00
Pedro Algarvio
8e9fd09eeb Try to cleanup after ourselves.
* Only instantiate a `LocalClient` on a test if one is required.
* Try to precipitate garbage collection on our minions connect and sync multi-processes.
2012-11-07 13:40:39 +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
739eeac30d Create an "alias" for temfile.gettempdir() to reduce calls to it. 2012-11-06 12:14:02 +00:00
Pedro Algarvio
75644992e2 Don't hard-code temporary paths on tests. Refs #2462. 2012-11-06 11:20:06 +00:00
Jeff Schroeder
2bc78460db Automated cleanup converting str.split('\n') --> str.splitlines()
Performed with this command from the top-level source tree:
	find -name '*.py' -type f | xargs sed -r -i "s/\.split\('\\\n'\)/.splitlines()/g"
2012-11-03 21:25:11 -07:00
Daniel Miller
1957700161 Add "file.patch" state function 2012-10-18 12:23:47 -04:00
Daniel Miller
3a68a85a9b Add "file.patch" module function 2012-10-18 12:20:39 -04:00
Pedro Algarvio
ac1fe9810a Point hosts.file and aliases.file to the new tests temporary dir. 2012-10-05 07:10:53 +01:00
Pedro Algarvio
85c6664538 Fix running tests using python setup.py tests. I was deleting it too soon and not re-creating it. Increase tests verbosity on travis-ci. 2012-10-05 02:45:35 +01: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
ce0c8832a8 Minor PEP-8 changes. 2012-09-07 22:14:38 +01:00
Pedro Algarvio
71327e4ff7 Also allow skipping the tests on the syndic. Refs #1935. 2012-09-07 20:24:35 +01:00
Pedro Algarvio
5b4d462413 Also skip a run_function test-case in case the minion does not reply. Refs #1935. 2012-09-07 20:03:44 +01:00
Pedro Algarvio
6e9b2810ee Reduce requirements to generate keys.
The generation of keys does not involve all the checks required to accept/deny/list keys. This code change allows:
 * regular users to generate keys
 * `/etc/salt` and `/var/log/salt` not to exist or not to be readable by the current user

It also does not check for a running master. We have now lowered the requirements to run this script just for generating keys.
2012-09-05 22:31:12 +01:00
Pedro Algarvio
accb15d6ee Add tests for saltstack/salt#1900
* Test both master and minion events firing
 * Allow targeting the minions in `tests.integration.ModuleCase.run_function()`
 * The above item allows to also test events firing using `tcp` as `ipc_mode` which is being used by the tests `sub_minion`
2012-09-01 07:29:06 +01:00
Pedro Algarvio
71c842a896 Allow skipping random failing tests saltstack/salt#1935 2012-09-01 05:20:53 +01:00
Pedro Algarvio
e32faa4a28 Fix salt-call bug with default outputter.
* `salt-call` default outputter returned from `salt.output.get_printout()` was `None` and `None` isn't callable neither outputs anything useful. In this case, the fault Outputter  should be used.
* `get_printout()` also tested for `txt_out` which now is, in the cleaned up parsers, `text_out`. Fixed.
2012-08-13 07:10:42 +01:00
Pedro Algarvio
2faada54d3 Fix the too many open file descriptor issues on 2.6 while running tests. 2012-08-08 09:04:52 +01:00
Pedro Algarvio
2bf0187ae5 Don't close stderr if it's not being used. 2012-08-08 08:18:45 +01:00
Pedro Algarvio
bbfa0b939b One more try travis. 2012-08-08 01:35:36 +01:00
Pedro Algarvio
12007c23a3 Let's see if travis stops failing on 2.6 with "filedescriptor out of range in select()" 2012-08-08 01:21:16 +01:00
Pedro Algarvio
ac1ee79fa6 Cleanup the salt-run(salt.cli.SaltRun) binary parser.
Reused the timeout mix-in. All cli tools parsers also reuse the config mixin.
This commit finishes cleaning up the cli tool parsers.
2012-08-04 23:25:37 +01:00
Pedro Algarvio
060f33a15a Cleanup the salt-key(salt.cli.SaltKey) binary parser.
Reused the output options and logging setup mix-ins.

Fixed a bug introduced in previous commit on `salt.utils.parsers.SaltCPOptionParser._mixin_after_parsed()`, function does not accept any arguments.
2012-08-04 22:55:15 +01:00
Pedro Algarvio
f5aad4f8e2 Cleanup the salt-cp(salt.cli.SaltCP) binary parser.
For this, the timeout mix-in and both the target and output parser group mix-ins were re-used. Way less code and logic to keep track of.
Added a simple test for this binary too.
2012-08-04 22:28:51 +01:00
Pedro Algarvio
b582e40ff1 Cleanup the salt(salt.cli.SaltCMD) binary parser.
* Created 2 mix-ins as option groups, the output options and the target options. This will allow adding some explanatory text besides separating these options from the parser's main options.
* All options on the parser, including the grouped options are now merged to the loaded configuration which will latter get passed on.
* Also created the timeout mix-in which will be used in other binaries.
2012-08-04 22:08:06 +01:00
Pedro Algarvio
d776705e49 Parsers(master, minion, syndic) cleanup code.
Moved the minion, master and syndic parsers to use mixins to clean up, reuse, and automate some of the required procedures.
2012-08-04 19:58:32 +01:00
Roman Imankulov
bc1650a085 Add "mockbin" directory and a fake "su" wrapper for tests
While performing integration tests, the "mockbin" directory is
inserted in the beginning of the $PATH environment variable.

This effectively means that every file placed in this directory will be
executed instead of real one from the system, which opens up the
opportunity to write more complex integration tests.

At the time the only wrapper for "su" command (used in "cmdmod") is
placed there.
2012-07-26 22:14:00 +06:00
Roman Imankulov
bb0ed1a3a7 Tests cleanup
Defined "integration.run_tests()" function which can be used to execute
a particular integration test case. Existing bolerplate code in modules
and states tests is replaced with following lines:

    if __name__ == '__main__':
        from integration import run_tests
        run_tests(TestCaseName)

Typical usecase could look like this:

    python integration/modules/pip.py --no-clean -vv
2012-07-20 12:25:08 +06: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
Intchanter
f663dd2c46 Merge branch 'develop' of https://github.com/saltstack/salt into develop
Conflicts:
	salt/states/network.py
	setup.py
	tests/integration/__init__.py
2012-07-08 22:50:12 -06:00
Thomas S Hatch
e446a306c7 Add sock_dir verification to tests 2012-07-07 22:11:36 -06:00
Thomas S Hatch
7f034cf6ba See if pushing the timeout to insane levels makes travis stop failing 2012-07-05 20:17:04 -06:00
Intchanter
3c05a3ee78 Merge branch 'develop' of https://github.com/saltstack/salt into develop
Conflicts:
	tests/integration/modules/grains.py
	tests/integration/states/host.py
	tests/unit/utils/find_test.py
2012-07-04 18:29:13 -06:00
Thomas S Hatch
ede600a734 Merge pull request #1532 from akoumjian/develop
Fix for minion KeyError 1523
2012-06-30 14:27:40 -07:00
Alec Koumjian
40781ea0ae Fix for minion KeyError 1523 2012-06-30 14:25:14 -07:00
Dan Colish
c5cdb366dc Fix test.integration.states.host. Make master_config and minion_config a property to keep semantics consistent 2012-06-30 13:54:23 -07:00
Intchanter
a1433ef5ec PEP8 fixes for tests 2012-06-30 14:10:34 -06:00
Dan Colish
edfb3d2560 Merge branch 'develop' of git://github.com/saltstack/salt into develop
Conflicts:
	tests/unit/utils/find_test.py
2012-06-30 12:46:04 -07:00
Dan Colish
78d16a28f0 Move tmp hosts file management to test case which requires it. Fix
test.unit.utils.find_test on OSX
2012-06-30 12:20:53 -07:00
Thomas S Hatch
65d8cb4e59 Merge pull request #1521 from dcolish/develop
Fix host file setup and fix tests.integration.states.host
2012-06-30 12:00:05 -07:00
Dan Colish
f79b6e5ea0 Fix host file setup and fix tests.integration.states.host 2012-06-30 11:47:48 -07:00
Baiju Muthukadan
f9e9e32eaf The pwd & grp modules are only available for unix 2012-06-23 11:47:53 +02:00
Thomas S Hatch
f3c7b5be5f Fix path loading for shell tests 2012-06-05 17:04:28 -06:00
Thomas S Hatch
400a429502 Add user to integration verify_env 2012-06-02 23:17:52 -06:00
L.C. Rees
cdb5e89631 - exploit how 'iterkeys' is default iterator for dict
- use values()

- pep8
2012-06-01 13:06:43 -06:00
Baiju Muthukadan
91ce3a7ec9 cleanup temp directories created by tests 2012-05-31 16:13:03 +05:30
Baiju Muthukadan
24bb4ea4e0 Fix PEP8 warnings for test cases 2012-05-29 22:10:20 +05:30
Thomas S Hatch
aed4f593e0 Add runner test interface 2012-05-27 21:00:10 -06:00
Thomas S Hatch
5c09aa3778 Fix docstrings in shellCase 2012-05-23 08:14:16 -06:00
Thomas S Hatch
c9cddd2245 Add second minion to tests 2012-05-23 08:04:38 -06:00
Thomas S Hatch
26bcb2a4cf Add state_result method to ModuleCase
This makes getting the result field out of the return from run_state
easier
2012-05-14 23:43:16 -06:00
Thomas S Hatch
2ae38748d4 add check when cleaning integration temp files 2012-05-12 22:36:46 -06:00
Thomas S Hatch
97966f521a Add state functions to integration tests 2012-05-12 22:27:30 -06:00
Thomas S Hatch
7f574abba1 Add run_state function to ModuleCase 2012-05-12 20:40:28 -06:00
Jeff Schroeder
81fbdc1249 Properly use os.path.join in some integration tests 2012-05-09 21:36:20 -07:00
Thomas S Hatch
242d554441 Add initial tests for the salt-run command 2012-04-21 18:04:50 -06:00
Thomas S Hatch
5d75091788 Add run_salt and run_run to ShellCase 2012-04-21 17:52:29 -06:00
Thomas S Hatch
e301fee420 Add shell tests and shellCase to test structure 2012-04-21 17:27:59 -06:00
Thomas S Hatch
788eeaa313 Initial addition of CLITest interface 2012-04-21 16:58:03 -06:00
Thomas S Hatch
24a9d3cea1 Add backend for initial ext_pillar tests 2012-04-08 21:31:08 -06:00
Thomas S Hatch
4fe889434f Add cleaning to the integration module 2012-04-03 23:14:26 -06:00
Thomas S Hatch
2d81528eaa Add file_roots config to tests 2012-03-29 16:51:56 -06:00
Thomas S Hatch
6dadf88000 Add pillar data to tests 2012-03-29 16:19:19 -06:00
Thomas S Hatch
d1dee6d4e3 remove old master process fix 2012-03-29 15:41:32 -06:00
Thomas S Hatch
d643db9154 remove misconfigured file_roots lines 2012-03-29 09:37:11 -06:00
Thomas S Hatch
53befac5e8 Add a syndic, syndic master and finish synndic tests 2012-03-29 01:03:37 -06:00
Thomas S Hatch
9d0f49e2bf Add a SyndicCase for testing syndic functions 2012-03-28 22:25:59 -06:00
Thomas S Hatch
f06ea9335d Update tests to run an extra master and a syndic 2012-03-28 22:14:31 -06:00
Thomas S Hatch
7d005f9b50 clean up files before running tests 2012-03-28 00:10:13 -06:00
Thomas S Hatch
8714418920 Wrap chack in try/except block 2012-03-26 15:02:48 -06:00
Dan Colish
6f5b6a63f7 Fix integration tests on osx 2012-03-08 23:47:34 -08:00
Dan Colish
56a835a5c6 Move utility functions into utils 2012-03-08 20:26:11 -08:00
Eivind Uggedal
35ea9ed02d Kill all child processes of the test master daemon after each test run. 2012-02-20 13:22:02 +01: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