1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Make pfexec become usable for illumos (#3889) (#5338)

* Experimental change from OpenIndiana

* resolve pfexec problem, by removing superfluous quotes

* reimplement "wrap_exe"

* remove spaces arround keyword argument assignment

* adapted pfexec unit test

* Try to fix quoting of test expression

* Fix quoting of test expression by replacing ' with "

* Add changelog fragment

(cherry picked from commit dc2d3c24fa)

Co-authored-by: manschwetusCS <30724946+manschwetusCS@users.noreply.github.com>
This commit is contained in:
patchback[bot] 2022-10-05 11:03:32 +00:00 committed by GitHub
parent b7b5c1852e
commit cb26897b3e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 4 deletions

View file

@ -0,0 +1,2 @@
minor_changes:
- "become_pfexec - remove superflous quotes preventing exe wrap from working as expected, fixes #3671, see https://github.com/ansible-collections/community.general/issues/3671#issuecomment-1174906473"

View file

@ -101,4 +101,4 @@ class BecomeModule(BecomeBase):
flags = self.get_option('become_flags') flags = self.get_option('become_flags')
noexe = not self.get_option('wrap_exe') noexe = not self.get_option('wrap_exe')
return '%s %s "%s"' % (exe, flags, self._build_success_command(cmd, shell, noexe=noexe)) return '%s %s %s' % (exe, flags, self._build_success_command(cmd, shell, noexe=noexe))

View file

@ -31,7 +31,7 @@ def test_pfexec_basic(mocker, parser, reset_cli_args):
var_options = {} var_options = {}
cmd = call_become_plugin(task, var_options, cmd=default_cmd, executable=default_exe) cmd = call_become_plugin(task, var_options, cmd=default_cmd, executable=default_exe)
print(cmd) print(cmd)
assert re.match('''%s %s "'echo %s; %s'"''' % (pfexec_exe, pfexec_flags, success, default_cmd), cmd) is not None assert re.match("""%s %s 'echo %s; %s'""" % (pfexec_exe, pfexec_flags, success, default_cmd), cmd) is not None
def test_pfexec(mocker, parser, reset_cli_args): def test_pfexec(mocker, parser, reset_cli_args):
@ -53,7 +53,7 @@ def test_pfexec(mocker, parser, reset_cli_args):
var_options = {} var_options = {}
cmd = call_become_plugin(task, var_options, cmd=default_cmd, executable=default_exe) cmd = call_become_plugin(task, var_options, cmd=default_cmd, executable=default_exe)
print(cmd) print(cmd)
assert re.match('''%s %s "'echo %s; %s'"''' % (pfexec_exe, pfexec_flags, success, default_cmd), cmd) is not None assert re.match("""%s %s 'echo %s; %s'""" % (pfexec_exe, pfexec_flags, success, default_cmd), cmd) is not None
def test_pfexec_varoptions(mocker, parser, reset_cli_args): def test_pfexec_varoptions(mocker, parser, reset_cli_args):
@ -78,4 +78,4 @@ def test_pfexec_varoptions(mocker, parser, reset_cli_args):
} }
cmd = call_become_plugin(task, var_options, cmd=default_cmd, executable=default_exe) cmd = call_become_plugin(task, var_options, cmd=default_cmd, executable=default_exe)
print(cmd) print(cmd)
assert re.match('''%s %s "'echo %s; %s'"''' % (pfexec_exe, pfexec_flags, success, default_cmd), cmd) is not None assert re.match("""%s %s 'echo %s; %s'""" % (pfexec_exe, pfexec_flags, success, default_cmd), cmd) is not None