From 9e006fb3de0bd1af2434b32c3be23101e00b1b10 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
Date: Wed, 6 May 2015 20:13:31 +0200
Subject: [PATCH] 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(-)

diff --git a/tests/profiles.scm b/tests/profiles.scm
index a39717191dc..de1411dca2b 100644
--- a/tests/profiles.scm
+++ b/tests/profiles.scm
@@ -237,14 +237,16 @@ (define glibc
     (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")
 
-- 
GitLab