Subject: bug#22004: guix-environment-container.sh test fails when building guix on tmpfs

From: Ting-Wei Lan <[email-masked]>
Date: Wed, 24 Aug 2016 16:39:00 +0800

於 週一，2016-08-01 於 15:13 +0200，Ludovic Courtès 提到：
> Hi,
> 
> Ting-Wei Lan <[email-masked]> skribis:
> 
> > 
> > I ran the test on core-updates branch, but it still failed.
> > 
> > Output in tests/guix-environment-container.log:
> > 
> > + cat t-guix-environment-31068/mounts
> > /path/to/a/tmpfs/mountpoint/guix-build
> > ++ wc -l
> > + test 1 -eq 4
> 
> I’m at loss; on my machine I see:
> 
> --8<---------------cut here---------------start------------->8---
> + cat t-guix-environment-18663/mounts
> /home/ludo/src/guix
> /home/ludo/src/guix/test-tmp/store/h0sb9ww7hzqcfnyiar5102amdzxm5hvy-
> bash
> /home/ludo/src/guix/test-tmp/store/p7j32xzhdkd1h13d8kh1qw3jq7vbdbkp-
> guile-bootstrap-2.0
> /home/ludo/src/guix/test-tmp/store/vqrqdk62gjyca4isl7qq5d0zxanwl5va-
> profile
> --8<---------------cut here---------------end--------------->8---
> 
> Any idea what happens to the 3
> /path/to/a/tmpfs/mountpoint/guix-build/test-tmp entries on your
> system?

They are on tmpfs and the order of the two arguments of 'string-
prefix?' function seems to be wrong, so these 3 entries are ignored.

A simple fix:

diff --git a/tests/guix-environment-container.sh b/tests/guix-environment-container.sh
index 12da950..d7c1b70 100644
--- a/tests/guix-environment-container.sh
+++ b/tests/guix-environment-container.sh
@@ -72,7 +72,7 @@ mount_test_code="
                   ;; correspond to a parent file system.
                   ((_ mount (or \"tmpfs\" \"proc\" \"sysfs\" \"devtmpfs\"
                                 \"devpts\" \"cgroup\" \"mqueue\") _ _ _)
-                   (and (string-prefix? mount (getcwd))
+                   (and (string-prefix? (getcwd) mount)
 		        mount))
                   ((_ mount _ _ _ _)
                    mount)))

After changing the order, guix-environment-container.sh passes.

> Thanks,
> Ludo’.