Compare commits

...

11 commits

Author SHA1 Message Date
growf
1983123473
Merge 8cdf51b3b3 into 795d8e34e7 2024-03-29 23:13:49 +00:00
softwarefactory-project-zuul[bot]
795d8e34e7
Merge pull request #538 from csmart/ci_freebsd_133
ci: replace freebsd 13.2 with 13.3

The devel version of ansible-test has been updated to include support for FreeBSD 13.3, so this change swaps out 13.2 accordingly.
See ansible-collections/news-for-maintainers#67

Reviewed-by: Hideki Saito <saito@fgrep.org>
2024-03-26 06:50:36 +00:00
Chris Smart
b615d61fae ci: replace freebsd 13.2 with 13.3
The devel version of ansible-test has been updated to include support
for FreeBSD 13.3, so this change swaps out 13.2 accordingly.
2024-03-26 14:59:32 +09:00
softwarefactory-project-zuul[bot]
bda85b7453
Merge pull request #541 from saito-hideki/pr/replace_yield
[CI] Replaced yield with yield from for sanity test

SUMMARY
Replaced yield with yield from to address latest sanity test.
ISSUE TYPE

CI Tests Pull Request

COMPONENT NAME

ansible.posix

ADDITIONAL INFORMATION
None
2024-03-26 05:51:09 +00:00
Hideki Saito
ac82f575c6 Replaced yield with yield from to address latest sanity test
Signed-off-by: Hideki Saito <saito@fgrep.org>
2024-03-26 13:54:40 +09:00
softwarefactory-project-zuul[bot]
a356bdd3c4
Merge pull request #540 from saito-hideki/pr/relace_old_fqcn_selogin
[CI] Replaced old selogin FQCN for integration tests

SUMMARY
Some integration test tasks used the old FQCNs of commuinity.general.
This PR will replace old FQCN(community.general.system.selogin)with new cummonity.general.selogin
ISSUE TYPE

CI Tests Pull Request

COMPONENT NAME

ansible.posix.selinux

ADDITIONAL INFORMATION
None
2024-03-26 02:59:55 +00:00
Hideki Saito
4f93234a8b Replaced old selogin FQCN
- FCQN has been changed since comunity.general stable-6

Signed-off-by: Hideki Saito <saito@fgrep.org>
2024-03-26 10:39:34 +09:00
growf
8cdf51b3b3
Create 428-synchronize-user-defined-out-format.yml 2023-03-17 23:42:28 +00:00
growf
0b6eb4506b
Delete 428-synchronize-user-definied-out-format.yml 2023-03-17 23:41:53 +00:00
growf
dea22dcf4e
Create 428-synchronize-user-definied-out-format.yml 2023-03-17 23:40:24 +00:00
growf
dd3b97069b
Allow user-defined --out-format
If the user specifes --out-format in rsync_opts return msg and stdout_lines in that format otherwise use the default for --itemize-changes, '%i %n%L'; the output for diff will always be in the default --itemize-changes format.

The use of '//' as a delimiter to split the format fields isn't perfect but it's the least-likely to clash with an actual filepath that I could think of.
2023-03-17 22:34:37 +00:00
5 changed files with 50 additions and 20 deletions

View file

@ -178,8 +178,8 @@ stages:
targets:
- name: RHEL 9.3
test: rhel/9.3
- name: FreeBSD 13.2
test: freebsd/13.2
- name: FreeBSD 13.3
test: freebsd/13.3
- stage: Remote_2_16
displayName: Remote 2.16
dependsOn: []

View file

@ -0,0 +1,2 @@
minor_changes:
- synchronize - user-defined ``--out-format`` in ``rsync_opts`` is now honored in the returned output. (https://github.com/ansible-collections/ansible.posix/pull/428)

View file

@ -365,6 +365,7 @@ EXAMPLES = r'''
import os
import errno
import re
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_bytes, to_native
@ -596,8 +597,19 @@ def main():
module.fail_json(msg='Hardlinking into a subdirectory of the source would cause recursion. %s and %s' % (destination_path, dest))
cmd.append('--link-dest=%s' % link_path)
changed_marker = '<<CHANGED>>'
cmd.append('--out-format=%s' % shlex_quote(changed_marker + '%i %n%L'))
# find the last specified out-format
out_format = ''
for rsync_opt in rsync_opts:
if rsync_opt.startswith('--out-format='):
out_format = rsync_opt.replace('--out-format=', '', 1)
# force a known out-format so we can test for changes and return a known format of diff
diff_marker = 'DIFF'
if out_format == '' or module._diff:
diff_detail = '%n%L'
else:
diff_detail = ''
cmd.append('--out-format=%s' % shlex_quote('%s//%s//%%i//%s' % (out_format, diff_marker, diff_detail)))
cmd.append(shlex_quote(source))
cmd.append(shlex_quote(dest))
@ -623,18 +635,36 @@ def main():
if rc:
return module.fail_json(msg=err, rc=rc, cmd=cmdstr)
if link_dest:
# a leading period indicates no change
changed = (changed_marker + '.') not in out
else:
changed = changed_marker in out
changed = False
diff = []
out_lines = []
# remove forced out-format suffix, check for file changes
for line in out.split('\n'):
match = re.match('(.*)//%s//(...*?)//(.*)$' % diff_marker, line)
if match:
default_diff = '%s %s' % (match.group(2), match.group(3))
out_clean = out.replace(changed_marker, '')
out_lines = out_clean.split('\n')
if module._diff:
diff.append(default_diff)
if out_format == '':
out_lines.append(default_diff)
else:
out_lines.append(match.group(1))
# a period in the first position indicates no changes to the file's contents
# a period in every other position from the third onward indicates no attribute changes
if not re.match(r'\..\.*$', match.group(2)):
changed = True
else:
out_lines.append(line)
out_clean = '\n'.join(out_lines)
while '' in out_lines:
out_lines.remove('')
if module._diff:
diff = {'prepared': out_clean}
diff = {'prepared': '\n'.join(diff)}
return module.exit_json(changed=changed, msg=out_clean,
rc=rc, cmd=cmdstr, stdout_lines=out_lines,
diff=diff)

View file

@ -5,7 +5,7 @@
- name: Attempt to add mapping without 'seuser'
register: selogin_error
ignore_errors: true
community.general.system.selogin:
community.general.selogin:
login: seuser
- name: Verify failure
ansible.builtin.assert:
@ -19,7 +19,7 @@
- false
- true
- false
community.general.system.selogin:
community.general.selogin:
login: seuser
seuser: staff_u
- name: New mapping- verify functionality and check_mode
@ -37,7 +37,7 @@
- false
- true
- false
community.general.system.selogin:
community.general.selogin:
login: seuser
seuser: user_u
- name: Changed mapping- verify functionality and check_mode
@ -55,7 +55,7 @@
- false
- true
- false
community.general.system.selogin:
community.general.selogin:
login: seuser
state: absent
- name: Delete mapping- verify functionality and check_mode

View file

@ -64,8 +64,7 @@ if sys.version_info >= (3,) and sys.version_info < (3, 4, 4):
# newline that our naive format() added
data_as_list[-1] = data_as_list[-1][:-1]
for line in data_as_list:
yield line
yield from data_as_list
def mock_open(mock=None, read_data=''):
"""
@ -93,8 +92,7 @@ if sys.version_info >= (3,) and sys.version_info < (3, 4, 4):
if handle.readline.return_value is not None:
while True:
yield handle.readline.return_value
for line in _data:
yield line
yield from _data
global file_spec
if file_spec is None: