Commit Graph

6351 Commits

Author SHA1 Message Date
Daniel A. Wozniak
5aabd442f2
Fix up import and docstring syntax 2018-03-28 20:54:35 -07:00
Nicole Thomas
14ab50d3f4
Merge pull request #46696 from dwoz/win_test_client
Windows `unit.test_client` fixes
2018-03-28 13:55:46 -04:00
Daniel A. Wozniak
62d64c9230
Fix missing import 2018-03-27 14:10:24 -07:00
Daniel A. Wozniak
18b1730320
Skip test that requires pywin32 on *nix platforms 2018-03-27 11:38:20 -07:00
Daniel A. Wozniak
ec4634fc06
Better explanation in doc strings 2018-03-27 10:35:51 -07:00
Nicole Thomas
3f21e9cc65
Merge pull request #46503 from psyer/fix-cmd-run-env-corrupt
Fixes stdout user environment corruption
2018-03-27 10:20:14 -04:00
Daniel A. Wozniak
45dce1a485
Add reg module to globals 2018-03-26 12:00:39 -07:00
Nicole Thomas
fadc5e4ba4
Merge pull request #46669 from terminalmage/pillar-merge-order
Add option to return to pre-2017.7.3 pillar include merge order
2018-03-26 15:00:27 -04:00
Daniel A. Wozniak
d9ae2abb34
Fix splling in docstring 2018-03-26 09:45:04 -07:00
Nicole Thomas
6c80d90bb6
Merge pull request #46693 from dwoz/test_smtp_return
File and Pillar roots are dictionaries
2018-03-26 11:15:37 -04:00
Nicole Thomas
47409eaa6e
Merge pull request #46646 from twangboy/win_fix_test_local_cache
Fix `unit.returners.test_local_cache` for Windows
2018-03-26 10:16:22 -04:00
Daniel A Wozniak
b40efc5db8
Windows test client fixes
- Skip IPC transport test on windows
- Add TCP transport test for windows
2018-03-23 15:36:32 -07:00
Daniel A. Wozniak
5bf850c67f
File and Pillar roots are dictionaries
Fixes test_smtp_return test cases.
2018-03-23 11:42:14 -07:00
Daniel A Wozniak
628b87d5c4
Skip test when git symlinks are not configured 2018-03-22 23:30:15 -07:00
Daniel A. Wozniak
73d06f664b Fix linter error 2018-03-22 13:47:41 -07:00
Erik Johnson
b4a1d34b47
Add option to return to pre-2017.7.3 pillar include merge order
https://github.com/saltstack/salt/pull/45025 changed the pillar include
merge order. This adds a new config option which allows a user to revert
to the pre-2017.7.3 behavior.
2018-03-22 13:35:12 -05:00
Daniel A. Wozniak
009a8f56ea
Fix up environ state tests for Windows 2018-03-22 11:31:25 -07:00
Daniel A. Wozniak
b4be10b8fc
Fixing cleanUp method to restore environment
The clean-up method was not reliabliy restoring sys.environment on
windows. Using Mock's patch to cleanup more reliably.
2018-03-21 20:01:30 -07:00
twangboy
8d93156604
Fix unit.returners.test_local_cache for Windows
time.time is only precise to 3 decimal places in Windows. This adds a
sleep for .25 seconds to allow the test to pass
Also fixes a lint error
2018-03-21 16:00:52 +00:00
Erik Johnson
e8582e80f2
Python 3-compatibility fix to unit test
This should not be returning a string type for stderr, since
Popen.communicate() returns a bytestring. In Python 2, the str and bytes
types are the same, but the same is not true in Python 3.

