Commit Graph

3724 Commits

Author SHA1 Message Date
Pedro Algarvio
0c61c151c3
Fix state logic 2017-04-05 02:07:54 +01:00
Pedro Algarvio
de5fdc6ba8
Purge the account 2017-04-05 00:51:35 +01:00
Pedro Algarvio
cd1f7ba629
Let's use the system temp dir as it was to see if it fixes the test failure 2017-04-05 00:34:39 +01:00
Pedro Algarvio
7b713d9256
Use the more portable helper skip_if_not_root. 2017-04-04 18:58:21 +01:00
Pedro Algarvio
dcf0a55daf
Use the test run temporary path, not the system temporary path 2017-04-04 18:58:21 +01:00
Pedro Algarvio
9bbfd6605c
Fix state files temporary path 2017-04-04 18:58:21 +01:00
Pedro Algarvio
61003bca0a
Take care of resource leakage on tests 2017-04-04 18:58:20 +01:00
Pedro Algarvio
86536e64c5
Make sure files are closed 2017-04-04 18:58:20 +01:00
Pedro Algarvio
2ee6d5d589
Import from the original modules not tests.integration 2017-04-04 18:58:19 +01:00
Pedro Algarvio
6a638620ba
Move base test case modules to tests.support.case 2017-04-04 18:04:39 +01:00
Pedro Algarvio
9af2ca8823
No need to load all modules docs.
This should reduce memory usage as well as speeding up the decorator
2017-04-04 18:04:38 +01:00
Pedro Algarvio
785698d2ce
Import for the original module 2017-04-04 18:04:38 +01:00
Pedro Algarvio
b94992f544
Some more RUNTIME_CONFIGS and RUNTIME_VARS fixes 2017-04-04 18:04:38 +01:00
Pedro Algarvio
e163a747f1
Minor import fixes 2017-04-04 17:29:34 +01:00
Pedro Algarvio
8031ac0209
Move mixins to tests.support.mixins.
The adapted config mixin get config methods are not static methods
2017-04-04 17:29:34 +01:00
Mike Place
6056ee302a Merge pull request #40339 from s0undt3ch/features/py3-pt2
[WIP] Move unit tests which were in integration tests - More py3 and mocking fixes
2017-04-04 10:21:46 -06:00
Mike Place
d254b96498 Merge pull request #40471 from tonybaloney/libcloud_dns_kwargs
Update to libcloud_dns module to allow custom kwargs for DNS drivers
2017-04-04 10:12:44 -06:00
Anthony Shaw
8c74d3df89 Update test_libcloud_dns.py
add absolute imports
2017-04-04 10:57:32 +10:00
rallytime
ede4c28887 Group checks for failhard setting in () in state.check_failhard function
Fixes #38683

When two states combine the `require`, `failhard`, and `order` options,
the `order` option should be ignored because `require` is present. Then
the `failhard` option should make the state run fail.

The check for "failhard" in the `check_failhard` function in the state
compiler was too broad. We want "failhard" to be true AND tag to be in
the `running` dict. Without the parens around the first OR statement,
we were bypassing the AND requirement because failhard was found.

Since the second state's tag was not found in the running dict, the state
run stacktraces on a KeyError.
2017-04-03 14:41:54 -06:00
Pedro Algarvio
863d8d453f
Ignore the unimplemented abstract method 2017-04-01 23:23:50 +01:00
Pedro Algarvio
f5c36f0048
Integration tests should not use the temporary config 2017-04-01 18:33:28 +01:00
Pedro Algarvio
26e60e825c
Allow creating a temporary configuration to be used for a single test 2017-04-01 14:25:55 +01:00
Pedro Algarvio
9a11538b54
Stop using deprecated TestCase methods 2017-04-01 14:22:57 +01:00
Pedro Algarvio
fd6d031804
We now sync all on minion connect 2017-04-01 14:22:56 +01:00
Pedro Algarvio
5950c1dd53
Minor logic fix 2017-04-01 14:22:55 +01:00
Pedro Algarvio
d86dbf466a
Use tests.support.unit instead 2017-04-01 14:22:55 +01:00
Pedro Algarvio
104f7a71f2
Why do need the system grains here?! This is an expensive call. 2017-04-01 14:22:55 +01:00
Pedro Algarvio
f9b58aa2e2
This is not an integration test. Skip test.
Skipping tests since I have no clue what is supposed to be tested here
with that `raise Exception(ret)` at the end.
2017-04-01 14:22:53 +01:00
Pedro Algarvio
94c7df78ed
Skip tests on required missing libs 2017-04-01 14:22:53 +01:00
Pedro Algarvio
a013f792c6
We actually need to fix the pip state to recognize new/deprecated options 2017-04-01 14:22:52 +01:00
Pedro Algarvio
22c753afba
Disable pip wheel usage for this test.
The pip cache dir will be owned by root and not the user created.
Revisit this issue ASAP.
2017-04-01 14:22:52 +01:00
Pedro Algarvio
0bf7684b8c
Make the option properties available in the config mixin instead 2017-04-01 14:22:51 +01:00
Pedro Algarvio
d05028e88c
These are not integration tests 2017-04-01 14:22:51 +01:00
Anthony Shaw
7ae7b2574a
add utf8 header 2017-04-01 14:05:28 +11:00
Anthony Shaw
9db623ada2
py3 update and lint fixes 2017-04-01 10:14:29 +11:00
Anthony Shaw
c2681db9a4
commit fix and double check in integration test 2017-04-01 09:25:01 +11:00
Anthony Shaw
eb8ab0d75a
add tests to show broken functionlity reported in bug report 2017-04-01 09:21:25 +11:00
Joseph Hall
e24f89366a Use a slightly more specific bank name 2017-03-31 15:21:26 -06:00
Joseph Hall
3e84d1476a Add cache.store to the runners 2017-03-31 15:16:36 -06:00
Mike Place
d0ed032364 Merge pull request #40441 from Ch3LL/add_vmware_cloud_tests
Add vmware cloud tests
2017-03-31 14:06:25 -06:00
Ch3LL
89d1f3943d remove unnecessary try blocks 2017-03-31 09:46:34 -06:00
Ch3LL
5cd34a9083 finish the tests 2017-03-30 15:57:53 -06:00
rallytime
607f3e53e8 Add the @flaky decorator to the reactor integration test
This test occassionally fails on the develop branch and I cannot
reproduce it. @cachedout recommended to add the flaky decorator
to the test until we can circle back around and look at this more
closely.
2017-03-30 10:42:26 -06:00
Ch3LL
aa95b99608 add snapshot and fix instance test 2017-03-29 17:41:47 -06:00
Nicole Thomas
d0182ac3ef Merge pull request #40375 from terminalmage/pr-39838
Cleanup and resubmit of PR #39838 against develop branch
2017-03-29 10:34:43 -06:00
rallytime
4fbe9f18b8 Use "self.archive_tar_source" instead of undefined ARCHIVE_TAR_SOURCE global 2017-03-29 09:11:46 -06:00
rallytime
52edbffc85 Merge branch '2016.11' into 'develop'
Conflicts:
  - doc/ref/cache/all/index.rst
  - doc/topics/cache/index.rst
  - salt/cache/localfs.py
  - salt/modules/boto_rds.py
  - salt/roster/cloud.py
  - salt/states/virtualenv_mod.py
  - tests/integration/states/test_archive.py
  - tests/unit/modules/test_dockermod.py
  - tests/unit/states/dockerng_test.py
