From c37a74bd3e9ef70eb1431ec932ca01785e1d57bc Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 3 Nov 2014 21:26:48 +0100 Subject: packages: 'package-transitive-supported-systems' accounts for indirect deps. Reported by Andreas Enge . * guix/packages.scm (first-value): New macro. (package-transitive-supported-systems): Rewrite to traverse all the DAG rooted at PACKAGE. * tests/packages.scm ("package-transitive-supported-systems"): Add 'd' and 'e', and test them. --- tests/packages.scm | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/packages.scm b/tests/packages.scm index 4f700b712f..98fa9b5698 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -125,17 +125,25 @@ (pk 'x (package-transitive-inputs e)))))) (test-equal "package-transitive-supported-systems" - '(("x" "y" "z") - ("x" "y") - ("y")) + '(("x" "y" "z") ;a + ("x" "y") ;b + ("y") ;c + ("y") ;d + ("y")) ;e (let* ((a (dummy-package "a" (supported-systems '("x" "y" "z")))) (b (dummy-package "b" (supported-systems '("x" "y")) (inputs `(("a" ,a))))) (c (dummy-package "c" (supported-systems '("y" "z")) - (inputs `(("b" ,b)))))) + (inputs `(("b" ,b))))) + (d (dummy-package "d" (supported-systems '("x" "y" "z")) + (inputs `(("b" ,b) ("c" ,c))))) + (e (dummy-package "e" (supported-systems '("x" "y" "z")) + (inputs `(("d" ,d)))))) (list (package-transitive-supported-systems a) (package-transitive-supported-systems b) - (package-transitive-supported-systems c)))) + (package-transitive-supported-systems c) + (package-transitive-supported-systems d) + (package-transitive-supported-systems e)))) (test-skip (if (not %store) 8 0)) -- cgit v1.2.3