Additionally, the mocking here seems not to consider the fact that Popen
is called when runas is used to get the runas user's environment. Since
this test doesn't care about the output, we can just make the mocked
Popen.communicate() return an empty bytestring.
2018-03-20 22:09:18 -05:00
Daniel A. Wozniak
eb822f5a12
Fix file.recurse w/ clean=True #36802
Fix an endless looping but in file.recurse when clean is set to true.
This patch normalizes paths and handles the root correctly.
2018-03-20 16:12:01 -07:00
rallytime
0f728186aa
Fix pillar unit test failures: file_roots and pillar_roots environments should be lists 2018-03-20 17:49:58 -04:00
Frode Gundersen
1ad4d7d988
fix assert errors 2018-03-13 21:01:46 +00:00
Frode Gundersen
e6a56016df
update test 2018-03-13 20:54:25 +00:00
Nicole Thomas
b7191b8782
Merge pull request #46413 from meaksh/2017.7-explore-result-in-depth
Explore 'module.run' state module output in depth to catch "result" properly
2018-03-12 14:49:06 -04:00
Nicole Thomas
cac096b311
Merge pull request #46434 from gtmanfred/highstate_return
split return key value correctly
2018-03-09 12:45:20 -05:00
Daniel Wallace
d18f1a55a7
fix pylint 2018-03-09 08:23:17 -07:00
Nicole Thomas
a188984cd9
Merge pull request #46446 from bdrung/fix-typos
Fix various typos
2018-03-08 16:11:46 -05:00
Daniel Wallace
9e2c3f7991
split return key value correctly 2018-03-08 13:38:52 -07:00
Nicole Thomas
e35fc5263c
Merge pull request #46309 from bdrung/dynamic-pillarenv
Support dynamic pillar_root environment
2018-03-08 14:15:35 -05:00
Nicole Thomas
35fe9827fe
Merge pull request #46430 from terminalmage/issue44032
Improve reliability/idempotence of file.blockreplace state
2018-03-08 10:41:37 -05:00
Benjamin Drung
a3c54b50f6 Fix various spelling mistakes
lintian found various spelling mistakes.

Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2018-03-08 15:25:42 +01:00
Benjamin Drung
584b451fd1 Support dynamic pillar_root environment
Allow users to specify a __env__ pillar_root directory that applies
equally to all environments that are not explicitly specified.

fixes #20581
Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2018-03-08 10:12:40 +01:00
Erik Johnson
f9f187e915
Improve reliability/idempotence of file.blockreplace state
This makes the following changes:

- The `append_newline` argument to the `file.blockreplace`
  remote-execution function has been modified so that if its value is
  `None`, it only appends a newline when the content block does not end
  in one.
- A couple of fixes were made to newline handling. The existing code
  normalized the newlines in the content block, replacing them with
  os.linesep. However, when the file contains newlines that don't match
  the OS (i.e. POSIX newlines in a file on a Windows box, or Windows
  newlines on a Linux/Mac/BSD/etc. box), then we would still end up with
  mixed newlines. The line separator is now detected when we read in the
  original file, and the detected line separator is used when writing
  the content block. Additionally, the same newline mismatch was
  possible when appending/prepending the content block. This has been
  fixed by using a common function for appending, prepending, and
  replacing the content block.
- Support for the `append_newline` argument has been added to the
  `file.blockreplace` state. The default value for the state is `None`.
  A `versionchanged` has been added to the remote execution function to
  let users know that the Fluorine release will change the default value
  of that variable.
- 20 new integration tests have been written to test the
  `file.blockreplace` state.