2017-03-28 17:09:30 -06:00
Ch3LL
cbb6eca2cf initial commit for vmware cloud test 2017-03-28 16:23:59 -06:00
Narendra Ingale
4ac73bb55c Added test for issue 39191. 2017-03-28 14:55:05 -05:00
Pedro Algarvio
6dcf7552a7
Py3 fixes. Tests are not destructive. 2017-03-28 19:04:04 +01:00
Pedro Algarvio
ff8cb0455f
Account for a timeout when resolving the future 2017-03-28 19:00:54 +01:00
Pedro Algarvio
6f79dd6af3
Not an integration test 2017-03-28 19:00:51 +01:00
Pedro Algarvio
9731451a58
Use tests.support.unit instead 2017-03-28 19:00:50 +01:00
Pedro Algarvio
7219a35656
These are not integration tests 2017-03-28 19:00:50 +01:00
Ch3LL
4c0ca2a987 remove unnecessary sls file 2017-03-27 12:59:52 -06:00
Ch3LL
aae2a30eda add require_in for an entire sls test 2017-03-27 12:47:36 -06:00
Ch3LL
8b21b4c8bb add use_cmd_unzip test 2017-03-27 10:32:27 -06:00
Nicole Thomas
1d66961ce7 Merge pull request #40242 from rallytime/merge-develop
[develop] Merge forward from 2016.11 to develop
2017-03-23 13:31:39 -06:00
rallytime
455783a2ef Add ImportError to exception instead of bare "except"
Fixes lint error on develop.
2017-03-23 09:01:51 -06:00
Pedro Algarvio
415dcc1a99 Merge pull request #40234 from terminalmage/py3-tests
More PY3 fixes in test suite
2017-03-23 09:15:18 +00:00
rallytime
235a768872 Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/returners/influxdb_return.py
  - salt/states/dockerng.py
  - salt/utils/schedule.py
  - tests/unit/modules/test_docker.py
  - tests/unit/states/dockerng_test.py
  - tests/unit/utils/test_schedule.py
2017-03-22 17:44:08 -06:00
Erik Johnson
1cdf5ea737 PY3 compatibility fixes to netapi tests 2017-03-22 16:09:56 -05:00
Erik Johnson
20724839a9 Fix for running just the grains tests
The -G/--grains/--grains-tests option was being ignored because a suite
was not defined for it. This adds the option, and also adds a dunder
init to satisfy the test parser.
2017-03-22 14:11:22 -05:00
Erik Johnson
5ad476936d Overhaul Docker support
This does the following:

- Splits states for container/volume/image/network management into four
  separate state modules.

- Preserves backward compatibility by making ``docker.image_present``
  invoke ``docker_image.present``, etc.

- Changes how Salt detects that a container needs to be replaced.
  Instead of comparing each passed argument to the named container's
  configuration, it creates a temporary container, and compares that
  container to the named container. If the two differ, then the older
  container is removed, and the new one is renamed and started, becoming
  the named container.

- Removes the unit tests for container management and replaces them with
  integration tests.

- Adds unit tests for the new salt.utils.docker
2017-03-21 16:53:19 -05:00
rallytime
0ba773d86b Skip flaky test for now 2017-03-21 15:47:20 -06:00
rallytime
a6a7538fe4 Pylint fix 2017-03-21 13:39:34 -06:00
rallytime
2222e1cae9 Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/modules/napalm_network.py
  - tests/integration/states/test_archive.py
  - tests/integration/states/test_file.py
  - tests/unit/modules/test_docker.py
2017-03-21 10:19:52 -06:00
rallytime
dd193cc740 Make sure the tornado web server is stopped at the end of the test class
The tornado web aplication that was set up in the archive tests, and then
duplicated in the remote file integration tests, starts the web server,
but never stops it. This creates a stacktrace that hangs the other test
file that attempts to start the web server.

The Application class has a `listen()` function, but not a `stop()` function.
The change uses the `HTTPServer` class to set up the listening server, but
also has the necessary `stop()` function. (The `listen()` function from the
`Application` class just calls out to the `HTTPServer`'s `listen()` function,
so this works nicely here.)

We can then call the `stop()` function in the `tearDownClass` class method.

