Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test: skip the symlink part of test_touch_file() in containers
Our (RHEL 8) touch_file() is not clever enough and does chmod() on a symlink, which fails with EOPNOTSUPP on newer kernels. This is not an issue on the RHEL 8 kernel, where doing chmod() on a symlink works (albeit only on tmpfs) but in GH Actions we run in a container, and with the underlying kernel doing chmod() on a symlink fails even on tmpfs: RHEL 8: ~# mount -t tmpfs tmpfs /tmp ~# (cd /tmp; ln -s symlink dangling; ln -s /etc/os-release symlink) ~# (cd /var/tmp; ln -s symlink dangling; ln -s /etc/os-release symlink) ~# gcc -o main main.c -D_GNU_SOURCE ~# ./main /tmp/dangling chmod(/proc/self/fd/3)=0 (0) ~# ./main /tmp/symlink chmod(/proc/self/fd/3)=0 (0) ~# ./main /var/tmp/dangling chmod(/proc/self/fd/3)=-1 (95) ~# ./main /var/tmp/symlink chmod(/proc/self/fd/3)=-1 (95) Newer kernel: ~# uname -r 6.7.4-200.fc39.x86_64 ~# ./main /tmp/dangling chmod(/proc/self/fd/3)=-1 (95) ~# ./main /tmp/symlink chmod(/proc/self/fd/3)=-1 (95) ~# ./main /var/tmp/dangling chmod(/proc/self/fd/3)=-1 (95) ~# ./main /var/tmp/symlink chmod(/proc/self/fd/3)=-1 (95) Backporting the necessary patches would be way too risky so late in the RHEL 8 cycle, so let's just skip the offending test when running in a container. This should work around this issue in GH Actions, but still run the test on C8S/RHEL8 machines. See: redhat-plumbers#434 RHEL-only
- Loading branch information