2018-03-07 22:29:39 -06:00
Pablo Suárez Hernández
885751634e
Add new unit test to check state.apply within module.run 2018-03-07 15:43:52 +00:00
Justin Findlay
d5561bedaf
tests.unit.grains.core add scoped IPv6 nameserver 2018-03-05 12:31:04 -08:00
Nicole Thomas
a8f2f1b063
Merge pull request #46322 from terminalmage/issue44935
yamlify_arg: don't treat leading dashes as lists
2018-03-05 10:40:16 -05:00
Nicole Thomas
88b5f7383d
Merge pull request #46242 from redbaron4/fix-46127
Pass env_vars to pip.freeze
2018-03-05 09:53:12 -05:00
Erik Johnson
85ac6a9893
yamlify_arg: don't treat leading dashes as lists
We had a similar check to ensure "foo: bar" isn't loaded as a dict, this
adds a check to ensure that we only load lists when there is a leading
bracket.
2018-03-03 15:02:12 -06:00
Nicole Thomas
c490a50452
Merge pull request #45874 from GwiYeong/2017.7-local-client-hotfix
fix for local client timeout bug
2018-03-01 14:39:35 -05:00
Dheeraj
727ebe1056
Merge branch '2017.7' into fix-46127 2018-03-01 10:19:38 +05:30
Nicole Thomas
da60399b8f
Merge pull request #46183 from oeuftete/fix-docker-container-running-host-config-ulimits
Fix docker_container.running HostConfig Ulimits comparison
2018-02-28 17:22:11 -05:00
Nicole Thomas
a97a3e6fb0
Merge pull request #46101 from jfindlay/openrc_ret
In OpenRC exec module, make sure to ignore retcode on status
2018-02-28 15:01:36 -05:00
Dheeraj Gupta
aa9d709015 Pass env_vars to pip.freeze
pip.installed state calls pip.freeze to check for existing installation
and to verify installation post-install. This patch propagates the
env_vars passed to pip.installed to the pip.freeze function. It also modifies
existing pip unit tests to test new functionality and adds an integration test
that verifies the expected correct behavior

Fixes #46127
2018-02-28 16:44:20 +05:30
Erik Johnson
586d8b0dcf
archive.extracted: don't check source file when if_missing path exists
This exits the state early with a True result when the if_missing path
exists.
2018-02-27 23:39:32 -06:00
Ken Crowell
5b09644429
Sort lists from Ulimits before comparing 2018-02-27 23:49:05 -04:00
Benjamin Drung
0b445f2a37 tests: Add unit tests for _parse_os_release()
Add tests cases to fully cover _parse_os_release().

Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2018-02-26 13:38:23 +01:00
Benjamin Drung
f6069b77ed Fix osfinger grain on Debian
Rework _run_os_grains_tests() to check all os grains including osfinger.
Fix osfinger on Debian (e.g. use "Debian-9" instead of
"Debian GNU/Linux-9").

Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2018-02-26 13:36:33 +01:00
Benjamin Drung
8dde55a761 tests: Add os_grains test cases for Debian
Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2018-02-26 13:36:33 +01:00
Benjamin Drung
ff02ab9937 tests: Add Ubuntu 17.10 (artful) os_grains test case
Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2018-02-26 13:36:33 +01:00
Benjamin Drung
77d5356aba Fix incorrect oscodename grain on Ubuntu
Use the full content of /etc/os-release for the Ubuntu 16.04 (artful)
os_grains test case. This reveals a bug that 'oscodename' is not
correctly calculated if /etc/os-release provides PRETTY_NAME:

