tests: 'topologically-sorted' test handles different references orders.

* tests/store.scm ("topologically-sorted, more difficult"): Arrange to
  handle a different ordering of (references %store y).
This commit is contained in:
Ludovic Courtès 2014-03-10 23:02:43 +01:00
parent 220193ad03
commit 58cbbe4b55
1 changed files with 12 additions and 3 deletions

View File

@ -190,9 +190,18 @@
(s1 (topologically-sorted %store (list y))) (s1 (topologically-sorted %store (list y)))
(s2 (topologically-sorted %store (list c y))) (s2 (topologically-sorted %store (list c y)))
(s3 (topologically-sorted %store (cons y (references %store y))))) (s3 (topologically-sorted %store (cons y (references %store y)))))
(and (equal? s1 (list w x a b c d y)) ;; The order in which 'references' returns the references of Y is
(equal? s2 (list a b c w x d y)) ;; unspecified, so accommodate.
(lset= string=? s1 s3)))) (let* ((x-then-d? (equal? (references %store y) (list x d))))
(and (equal? s1
(if x-then-d?
(list w x a b c d y)
(list a b c d w x y)))
(equal? s2
(if x-then-d?
(list a b c w x d y)
(list a b c d w x y)))
(lset= string=? s1 s3)))))
(test-assert "log-file, derivation" (test-assert "log-file, derivation"
(let* ((b (add-text-to-store %store "build" "echo $foo > $out" '())) (let* ((b (add-text-to-store %store "build" "echo $foo > $out" '()))