I also removed some duplicate STATE_DIR definitions.
2017-03-20 13:08:17 -06:00
Nicole Thomas
201846ff01 Merge pull request #40129 from terminalmage/py3-tests
Python 3 compatibility fixes
2017-03-17 17:49:26 -06:00
Erik Johnson
8676f7d14a Add pip3 to list of commands in which_bin test 2017-03-16 22:07:52 -05:00
Nicole Thomas
d64dee46bd Merge pull request #40061 from rallytime/merge-develop
[develop] Merge forward from 2016.11 to develop
2017-03-16 11:16:52 -06:00
Erik Johnson
3923305141 Sort list of minions in batch to make tests consistent 2017-03-16 12:00:38 -05:00
Erik Johnson
5b71db29d5 Use user.present/absent states to manage user in virtualenv test 2017-03-15 17:18:25 -05:00
Erik Johnson
eb09901f36 Simplify the user state integration tests
Put the skipIf and the destructiveTest decorators on the class instead
of each function. Also added a user.absent to the tearDown to reduce
code duplication.
2017-03-15 17:16:34 -05:00
Erik Johnson
66596c6d75 Fail test if sudo is missing 2017-03-15 17:15:56 -05:00
Erik Johnson
9b3890b5f2 Fix network test for cases where no network settings are configured
This allows the test to pass inside a docker container where the
networking is managed by docker and not by the OS' network mangagment
daemon.
2017-03-15 17:14:29 -05:00
rallytime
148df32604 Merge branch '2016.11' into 'develop'
No conflicts.
2017-03-15 14:52:07 -06:00
Mike Place
5734e2b0a8 Merge pull request #40027 from terminalmage/py3-tests
Update git state integration tests for PY3 compatibility
2017-03-15 13:40:55 -06:00
Erik Johnson
ef110baa99 Update git state integration tests for PY3 compatibility
Python 3 didn't like some of the stuff that we were doing with
``subprocess.check_call()`` in these tests, so to fix this I have redone
that stuff with calls to functions in the git execution module. In order
to avoid problems with running tests with no global gitconfig, I needed
to add an argument called ``git_opts`` to most of the funcs in the git
execution module (well I didn't *need* to do it to most of the funcs, it
just seemed like we shouldn't only be supporting this argument in a
single function).

This new ``git_opts`` argument is specifically for passing arguments to
the git command itself (not the subcommand). For example, ``git -c
user.name="Foo Bar" commit .....`` is different than running ``git
commit -c user.name="Foo Bar" .....``, because the ``commit`` subcommand
for git also accepts ``-c``.
2017-03-14 18:07:06 -05:00
rallytime
fe4a208569 Add flaky decorator to flaky rest_tornado test 2017-03-14 16:30:54 -06:00
rallytime
029f28bbd5 Merge branch '2016.3' into '2016.11'
Conflicts:
  - salt/modules/cmdmod.py
2017-03-14 15:44:38 -06:00
Nicole Thomas
0ec81a4cde Fixup a syntax error 2017-03-14 11:15:02 -06:00
Nicole Thomas
2714676a13 Merge pull request #39746 from terminalmage/pathutils
Add salt.utils.path
2017-03-14 11:00:34 -06:00
Erik Johnson
5d84b40bfd Attempt to fix failing grains tests in 2016.3
The tearDown appears to only be removing the grain if it matches a
specific value. This may be leading to the grain value not being blank
at the time the next test is run.

Instead of only deleting the grain if it matches a specific value,
instead delete all items from that grain to ensure that it is empty for
the next test.
2017-03-14 11:25:15 -05:00
Pedro Algarvio
410b583a63
The port attribute definition must come first 2017-03-12 18:05:30 +00:00
Pedro Algarvio
992a8c7294
Don't hardcode the webserver port number 2017-03-11 16:00:28 +00:00
Erik Johnson
d2206d1a94 Changes to imports to comport with test suite changes in develop 2017-03-10 11:05:02 -06:00
Erik Johnson
db5208b65a Set up special file_roots for windows symlink test 2017-03-10 11:05:02 -06:00
Erik Johnson
22d5689eb0 Clarify reason for skipping test 2017-03-10 11:05:02 -06:00
twangboy
05cca8b72d Add filerserver test to whitelist, skip symlink test 2017-03-10 11:05:02 -06:00
Mike Place
bbf4eacbba Merge pull request #39930 from s0undt3ch/features/py3
Moar Py3 and a fix for #38121
2017-03-09 17:25:01 -07:00
rallytime
4a52cca926 Pylint fixes 2017-03-09 14:55:33 -07:00
Pedro Algarvio
4627c4ea6d Code cleanup and make sure the beacons config file is deleted after testing
Conflicts:
  - tests/integration/modules/beacons.py
2017-03-09 13:35:16 -07:00
rallytime
e7fa367548 [develop] Fix pylint error 2017-03-09 13:04:51 -07:00
Pedro Algarvio
50e51b5b9d The beacons configuration is now a list. Handle it! 2017-03-09 13:00:41 -07:00
Pedro Algarvio
680bbec79f
The beacons configuration is now a list. Handle it! 2017-03-09 19:31:13 +00:00
Pedro Algarvio
dd53f055b9
Code cleanup and make sure the beacons config file is deleted after testing 2017-03-09 19:29:16 +00:00
Pedro Algarvio
42065350f1
Catch and handle tornado.iostream.StreamClosedError exceptions 2017-03-09 19:29:16 +00:00
Nicole Thomas
2f0f7cd224 Merge pull request #39897 from rallytime/merge-develop
[develop] Merge forward from 2016.11 to develop
2017-03-09 09:03:46 -07:00
rallytime
c6cfac7678 Pylint fix 2017-03-08 16:24:03 -07:00
Pedro Algarvio
51c5558b32
This should no longer hang 2017-03-08 20:43:36 +00:00
Pedro Algarvio
0b41b92d7d
Use salt.utils.versions instead of distutils.version 2017-03-08 19:22:33 +00:00
Pedro Algarvio
06c063a609
Test assertion cannot be done in the callback context 2017-03-08 18:34:34 +00:00
Pedro Algarvio
b58241648a
Use the tests support paths module 2017-03-08 18:34:34 +00:00
Pedro Algarvio
7fffd93b50
Don't pollute the repo tests state tree 2017-03-08 18:34:33 +00:00
Pedro Algarvio
b391a4eb5b
Supervisord does not work under Python 3 2017-03-08 18:34:33 +00:00
Pedro Algarvio
e2e303e724
Minor changes to paths 2017-03-08 18:34:32 +00:00
Pedro Algarvio
712b81e0c1
supervisor does not run against py3. Use pep8 for the tests. 2017-03-08 18:34:32 +00:00
Pedro Algarvio
07d0a5ed20
Cleanup after ourselves 2017-03-08 18:34:32 +00:00
Pedro Algarvio
c436d9f2f6
This no longer applies. 2017-03-08 18:34:31 +00:00
rallytime
4fc9b5484b Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/client/ssh/__init__.py
  - salt/pillar/makostack.py
  - tests/integration/client/test_runner.py
  - tests/integration/states/test_file.py