FAIL: test_ubuntu_os_grains (tests.unit.grains.test_core.CoreGrainsTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/unit/grains/test_core.py", line 439, in test_ubuntu_os_grains
    self._run_ubuntu_os_grains_tests(_os_release_map)
  File "tests/unit/grains/test_core.py", line 446, in _run_ubuntu_os_grains_tests
    self._run_os_grains_tests(os_release_map)
  File "tests/unit/grains/test_core.py", line 262, in _run_os_grains_tests
    self.assertEqual(os_grains.get('oscodename'), os_release_map['oscodename'])
AssertionError: 'Ubuntu 16.04.3 LTS' != 'xenial'
- Ubuntu 16.04.3 LTS
+ xenial

fixes #34423 for Ubuntu
Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2018-02-26 13:36:33 +01:00
Benjamin Drung
7e62dc9fd2 tests: Support reading os-release files from disk
Instead of storing pre-parsed os-release files, add support for reading
os-release files from disk.

Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2018-02-26 13:36:33 +01:00
Benjamin Drung
a92ec0db1b Make _parse_os_release() always callable
To simplify running unit tests against os_data(), make the
_parse_os_release() function always callable to avoid needing to mock
os.path.isfile().

Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2018-02-26 13:36:33 +01:00
Benjamin Drung
eee1fe5b38 tests: Dissolve _run_ubuntu_os_grains_tests
_run_ubuntu_os_grains_tests is only used once and does not provide any
useful abstraction since the introduction of _run_os_grains_tests.

Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2018-02-26 13:36:33 +01:00
Benjamin Drung
1d6ef731fe tests: Deduplicate _run_os_grains_tests()
_run_suse_os_grains_tests() and _run_ubuntu_os_grains_tests() share most
of their logic. Combine the common part in _run_os_grains_tests() and
let the remaining small parts live in their origin functions.

Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2018-02-26 13:36:33 +01:00
Nicole Thomas
705caa8cca
Merge pull request #46148 from rallytime/merge-2017.7
[2017.7] Merge forward from 2017.7.3 to 2017.7
2018-02-23 14:21:38 -05:00
rallytime
25deebf7a6
Merge branch '2017.7.3' into '2017.7'
Conflicts:
  - salt/modules/git.py
2018-02-22 10:22:22 -05:00
Erik Johnson
e2c4702e0c
Update tests to reflect changes to the SaltCacheLoader 2018-02-21 23:20:02 -06:00
Nicole Thomas
b92346645b
Merge pull request #46107 from amendlik/yumpkg-assumeyes
Add --assumeyes on YUM/DNF commands
2018-02-20 17:52:05 -05:00
Adam Mendlik
8d9a432fb2
Add --assumeyes to yum/dnf commands in yumpkg.refresh_db
Without --assumeyes, these commands can hang waiting for
user confirmation if there is an unaccepted repository key.
2018-02-19 17:51:11 -07:00
Justin Findlay
2eef3c65a6
tests.unit.modules.gentoo_service add retcode arg 2018-02-19 11:27:11 -08:00
Benjamin Drung
dd3f936557 Fix skipping Kubernetes tests if client is not installed
When the Kubernetes client is not installed, the import of
salt.modules.kubernetes will still succeed, but HAS_LIBS will be set to
False (since the library import will be covered by a try-except clause).

Therefore expect the salt.modules.kubernetes to always succeed and check
kubernetes.HAS_LIBS instead for the presence of the kubernetes library.

Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2018-02-19 12:32:14 +01:00
Erik Johnson
e2140d9a84
Mock the ssh.key_is_encrypted utils func 2018-02-15 14:37:50 -06:00
Nicole Thomas
edcb64de76
Merge pull request #45763 from twangboy/win_fix_path_rehash
Fix rehash function in win_path.py
2018-02-15 15:05:15 -05:00
Erik Johnson
f2b69f703d
git.latest: Fix regression with identity file usage
Unit test included
2018-02-15 09:35:10 -06:00
Nicole Thomas
a1f4092811
Merge pull request #46015 from rallytime/bp-45785
Back-port #45785 to 2017.7
2018-02-14 13:16:08 -05:00
Nicole Thomas
1279924f5f
Merge pull request #45991 from terminalmage/fix-duplicate-extra-opts
yumpkg: Fix a couple issues with _get_extra_opts
2018-02-14 11:48:28 -05:00
Erik Johnson
916766f651
yumpkg: Fix a couple issues with _get_extra_opts
`_get_extra_opts()` and `_get_branch_option()` were unnecessarily
quoting the value, causing it to be interpreted as a literal quote by
`subprocess.Popen()`.

Also, because there were separate helpers for repo options,
disableexcludes, branch options, and extra options, and specifically
because `_get_extra_opts()` parses *all* kwargs, any of the options from
the other helper funcs would end up being added to the command line
twice if `_get_extra_opts()` was used.

This commit consolidates all of the kwarg inspection and CLI opts
construction to a single helper function. It also adds unit tests to
make sure that we are formatting our commands properly.

Additionally, it makes a minor fix in `refresh_db()` which was not
accounted for when we changed the osmajorrelease grain to an integer in
2017.7.0.
2018-02-13 22:46:27 -06:00
Ollie Armstrong
ef6ffb1492
Resolve linting errors 2018-02-13 13:27:38 -05:00
Ollie Armstrong
8047066c46
Remove unused import 2018-02-13 13:27:38 -05:00
Ollie Armstrong
8f7c45935a
Add tests for salt.modules.selinux.fcontext_get_policy 2018-02-13 13:27:38 -05:00
Nicole Thomas
b18087cee0
Merge pull request #45711 from bdrung/fix-unicode-tests
Fix Unicode tests when run with LC_ALL=POSIX
2018-02-13 12:42:06 -05:00
GwiYeong
45d663f435
fix for local client timeout bug 2018-02-12 13:00:22 +09:00
Erik Johnson
89cbd72a0d
Don't try to sort ports when translating docker input
This sorting was done mainly for the benefit of the test suite, but
Python 3 will raise an error when you try to sort a mixture of int and
tuple types, so sorting breaks down when there are UDP ports.

Instead, this just leaves them as an unsorted list when passed to the
API, and the test suite does the sorting before the assertEqual.
2018-02-09 11:33:10 -06:00
Erik Johnson
9cd47b39dd
Fix incorrect translation of docker port_bindings -> ports
The logic which ensures that we expose ports which are being bound,
even when not explicitly configured, was done incorrectly. UDP ports
were being passed to the API as '1234/udp' instead of (1234, 'udp').
This results in the port not being exposed properly.

The logic has been corrected. Additionally both the "ports" input
translation function, as well as the post-processing code (where the
port numbers configured in port_bindings were being added) both
contained code to "fix" any ports which were configured using
'portnum/tcp', as these must be passed to the API simply as integers. To
reduce code duplication, this normalization is now only performed at the
very end of the post-processing function, after ports have been
translated, and any missing ports from the port_bindings have been
added.

The unit test for the port_bindings input translation code, which was
written based upon the same incorrect reading of the API docs that
resulted in the incorrect behavior, have been updated to confirm the
(now) correct behavior. The unit test for the ports input translation
code has been updated to reflect the new normalization behavior.

Finally, an integration test has been added to ensure that we properly
expose UDP ports which are added as part of the post-processing
function.
2018-02-08 23:23:43 -06:00
twangboy
29912adc15
Move the test_rehash test to test_win_functions 2018-02-08 17:44:30 -07:00
Nicole Thomas
80a2d009b4
Merge pull request #45517 from kstreee/fix-mkdir
Fixes base dir making logic to ensure not raising the exception when base directory already exists.
2018-02-05 09:56:22 -05:00
kstreee
24d41f2451
Fixes base dir making logic to ensure not raising the exception when base directory already exists. 2018-02-02 09:55:08 +09:00
Benjamin Drung
b6181b5ed6 Fix Unicode tests when run with LC_ALL=POSIX
When running the unit tests with the locale set to POSIX, some Unicode
tests fail:

$ LC_ALL=POSIX python3 ./tests/runtests.py --unit
[...]
======================================================================
ERROR: test_list_products (unit.modules.test_zypper.ZypperTestCase)
[CPU:0.0%|MEM:73.2%]
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/unit/modules/test_zypper.py", line 236, in
test_list_products
    'stdout': get_test_data(filename)
  File "tests/unit/modules/test_zypper.py", line 53, in get_test_data
    return rfh.read()
  File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position
828: ordinal not in range(128)

======================================================================
ERROR: test_non_ascii (unit.templates.test_jinja.TestGetTemplate)
[CPU:0.0%|MEM:73.2%]
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/unit/templates/test_jinja.py", line 341, in test_non_ascii
    result = fp.read()
  File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5:
ordinal not in range(128)

======================================================================
ERROR: test_non_ascii_encoding
(unit.templates.test_jinja.TestGetTemplate)
[CPU:0.0%|MEM:73.2%]
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/unit/templates/test_jinja.py", line 303, in
test_non_ascii_encoding
    fp_.read(),
  File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5:
ordinal not in range(128)
----------------------------------------------------------------------

Therefore open files in binary mode and explicitly decode them with
utf-8 instead of their default locale.
2018-02-01 19:24:23 +01:00
William Villeneuve
217791079b some code cleanup (lint errors and escape_argument as _cmd_quote) 2018-01-28 12:42:33 -05:00
William Villeneuve
1c29bc5a3d fixed quoting of script path in cmd.script 2018-01-26 09:05:18 -05:00
Frode Gundersen
e6917a291e
fix test_archive test for mac on 2017.7 branch 2018-01-23 14:35:32 -05:00
Benjamin Drung
76d44e9490 Fix skipping test when boto is not installed
When boto and moto are not installed, the BotoVpcTestCaseBase() should
be skipped. _get_boto_version() and _get_moto_version() require that
boto and moto are installed, but are called anyway in the skipIf
condition.
2018-01-23 13:32:22 +01:00
Benjamin Drung
2b9b262357 Fix unit.modules.test_cmdmod.CMDMODTestCase.test_run
The test_run unit tests end result when a command is not found. When
_run() is called without setting cwd, it will use the home directory as
working directory. When the home directory does not exist, the unit test
will fail:

Traceback (most recent call last):
  File "tests/unit/modules/test_cmdmod.py", line 231, in test_run
    ret = cmdmod._run('foo', use_vt=True).get('stderr')
  File "salt/modules/cmdmod.py", line 536, in _run
    .format(cwd)
salt.exceptions.CommandExecutionError: Specified cwd
'/sbuild-nonexistent' either not absolute or does not exist

Therefore set cwd to the current directory since the working directory
is not used in this test case.

This fixes one failing test of #45627.

Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2018-01-23 13:18:18 +01:00
rallytime
a5fc3b3363
Merge branch '2017.7.3' into '2017.7'
No conflicts.
2018-01-22 11:55:54 -05:00
Daniel Wallace
bd3cb47fa7
fix mock for opensuse
Opensuse needs a run_all in here, mock it so we don't see an error, and still
test the docker stuff
2018-01-20 09:58:22 -07:00
Daniel Wallace
808e26e69a
test simple website 2018-01-20 09:57:20 -07:00
rallytime
e0ffa32b49
Merge branch '2016.11' into '2017.7'
Conflicts:
  - tests/integration/modules/test_pkg.py
2018-01-19 10:09:36 -05:00
Daniel Wallace
8d907ee1a0
fix moto version
Fixes saltstack/salt-jenkins#692
2018-01-18 14:56:31 -07:00
Daniel Wallace
1241ab5fc6
fix test boto imports
Test boto imports are failing for some reason
2018-01-18 14:56:27 -07:00
Daniel Wallace
6c26025664
fix mock for opensuse
Opensuse needs a run_all in here, mock it so we don't see an error, and still
test the docker stuff
2018-01-18 10:48:07 -07:00
Frode Gundersen
ccf062d62e
fix test_archive test for mac on 2017.7 branch 2018-01-17 18:54:35 +00:00
Daniel Wallace
b9761971c2
fix moto version
Fixes saltstack/salt-jenkins#692
2018-01-13 15:01:14 -05:00
Daniel Wallace
0cd95d1cc6
fix test boto imports
Test boto imports are failing for some reason
2018-01-13 15:01:14 -05:00
Erik Johnson
5473c085d9
Fix loader error in 2017.7 tests 2018-01-11 08:40:27 -06:00
Nicole Thomas
d0e5e70277
Merge pull request #45295 from gtmanfred/test_directory
test directory that doesn't exist
2018-01-08 15:59:52 -05:00
Nicole Thomas
eea7158e82
Merge pull request #45279 from rallytime/merge-2017.7
[2017.7] Merge forward from 2016.11 to 2017.7
2018-01-08 12:26:48 -05:00
Nicole Thomas
e6178fe6d4
Merge branch '2017.7' into test_directory 2018-01-05 17:08:58 -05:00
Daniel Wallace
24114e91c1
test was different slightly on 2017.7 2018-01-05 12:25:09 -07:00
Daniel Wallace
d20fc93625
test directory that doesn't exist
sometimes /etc/grub.conf exists and is a symlink to /boot/grub/grub.conf, and
this won't do the right thing.
2018-01-05 09:51:58 -07:00