| From b1170efcf9dbea8d445a73c7883696056ef03cf2 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 22 Aug 2023 15:58:37 +0200 |
| Subject: selftests: Keep symlinks, when possible |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Björn Töpel <bjorn@rivosinc.com> |
| |
| [ Upstream commit 3f3f384139ed147c71e1d770accf610133d5309b ] |
| |
| When kselftest is built/installed with the 'gen_tar' target, rsync is |
| used for the installation step to copy files. Extra care is needed for |
| tests that have symlinks. Commit ae108c48b5d2 ("selftests: net: Fix |
| cross-tree inclusion of scripts") added '-L' (transform symlink into |
| referent file/dir) to rsync, to fix dangling links. However, that |
| broke some tests where the symlink (being a symlink) is part of the |
| test (e.g. exec:execveat). |
| |
| Use rsync's '--copy-unsafe-links' that does right thing. |
| |
| Fixes: ae108c48b5d2 ("selftests: net: Fix cross-tree inclusion of scripts") |
| Signed-off-by: Björn Töpel <bjorn@rivosinc.com> |
| Reviewed-by: Benjamin Poirier <bpoirier@nvidia.com> |
| Signed-off-by: Shuah Khan <skhan@linuxfoundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| tools/testing/selftests/lib.mk | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk |
| index d17854285f2b6..118e0964bda94 100644 |
| --- a/tools/testing/selftests/lib.mk |
| +++ b/tools/testing/selftests/lib.mk |
| @@ -106,7 +106,7 @@ endef |
| run_tests: all |
| ifdef building_out_of_srctree |
| @if [ "X$(TEST_PROGS)$(TEST_PROGS_EXTENDED)$(TEST_FILES)" != "X" ]; then \ |
| - rsync -aLq $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(OUTPUT); \ |
| + rsync -aq --copy-unsafe-links $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(OUTPUT); \ |
| fi |
| @if [ "X$(TEST_PROGS)" != "X" ]; then \ |
| $(call RUN_TESTS, $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS) \ |
| @@ -120,7 +120,7 @@ endif |
| |
| define INSTALL_SINGLE_RULE |
| $(if $(INSTALL_LIST),@mkdir -p $(INSTALL_PATH)) |
| - $(if $(INSTALL_LIST),rsync -aL $(INSTALL_LIST) $(INSTALL_PATH)/) |
| + $(if $(INSTALL_LIST),rsync -a --copy-unsafe-links $(INSTALL_LIST) $(INSTALL_PATH)/) |
| endef |
| |
| define INSTALL_RULE |
| -- |
| 2.40.1 |
| |