2017-03-08 09:04:26 -07:00
Pedro Algarvio
7dc6b64689
No need to call .keys() when iterating a dictionary 2017-03-06 14:42:31 +00:00
Pedro Algarvio
ffec7dc299
Lint fixes 2017-03-06 14:35:16 +00:00
Mike Place
3341e4e202 Merge pull request #39492 from whiteinge/full_return-arg
Add full_return arg to LocalClient and RunnerClient
2017-03-04 09:14:17 -07:00
Mike Place
c10abec6d3 Merge pull request #39797 from twangboy/win_fix_test_git
Fix test_worktree_add_rm test for Windows
2017-03-04 09:12:12 -07:00
Pedro Algarvio
adacf4cc28
Don't expect any ordering from sets!!!!! 2017-03-03 18:31:11 +00:00
twangboy
2a6e61a42e Add encode for Py3 compatability 2017-03-03 10:53:12 -07:00
twangboy
54891a57b1 Fix type in second worktree_path 2017-03-03 10:24:28 -07:00
Pedro Algarvio
e180f1e913
Normalize the mode 2017-03-03 15:15:13 +00:00
twangboy
25938ebc8e Fix test_add_user_to_group for Windows 2017-03-02 15:40:22 -07:00
twangboy
ef53ec7efe Fix test_worktree_add_rm test for Windows 2017-03-02 14:37:53 -07:00
Pedro Algarvio
5b5a6ebbe8
Minor code cleanup 2017-03-02 19:58:10 +00:00
Pedro Algarvio
5e3309d5f8
Let's use the skip_if_not_root decorator instead 2017-03-02 19:58:10 +00:00
Pedro Algarvio
2f3d0b0b81
These are not destructive tests 2017-03-02 19:58:10 +00:00
Pedro Algarvio
80002276c2
These tests are not destructive 2017-03-02 19:58:10 +00:00
Pedro Algarvio
519a3f689e
These tests are not destructive 2017-03-02 19:56:06 +00:00
Pedro Algarvio
31df825a1c
Set the ssh_log_file relative 2017-03-02 19:56:06 +00:00
Pedro Algarvio
fc501e93ac
Remove deprecated options 2017-03-02 19:56:05 +00:00
Pedro Algarvio
7b4d849540
Moved some test supporting modules to tests/support
Previously they were in tests/utils which also had test case modules.
2017-03-02 19:56:05 +00:00
Pedro Algarvio
979090d225
We need bytes under Py3 to compute the hash 2017-03-02 19:56:04 +00:00
Seth House
c25ffd5d2e Add LocalClient and RunnerClient full_return tests 2017-03-02 11:46:27 -07:00
Mike Place
9f70ad7164 Merge pull request #39472 from whiteinge/_reformat_low-update
Update _reformat_low to not run kwarg dicts through parse_input
2017-03-02 10:46:19 -07:00
Shane Lee
eb6d317289 Merge branch 'develop' into win_fix_renderers_tests 2017-03-02 10:29:36 -07:00
Mike Place
555f1473f6 Merge pull request #39788 from cachedout/disable_api_test
Disable one API test that is flaky
2017-03-02 09:17:31 -07:00
Mike Place
523e377b33
Disable one API test that is flaky 2017-03-02 09:16:43 -07:00
twangboy
ad654abc20 Clarify the reason for the while loop 2017-03-01 14:00:06 -07:00
twangboy
25b6d221c4 Fix ext_grains and ext_modules tests for Windows 2017-03-01 14:00:06 -07:00
Mike Place
517842a339 Merge pull request #39696 from twangboy/win_fix_returners_tests
Fix job cache tests, add librato return tests
2017-03-01 10:24:59 -07:00
Erik Johnson
64db0b8563 Add integration tests for remote file sources 2017-03-01 10:57:06 -06:00
Mike Place
33e40c94e4
Fix docs test for #39753 2017-03-01 09:06:17 -07:00
Pedro Algarvio
a78c037a5f
PyLint, no its not a repeated keyword! 2017-03-01 01:33:08 +00:00
Pedro Algarvio
4f425e596b
Don't assert, just fail 2017-03-01 01:33:08 +00:00
Pedro Algarvio
bb60e5010c
Redundant 2017-03-01 01:33:08 +00:00
Pedro Algarvio
40a64191a1
Absolute imports and A LOT of code cleanup. 2017-03-01 01:33:07 +00:00
twangboy
037dfb3ece Fix lint error 2017-02-28 15:56:06 -07:00
Pedro Algarvio
3beb3fb801
Move whatever we need from salttesting to salt.
Let's drop the salttesting dependency cycle.
2017-02-28 22:52:49 +00:00
Pedro Algarvio
08804932c3
Using pytest start_daemon 2017-02-28 22:52:48 +00:00
Pedro Algarvio
1daa2e24cd
Moved some test supporting modules to tests/support
Previously they were in tests/utils which also had test case modules.
2017-02-28 22:52:48 +00:00
Pedro Algarvio
7278a6c868
You need to pass a list. How did this ever pass?! 2017-02-28 22:52:48 +00:00
Mike Place
a73a5f9c1f Merge pull request #39646 from terminalmage/zh921
Handle deprecation of passing string args to load_args_and_kwargs
2017-02-28 14:59:33 -07:00
Nicole Thomas
8809d33674 Merge pull request #39701 from rallytime/merge-develop
[develop] Merge forward from 2016.11 to develop
2017-02-28 12:50:10 -07:00
Erik Johnson
7b958fb389 Add options to skip fileserver/git_pillar preflight checks
This commit also modifies the master config for the test suite to use
this new option, so that a missing GitPython/Pygit2 will not crash the
test suite's master. This should make the test suite run smoother by
only negatively impacting those tests which require the pillar data
provided by git_pillar, when a valid provider is not available.
2017-02-27 20:21:53 -06:00
rallytime
b4366103a6 Merge branch '2016.11' into 'develop'
Conflicts:
  - .pylintrc
  - .testing.pylintrc
  - salt/fileclient.py
  - salt/minion.py
  - salt/modules/docker.py
  - salt/modules/win_iis.py
  - salt/states/docker.py
  - salt/states/file.py
  - salt/utils/__init__.py
  - tests/integration/modules/test_sysmod.py
