aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-05-20 17:07:23 +0200
committerLudovic Courtès <ludo@gnu.org>2016-05-21 01:35:14 +0200
commita773c3142dd168e1c4480614d3f5fd9d003954cd (patch)
treedaf8111a6b4a105fae5d226dad7774361d12f721 /tests
parent97507ebedc8e1265c2ed354e50a218fb9ee6087b (diff)
downloadguix-a773c3142dd168e1c4480614d3f5fd9d003954cd.tar
guix-a773c3142dd168e1c4480614d3f5fd9d003954cd.tar.gz
graph: Allow store file names for 'derivation' and 'references' graphs.
* guix/scripts/graph.scm (%derivation-node-type)[convert]: Add 'derivation-path?' and catch-all clauses. (%reference-node-type)[convert]: Add 'store-path?' and catch-all clauses. (assert-package, nodes-from-package): New procedures. (%package-node-type, %bag-node-type,%bag-with-origins-node-type) (%bag-emerged-node-type): Add 'convert' field (guix-graph): Rename 'packages' to 'items' and allow 'store-path?' arguments. * guix/graph.scm (<node-type>)[convert]: Adjust comment. * doc/guix.texi (Invoking guix graph): Document it.
Diffstat (limited to 'tests')
-rw-r--r--tests/guix-graph.sh18
1 files changed, 17 insertions, 1 deletions
diff --git a/tests/guix-graph.sh b/tests/guix-graph.sh
index 4d5a755bc1..1ec99706fd 100644
--- a/tests/guix-graph.sh
+++ b/tests/guix-graph.sh
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
-# Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
@@ -20,6 +20,10 @@
# Test the 'guix graph' command-line utility.
#
+tmpfile1="t-guix-graph1-$$"
+tmpfile2="t-guix-graph2-$$"
+trap 'rm -f "$tmpfile1" "$tmpfile2"' EXIT
+
guix graph --version
for package in guile-bootstrap coreutils python
@@ -37,3 +41,15 @@ guix graph -e '(@ (gnu packages bootstrap) %bootstrap-guile)' \
| grep guile-bootstrap
if guix graph -e +; then false; else true; fi
+
+# Try passing store file names.
+
+guix graph -t references guile-bootstrap > "$tmpfile1"
+guix graph -t references `guix build guile-bootstrap` > "$tmpfile2"
+cmp "$tmpfile1" "$tmpfile2"
+
+# XXX: Filter the file names in the graph to work around the fact that we get
+# a mixture of relative and absolute file names.
+guix graph -t derivation coreutils > "$tmpfile1"
+guix graph -t derivation `guix build -d coreutils` > "$tmpfile2"
+cmp "$tmpfile1" "$tmpfile2"