diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-04-28 17:17:33 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-05-10 14:53:56 +0200 |
commit | dac1c97d131d297134fa878ac240d9ec0127044b (patch) | |
tree | fd64fc397e73001b8e6ae6e3513602feaaad65fe /tests | |
parent | 8584965b7949cdd7a4cd702b5422474b088beb36 (diff) | |
download | patches-dac1c97d131d297134fa878ac240d9ec0127044b.tar patches-dac1c97d131d297134fa878ac240d9ec0127044b.tar.gz |
union: Add 'relative-file-name'.
* guix/build/union.scm (%not-slash): New variable.
(relative-file-name): New procedure.
* tests/union.scm (test-relative-file-name): New macro and tests.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/union.scm | 18 | ||||
-rw-r--r-- | tests/utils.scm | 2 |
2 files changed, 19 insertions, 1 deletions
diff --git a/tests/union.scm b/tests/union.scm index aa95cae001..5a6a4033fc 100644 --- a/tests/union.scm +++ b/tests/union.scm @@ -184,4 +184,22 @@ (file-is-directory? "bin") (eq? 'symlink (stat:type (lstat "bin/guile")))))))) +(letrec-syntax ((test-relative-file-name + (syntax-rules (=>) + ((_ (reference file => expected) rest ...) + (begin + (test-equal (string-append "relative-file-name " + reference " " file) + expected + (relative-file-name reference file)) + (test-relative-file-name rest ...))) + ((_) + #t)))) + (test-relative-file-name + ("/a/b" "/a/c/d" => "../c/d") + ("/a/b" "/a/b" => "") + ("/a/b" "/a" => "..") + ("/a/b" "/a/b/c/d" => "c/d") + ("/a/b/c" "/a/d/e/f" => "../../d/e/f"))) + (test-end) diff --git a/tests/utils.scm b/tests/utils.scm index 035886dd16..197182acf7 100644 --- a/tests/utils.scm +++ b/tests/utils.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> ;;; |