2017-02-27 15:11:37 -07:00
twangboy
b434523a51 Fix job cache tests, add librato return tests 2017-02-27 13:26:42 -07:00
Mike Place
b6dea5efb9
Correct small bug with docs test. 2017-02-27 09:59:25 -07:00
Erik Johnson
5a3c099e4f Rewrite the tests_valid_docs test
This uses a function in the runtests_helpers custom module to perform
all the logic, and only returns what failed the test. This saves us from
having to return the entire contents of sys.doc (as well as log all of
the function calls), and also removes the need to run sys.doc in batches
to get around the "max message size" issue.
2017-02-26 12:21:00 -06:00
Erik Johnson
9f6d08d606 Update tests which used string kwargs 2017-02-25 20:11:06 -06:00
Erik Johnson
503216e5c5 Add warnings to test suite when requisites are not installed
Since we have recently changed the test suite to use new-style
git_pillar, GitPython or Pygit2 is a hard dep for the test suite.

Additionally, when starting up the daemons, if no IPv4 addresses can be
detected (which can happen on docker containers which tend to have
minimal installs) then the suite will time out trying to detect whether
or not the minion/sub-minion has connected, which while it does not
prove fatal for the test suite, it does make the suite take several
minutes to start up and begin running tests. This is because the test
suite invokes the manage.joined runner, which in turn invokes
salt.utils.network.ip_addrs() to get the system's IP addresses to match
against those which are connected. If it can't get the IP addresses,
then the manage.joined runner returns an empty list, and the test suite
believes that no minions have connected, and the function that
periodically runs manage.joined will eventually time out.

This commit adds messages to the console when no suitable gitfs provider
is installed, and when salt.utils.network.ip_addrs() returns an empty
list, to hopefully prompt the user to install the missing requisites.
2017-02-25 19:49:44 -06:00
Seth House
d11f5381a4 Add RunnerClient test for old/new-style arg/kwarg parsing 2017-02-24 22:40:59 -07:00
Seth House
ec377ab379 Reenable skipped RunnerClient tests
I think these were skipped erroneously or perhaps whatever the problem
was has since been resolved.
2017-02-24 22:40:59 -07:00
twangboy
f43445d3de Fix test_rendering_includes for Windows 2017-02-24 15:28:03 -07:00
twangboy
34659761e8 Add issue number to skipIf 2017-02-24 09:31:47 -07:00
twangboy
e50ae8dd37 Fix wheel tests 2017-02-24 09:31:47 -07:00
Pedro Algarvio
1b84bee06f
Enforce and preserve module loading order.
This is the only way we can have predictable results when overriding,
for example, grains.
2017-02-24 09:11:22 +00:00
Pedro Algarvio
15376697f9
Code cleanup 2017-02-24 00:49:33 +00:00
Pedro Algarvio
8337a164ee
Make sure we have the required library before even calling vb_machine_exists 2017-02-23 23:19:44 +00:00
Pedro Algarvio
fbc2af52fc
Full module path import 2017-02-23 23:19:44 +00:00
Pedro Algarvio
15af4c9728
Test filenames conformity. Adjust for pytest. 2017-02-23 23:19:42 +00:00
Erik Johnson
cbdf905b9f Update test to reflect new state comment 2017-02-23 11:21:33 -06:00
twangboy
db645da0bf Fix fileserver roots tests for Windows 2017-02-22 16:53:27 -07:00
Pedro Algarvio
0b3071ee3a
.iter<items|keys|values>() Py3 compatibility 2017-02-22 10:20:26 +00:00
Erik Johnson
6e24dd85c4 Remove dockerio state/module (moved to salt-contrib) 2017-02-18 21:58:24 -06:00
Mike Place
deba6d2655 Merge pull request #39367 from gtmanfred/develop
add extmod_blacklist to make it easier to remove modules
2017-02-17 16:57:44 -07:00
Pedro Algarvio
2ed05ab399
We really don't need to be root to run these 2017-02-17 20:48:58 +00:00
Mike Place
e85eff4865 Merge pull request #39468 from twangboy/win_git_test_init
Fix test_init for Windows
2017-02-17 09:57:12 -07:00
twangboy
812c857770 Fix test_init for Windows 2017-02-16 16:00:45 -07:00
rallytime
dda39d4e63 Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/minion.py
  - salt/modules/file.py
  - salt/modules/grains.py
  - salt/utils/gitfs.py
2017-02-16 12:18:46 -07:00
Daniel Wallace
d332b33c8a add extmod_blacklist to make it easier to remove modules 2017-02-15 12:47:32 -06:00
rallytime
6d78adbf08 Merge branch '2016.3' into '2016.11'
Conflicts:
  - doc/topics/tutorials/gitfs.rst
  - salt/fileserver/roots.py
  - salt/loader.py
