diff mbox series

selftests: Keep symlinks, when possible

Message ID 20230822135837.280967-1-bjorn@kernel.org (mailing list archive)
State Accepted
Commit 3f3f384139ed147c71e1d770accf610133d5309b
Headers show
Series selftests: Keep symlinks, when possible | expand

Commit Message

Björn Töpel Aug. 22, 2023, 1:58 p.m. UTC
From: Björn Töpel <bjorn@rivosinc.com>

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>
---
 tools/testing/selftests/lib.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


base-commit: f7757129e3dea336c407551c98f50057c22bb266

Comments

Benjamin Poirier Aug. 22, 2023, 3:49 p.m. UTC | #1
On 2023-08-22 15:58 +0200, Björn Töpel wrote:
> From: Björn Töpel <bjorn@rivosinc.com>
> 
> 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>
> ---
>  tools/testing/selftests/lib.mk | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Benjamin Poirier <bpoirier@nvidia.com>

Thank you for the fix.
diff mbox series

Patch

diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index d17854285f2b..118e0964bda9 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