From 9e006fb3de0bd1af2434b32c3be23101e00b1b10 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Wed, 6 May 2015 20:13:31 +0200 Subject: tests: Fix etc/profile test. * tests/profiles.scm ("etc/profile"): Unset GUIX_PROFILE before sourcing etc/profile. Use '.' instead of 'source' for sourcing. Call 'echo $PATH' instead of using the output of 'set' to determine whether PATH is set. --- tests/profiles.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'tests') diff --git a/tests/profiles.scm b/tests/profiles.scm index a39717191d..de1411dca2 100644 --- a/tests/profiles.scm +++ b/tests/profiles.scm @@ -237,14 +237,16 @@ (mbegin %store-monad (built-derivations (list drv)) (let* ((pipe (open-input-pipe - (string-append "source " - profile "/etc/profile; " - "unset GUIX_PROFILE; set"))) - (env (get-string-all pipe))) + (string-append "unset GUIX_PROFILE; " + ;; 'source' is a Bashism; use '.' (dot). + ". " profile "/etc/profile; " + ;; Don't try to parse set(1) output because + ;; it differs among shells; just use echo. + "echo $PATH"))) + (path (get-string-all pipe))) (return (and (zero? (close-pipe pipe)) - (string-contains env - (string-append "PATH=" profile "/bin")))))))) + (string-contains path (string-append profile "/bin")))))))) (test-end "profiles") -- cgit v1.2.3