2017-02-15 10:35:02 -07:00
Erik Johnson
4ff13acf8b salt.fileserver.roots: Fix regression in symlink_list (#39409)
A recent PR of mine removed the logic in symlink_list and fell back to
the cached file list generated in _file_lists(). However, this code
dates back from before the fileserver backends' symlink_list() functions
were modified to return a dict mapping links to their destinations.

This fixes the code in _file_lists() so that it returns the correct
data. It also fixes the fact that '.' was showing up in the dir list
produced by _file_lists(), and updates the associated integration test
to include the cachedir in the mocked opts.
2017-02-15 10:06:17 -07:00
Pedro Algarvio
fc59d5e832 Python 3 Fixes (Pt. 2) (#39397)
* Typo in comment

* First convert to string if not already a string. Then to bytes under Py3.

The reason being that jids from the CLI, at least the one fed in
integration.runners.jobs.ManageTest.test_loopup_jid is loaded as an
integer, and, while the Py2 code converts JIDs to strings, under Py3, we
assume JID's are already strings.

* Mark tests which require root permissions to run

* Allow declaring that the function IS a class method.

```
Python 3.5.3 (default, Jan 21 2017, 00:29:12)
[GCC 6.3.1 20170109] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> class Foo:
...     def bar(self):
...         print('bar')
...
>>> import inspect
>>> inspect.ismethod(Foo.bar)
False
>>> inspect.ismethod(Foo().bar)
True
```

On Python 2, `inspect.ismethod` returns `True` for bound and unbound
methods while on Python 3 it only returns `True` for bound methods.
The explicit `is_class_method` is to avoid instantiating the class just
to get the function signature.

* Always decode responses to the Python version native string implementation

* Just compare the objects as matching list.

Asserting same item count doesn't make that much sense.

* Py3 compatibility

* Fix saltnado tests under Py3

* Python 3 compatibility

* Show me the full traceback

* Revert "Convert fileserver data from bytes to strings"

This reverts commit e53972f8c6.

* Revert "Under Py3, we get `bytes` when using the roots backend directly"

This reverts commit 9f73b240c1.

* Convert from bytes to str if not a binary file

* Py3 compatibility fixes.

Convert file contents from bytes to string if not a binary file
2017-02-14 16:20:56 -07:00
Mike Place
868e170b92 Merge pull request #39376 from jmickle/develop
adding librato metrics returner
2017-02-14 11:39:34 -07:00
Mike Place
471baea629 Merge pull request #39381 from cachedout/docs_fix
Docs test fix
2017-02-14 10:53:27 -07:00
Mike Place
89ed6a38f7
Typo 2017-02-13 16:46:53 -07:00
Mike Place
8fbbb781bc
Fix docs test 2017-02-13 16:45:47 -07:00
Jonathan Mickle
ec938e5f73 linter fixes 2017-02-13 15:27:07 -08:00
mephi42
6570392abd Support globbing in sources parameter of salt.modules.archive (#32356)
Add globbing support to tar, zip and rar.
Update tests to show bad return value on error.
2017-02-14 00:02:19 +01:00
Jonathan Mickle
d61865c2bc adding librato metrics returner 2017-02-13 14:18:54 -08:00
Mike Place
dcd9ff471f Merge pull request #39302 from terminalmage/loader-virtual-aliases
Add __virtual_aliases__ feature to the loader
2017-02-13 13:22:02 -07:00
Pedro Algarvio
9f73b240c1
Under Py3, we get bytes when using the roots backend directly 2017-02-13 16:44:30 +00:00
Pedro Algarvio
ff1667c6d6
We really don't need to decode the string prior to writing it to file.
Plus, this also avoids handling Py2 and Py3 differently.
2017-02-13 16:25:09 +00:00
Pedro Algarvio
005f21d3b5
Compare against the normalized mode string 2017-02-13 10:18:58 +00:00
Pedro Algarvio
c1b5606199
Handle bytes vs strings on the file state module tests 2017-02-13 10:18:57 +00:00
Pedro Algarvio
26b17fb044
Make sure the minion sync's modules/states/grains/etc when starting 2017-02-13 10:18:57 +00:00
Pedro Algarvio
7b7133ea25
This test case requires root permissions 2017-02-13 10:18:56 +00:00
Erik Johnson
6ee6874e11 Set time back 1 week instead of up to 36 years in system module tests
This prevents git_pillar certificate errors. Additionally, sometimes
/dev/rtc becomes unresponsive which leads the ``hwclock --compare``
command to spin indefinitely, ultimately causing the entire test run to
fail. This changeset uses a SIGALRM handler to abort the hwclock command
if no output is seen within 3 seconds and try a second time. If it times
out the second time as well, then an error will be logged but it will
not be fatal to the test (or hang it indefinitely).
2017-02-12 23:57:28 -06:00
Erik Johnson
4e577e697d Switch to non-legacy git_pillar syntax in test suite 2017-02-12 15:12:49 -06:00
Nicole Thomas
050b4cc824 Protect hardware clock test comparison better (#39298)
In #39060, some tests were added to check for the hardware clock
getting reset when possible. The test attempted to gate the test
when access to the hardware clock was impossible, but the check
wasn't quite right and caused problems with the resulting tests.

This change makes the `has_settable_hwclock()` function public
in order to make the test gate work correctly. This function
could also be useful at the CLI level.

When running `self.run_function('status._has_settable_hwclock()')`
from the test suite, the return is a string noting that the
function is unavailable. This change allows for the `if not` check
to evaluate the return of the function.
2017-02-10 10:15:25 -07:00
Ch3LL
b3cbc5a408 improve salt-run salt.cmd test 2017-02-10 09:00:12 -07:00
Erik Johnson
954752b5fd Add test for __virtual_aliases__ 2017-02-10 08:48:57 -06:00
Pedro Algarvio
b264114901
Restore full user permissions when failing to delete 2017-02-09 18:06:27 +00:00
Mike Place
bac99d9e72 Merge pull request #39252 from gtmanfred/extmod_whitelist
Allow specifying which modules should be used when running saltutil.sync_*
2017-02-09 10:09:43 -07:00
Erik Johnson
d35c2f810c salt.utils.gitfs: remove dulwich support, make refspecs configurable (#39210)
* Add config params for custom refspecs

* Add exceptions for errors encountered modifying git config

* Make the refspecs a configurable parameter

* Make refspecs a per-remote parameter

* Update master config template to include custom refspecs opts

* Add documentation for new config params

* Update GitFS walkthrough with a section on custom refspecs

* Remove dulwich support from salt.utils.gitfs

Dulwich still lacks important features, including (but not limited to)
the following:

- Lack of the necessary support for checking out a ref needed for
  git_pillar/winrepo support

- No support in its config objects for multivar git config items, making
  it impossible to detect when repos have multiple refspecs set for a
  given git remote

Given this information, and the fact that it trails as a distant third
to Pygit2 and GitPython, Salt will cease to support Dulwich as a git
interface moving forward.

* Excise references to dulwich from documentation

* Add mention of custom refspecs to Nitrogen release notes

* Add gitfs_refspecs to mocked opts in gitfs integration tests

Also remove dulwich from unit tests

* Add information about opts argument not being intended for CLI use
2017-02-09 09:50:45 -07:00
Daniel Wallace
e38c5d296b fix pylint 2017-02-08 18:07:13 -06:00
Daniel Wallace
57ab8dd27b add integration test 2017-02-08 16:08:50 -06:00
Mike Place
7dd7fe3269 Merge pull request #39229 from rallytime/doc-test-fix
Fixup docs that don't have a CLI Example
2017-02-07 14:45:08 -07:00
Mike Place
0f838b2b12 Merge pull request #38621 from terminalmage/pr34442
Add support for wildcard versions in pkg.installed states
2017-02-07 14:41:14 -07:00
rallytime
50b9ac6a6d Fixup docs that don't have a CLI Example
- log functions shouldn't be used at the CLI level: added to allow_failure in test
- Added example for status.proxy_reconnect
2017-02-07 13:40:01 -07:00
Erik Johnson
da7d3ecec0 Add integration test for wildcard versions 2017-02-07 08:54:26 -06:00
Mike Place
c48192beff Merge pull request #38781 from raazvvann/dev/rheghedu/nilrt_ip
Add network module for NILinuxRT: nilrt_ip.py
2017-02-06 12:30:43 -07:00
Mike Place
f8d79076f2 Merge pull request #39013 from terminalmage/zh878
Decryption of values in Pillar SLS files
2017-02-06 12:08:57 -07:00
Erik Johnson
9de08af950 Apply fix from #38705 to 2016.3 branch (#39077)
* Apply fix from #38705 to 2016.3 branch

This is a better fix and covers more use cases than the sudo_user one.

* Remove saltenv param from internal state func call

This was probably redundant in the first place, but since state.sls,
state.highstate, etc. accept a saltenv param and the actual state
functions do not, this results in multiple values passed for the saltenv
param.

Remove this argument and let file.get_managed reference __env__
internally.

* Update archive tests to match 2016.11 branch
2017-02-03 09:35:49 -07:00
Heghedus Razvan
8408789511 Add network module for NILinuxRT: nilrt_ip.py
Connman is the network manager used as backend.
Functionalities:
  - ip.get_interface_details()
  - ip.up(interface)
  - ip.down(interface)
  - ip.set_dhcp_linklocal_all(interface)
  - ip.set_static_all(interface, address, netmask, gateway, domains)
  - ip.build_interface(interface, interface_type, enable, **settings)
  - ip.build_network_settings(**settings)
  - ip.get_network_settings()
  - ip.apply_network_settings(**settings)

Integration test for:
  - ip.enable
  - ip.disable
  - ip.set_dhcp_linklocal_all
  - ip.set_static_all

Signed-off-by: Heghedus Razvan <razvan.heghedus@ni.com>
2017-02-03 14:25:03 +02:00
Erik Johnson
cdf045662f add debug logging for batch vars 2017-02-02 18:06:50 -06:00
Erik Johnson
316e62889a Don't fail test if data is empty
This keeps trimmed output from failing the test. We are still testing
with a specific module lower down in the test, so this doesn't reduce
our test coverage.
2017-02-02 18:06:50 -06:00
Erik Johnson
56e86a6e04 Run test_valid_docs in batches
This test fails often due to being trimmed, thanks to
salt.utils.dicttrim trimming values > max_event_size.

This commit changes this test so that it runs sys.doc twice, ensuring
that the return from sys.doc (for now) is not trimmed.
2017-02-02 18:06:50 -06:00
Erik Johnson
6221fd0573 Add tests for pillar decryption 2017-02-02 18:06:50 -06:00
rallytime
eb61788f87 Merge branch '2016.11' into 'develop'
Conflicts:
  - doc/ref/runners/all/index.rst
  - salt/modules/win_lgpo.py
  - salt/states/dockerio.py
2017-02-01 16:36:45 -07:00
rallytime
a782b00ee1 Merge branch '2016.3' into '2016.11'
Conflicts:
  - salt/cloud/clouds/openstack.py
2017-02-01 13:35:10 -07:00
Mike Place
4ed8085d27 Merge pull request #39060 from harisokanovic/dev/hokanovi/hwclock-sync
system: Update hardware clock on date/time change
2017-02-01 12:22:20 -07:00
Mike Place
cc9b69b6bc Merge pull request #39091 from terminalmage/update-test-valid-docs
Run test_valid_docs in batches
2017-02-01 12:09:04 -07:00
Erik Johnson
d76f0380d0 add debug logging for batch vars 2017-02-01 00:05:21 -06:00
Erik Johnson
b4afea2a25 Don't fail test if data is empty
This keeps trimmed output from failing the test. We are still testing
with a specific module lower down in the test, so this doesn't reduce
our test coverage.
2017-02-01 00:05:21 -06:00
Erik Johnson
909916c78e Run test_valid_docs in batches
This test fails often due to being trimmed, thanks to
salt.utils.dicttrim trimming values > max_event_size.

This commit changes this test so that it runs sys.doc twice, ensuring
that the return from sys.doc (for now) is not trimmed.
2017-02-01 00:05:05 -06:00
Haris Okanovic
c5f832b9e3 system: Update hardware clock on date/time change
Update hardware clock so that date/time changes persist
through reboot.

Add hwclock check to system integration test. Bump tolerance
of _same_times() helper to account for longer run-time of set
operations. Updating hardware rtc's can take more than 2 seconds.

Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Reviewed-by: Sergey Kizunov <sergey.kizunov@ni.com>
Reviewed-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
Reviewed-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
2017-01-31 17:40:40 -06:00
Mike Place
1ccb365945 Merge pull request #39002 from rallytime/fix-38111
Pass win_* options as kwargs when calling file.manage_file
2017-01-31 13:51:39 -07:00
Erik Johnson
bcee3d1ef6 Move fileclient tests to tests/integration/fileserver/fileclient_test.py (#39081)
Being in the root of tests/integration/, these were not being run in
jenkins and would only run if executed manually using the -n flag in
runtests.py.
2017-01-31 13:44:50 -07:00
twangboy
c704eaa175 Fix geteuid stacktrace on Windows 2017-01-30 15:36:08 -07:00
rallytime
43dba1bf78 Skip new managed file state test on Windows 2017-01-30 13:40:25 -07:00
rallytime
8e17c96e02 Write failing test for Issue #38111
Test calls "file.managed" using the "check_cmd" kwarg with the
state provided as a reproducible test case for the issue.
2017-01-27 11:28:54 -07:00
Nicole Thomas
7c93bcbb2a Add one more option to "allow_failure" for doc test (#38998) 2017-01-27 09:43:04 -07:00
rallytime
089ad59b90 Update the vsphere execution module docs to satisfy failing doc test
- Added the "CLI Example:" syntax to function that were missing it
- Added docs to functions missing any docs and CLI examples
- Added to functions to allow_failure in sysmod test as needed
- Also adjusted the ordering of the allow_failure structure to make it
  easier to see which modules/funcitons were included (alphabetize)
2017-01-26 11:56:06 -07:00
rallytime
49f57ba3f1 Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/utils/win_functions.py
2017-01-25 09:59:29 -07:00
Pablo Suárez Hernández
4311b0b6de Increasing timeouts for running integrations tests 2017-01-23 16:55:48 +00:00
rallytime
3f74d697b9 Merge branch '2016.11' into 'develop'
Conflicts:
  - pkg/windows/build_pkg.bat
  - salt/modules/archive.py
2017-01-20 12:07:19 -07:00
Megan Wilhite
a8a6215663 refine the os detection in archive test (#38807) 2017-01-18 11:03:55 -07:00
rallytime
5b43a252c9 Merge branch '2016.11' into 'develop'
Conflicts:
  - conf/master
  - doc/topics/installation/ubuntu.rst
  - salt/modules/pillar.py
  - salt/netapi/rest_tornado/saltnado.py
  - salt/states/influxdb_user.py
  - salt/utils/minions.py
  - salt/utils/openstack/nova.py
2017-01-17 09:50:06 -07:00
rallytime
30e8a66fb0 Merge branch '2016.3' into '2016.11'
Conflicts:
  - salt/netapi/rest_tornado/saltnado.py
  - tests/integration/netapi/rest_tornado/test_app.py
2017-01-16 18:54:14 -07:00
Eric Radman
fa3648c576 Respect follow_symlinks when run with test=True
Previously file.directory correctly sets the permissions of the target
of a symlink, but it did not return the correct result during a dry run.
This change plumbs the follow_symlinks parameter to test-only functions.
2017-01-16 03:04:50 -05:00
rallytime
d24776f5e9 Merge branch '2015.8' into '2016.3'
Conflicts:
  - conf/master
  - doc/topics/netapi/index.rst
  - salt/netapi/__init__.py
2017-01-15 16:07:55 -07:00
rallytime
b910499dbe Various follow up fixes
Merge branch '2015.8.12_follow_up' into '2015.8'
2017-01-13 14:40:17 -07:00
rallytime
34282322c0 Clean up tests and docs for batch execution
Batch execution was removed from NetapiClient and Saltnado in
previous commits. This change is a follow up that removes related
test cases and doc references.
2017-01-09 11:29:34 -07:00
Mike Place
956602244d Merge pull request #36759 from msiebeneicher/improvement/fix_log_output_for_json_and_yaml
Fix log output for `--output=yaml`
2017-01-06 14:44:53 -07:00
Mike Place
993596b10a Merge pull request #38218 from rallytime/cmd-run-alias-deprecation
Remove support for aliasing cmd.run to cmd.shell
2017-01-06 14:36:18 -07:00
rallytime
65032d885e Update shell enabled integration tests with cmd.run aliasing removed
With support for cmd.run --> cmd.shell aliasing removed in this PR,
some of the tests looking for the old behavior need to be adjusted.

1. `test_template_default_enabled` was renamed to `test_template_shell`
and the cmd.run call was changed to a cmd.shell call. Since the
aliasing for cmd.run to cmd.shell has been removed for templates, this
test is no longer necessary. Instead of removing the test, we can use
it to check that cmd.shell works correctly in a state + template
context.
2. The `python_shell=False` kwarg was removed from the template in the
`test_template_default_disabled` test since python_shell=False should be
the default now. (Note the test was renamed for clarity.)
2017-01-06 14:17:28 -05:00
rallytime
342a5ac0b8 Merge branch '2016.11' into 'develop'
No conflicts.
2017-01-06 10:31:51 -05:00
rallytime
44d09b8606 Add 'travisci.parse_qs' to the allow_failures option
Fixes the `integration.modules.sysmod.SysModuleTest.test_valid_docs`
test failure which thinks a CLI example is needed.
2017-01-05 12:27:59 -05:00
rallytime
30f14d15df Merge branch '2016.3' into '2016.11'
Conflicts:
  - salt/config/__init__.py
  - salt/engines/slack.py
2017-01-04 16:54:58 -05:00
Megan Wilhite
1c951d152b fix gce image bug (#38542) 2017-01-04 09:08:04 -05:00
rallytime
9ad362fbde Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/states/kapacitor.py
2017-01-03 10:17:18 -05:00