osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38256?usp=email )
Change subject: testenv: testsuite: use rsync with --archive ......................................................................
testenv: testsuite: use rsync with --archive
When running in podman, the source files from the testsuite get copied to a temporary directory to build the testsuites out-of-tree (avoiding conflicts with possibly incompatible binary objects that may exist from previously building the testsuites on the host).
This also copies additional scripts for preparation / clean up that may be used in testenv.cfg. Use the --archive flag with rsync to ensure that the executability is the same. I could have also used --executability, but --archive contains two other existing flags and more flags which may help us from running into unexpected situations such as this one.
Without this patch, there was a bug when: * first creating a shell script but not making it executable * running testenv with podman (where rsync runs and creates the file initially without executable permissions) * making the script executable * running testenv with podman again, rsync will not adjust the permissions for the copy of the file * user wonders why there is a "sh: 1: script.sh: Permission denied" error
Change-Id: Ia9737bd8ba22a555615862bf5e14dbdf0dea19b4 --- M _testenv/testenv/testsuite.py 1 file changed, 1 insertion(+), 2 deletions(-)
Approvals: osmith: Looks good to me, approved Jenkins Builder: Verified
diff --git a/_testenv/testenv/testsuite.py b/_testenv/testenv/testsuite.py index 7a42216..7fc4344 100644 --- a/_testenv/testenv/testsuite.py +++ b/_testenv/testenv/testsuite.py @@ -52,8 +52,7 @@ testenv.cmd.run( [ "rsync", - "--links", - "--recursive", + "--archive", f"--files-from={copy_list}", f"{ttcn3_hacks_dir_src}/", f"{ttcn3_hacks_dir}/",