From e4b5a23841bc6a92e2e21dd8b1038addee55eb02 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Wed, 24 Feb 2021 00:02:30 -0800 Subject: [PATCH] tests: gremlin: Skip file-needed/recursive if DT_NEEDED is empty. * tests/gremlin.scm (file-needed/recursive): Skip the test when (file-runpath %guile-executable) evaluates to the empty list. This causes the test to be correctly skipped in the case where Guix has been built using a foreign distro's toolchain and libraries. --- tests/gremlin.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/gremlin.scm b/tests/gremlin.scm index f20a79f4d6..9af899c89a 100644 --- a/tests/gremlin.scm +++ b/tests/gremlin.scm @@ -61,7 +61,11 @@ (elf-dynamic-info-needed dyninfo)))))) (unless (and %guile-executable (not (getenv "LD_LIBRARY_PATH")) - (file-needed %guile-executable)) ;statically linked? + (file-needed %guile-executable) ;statically linked? + ;; When Guix has been built on a foreign distro, using a + ;; toolchain and libraries from that foreign distro, it is not + ;; unusual for the runpath to be empty. + (pair? (file-runpath %guile-executable))) (test-skip 1)) (test-assert "file-needed/recursive" (let* ((needed (file-needed/recursive %guile-executable))