the original fix was only covered asyncauth, but the syncauth method overrode
the fix. This patch duplicates it so behavior should be consistent in both
codepaths.
In `integration.shell.test_syndic.SyndicTest.test_issue_7754`, we use
`run_script` to start up a syndic and make sure that it starts with
specific logging configuration. `run_script` is configured to timeout
after 5 seconds, at which time the process is killed via SIGTERM. Our
signal handler then raises a `SystemExit` to kill the Python process.
However, if this `SystemExit` is raised while `_connect_syndic()` is
attempting to connect to the master-of-masters, it gets swallowed and
the Python process never exits, causing the test suite to hang
indefinitely (until test-kitchen kills it).
This commit ensures we re-raise a `SystemExit` if it is caught during
this connection attempt.
- fix integration.states.test_file.FileTest.test_managed_latin1_diff
- fix integration.states.test_file.FileTest.test_recurse_issue_40578
- fix some issues integration.states.test_file.FileTest.test_issue_8947_utf8_sls,
this test still fails due to py2 popen's unicode handling.
When we try to match the configured expression, we look for a match type
(e.g. `I@`, `G@`, etc.) at the beginning, and when we don't find one we
were falling back to a glob. This changes the fallback to compound so
that we can support compound matches. Note that the compound matching
engine will act just like the glob match engine when the host passed to
it is a single minion ID glob, so using compound as the fallback gets
you glob matching for free.
Since the git commands will be executed from the user home directory, if
salt root_dir is set to a relative path (for example using
`root_dir: ./.tmp/` in salt config), then the git/ssh-id-wrapper
template may be unreachable and we may encouter the following error that
this patch is fixing:
```
[ERROR ] Command '[u'git', u'ls-remote', u'git@github.com:bbinet/salt-formula-linux.git']' failed with return code: 128
[ERROR ] stderr: error: cannot run .tmp/thin/py2/salt/templates/git/ssh-id-wrapper: No such file or directory
fatal: unable to fork
[ERROR ] retcode: 128
[ERROR ] Failed to check remote refs: Unable to authenticate using identity file:
error: cannot run .tmp/thin/py2/salt/templates/git/ssh-id-wrapper: No such file or directory
fatal: unable to fork
```