Commits

Peter Bex  committed a446754

Some restructuring of the test groupings

  • Participants
  • Parent commits c8a0aeb

Comments (0)

Files changed (1)

File tests/run.scm

         (run/string* (lambda () (display "This is a test")))))
 
 (test-group "Macro (EPF) interface"
- (delete-file* "outfile")               ; Leftovers
- (let ((outfile "outfile"))
-   (test "Subprocess writing to a file"
-         "hi, there\n"
-         (begin (run (echo "hi, there") (> ,outfile))
-                (read-all "outfile"))))
- 
- (delete-file* "outfile")
- (let ((echo-command 'echo))
-   (test "Subprocess piped to another process, writing to a file"
-         "1235\n"
-         (begin (run (pipe (,echo-command "1234" + 1) ("bc")) (> outfile))
-                (read-all "outfile"))))
- (delete-file* "outfile")
+  (delete-file* "outfile")              ; Leftovers from last run
 
- (test "Simple run/string"
-       "hi, there\n"
-       (run/string (echo "hi, there")))
+  (test-group "Various run/... forms"
+    (test "Simple run/string"
+          "hi, there\n"
+          (run/string (echo "hi, there")))
 
- (test "Simple run/sexp"
-       '("hi, there")
-       (run/sexp (echo "(\"hi, there\")")))
+    (test "Simple run/sexp"
+          '("hi, there")
+          (run/sexp (echo "(\"hi, there\")")))
 
- (test "Simple run/sexps"
-       '(("hi, there") (a b c))
-       (run/sexps (echo "(\"hi, there\") (a b c)")))
+    (test "Simple run/sexps"
+          '(("hi, there") (a b c))
+          (run/sexps (echo "(\"hi, there\") (a b c)")))
 
- (test "Simple run/port"
-       '(a b c)
-       (read (run/port (echo "(a b c)"))))
+    (test "Simple run/port"
+          '(a b c)
+          (read (run/port (echo "(a b c)")))))
 
- (test "Nested output redirection with pipe+"
-       "foo\n"
-       (run/string (pipe+ ((1 0))
-                          (pipe+ ((2 0)) (sh -c "echo foo >&2") (cat))
-                          (cat))))
+  (test-group "Subprocesses"
+    (let ((outfile "outfile"))
+      (test "Subprocess writing to a file"
+            "hi, there\n"
+            (begin (run (echo "hi, there") (> ,outfile))
+                   (read-all "outfile"))))
+  
+    (delete-file* "outfile")
+    (let ((echo-command 'echo))
+      (test "Subprocess piped to another process, writing to a file"
+            "1235\n"
+            (begin (run (pipe (,echo-command "1234" + 1) ("bc")) (> outfile))
+                   (read-all "outfile"))))
+    (delete-file* "outfile")
 
- (test "&& runs for all true values"
-       (list #t "bar\n")
-       (list (&& (epf (echo "foo") (> outfile))
+    (test "Nested output redirection with pipe+"
+          "foo\n"
+          (run/string (pipe+ ((1 0))
+                             (pipe+ ((2 0)) (sh -c "echo foo >&2") (cat))
+                             (cat)))))
+
+  (test-group "Conditional process sequencing forms"
+    (test "&& runs for all true values"
+          (list #t "bar\n")
+          (list (&& (epf (echo "foo") (> outfile))
+                    (true)
+                    (epf (echo "bar") (> outfile)))
+                (read-all "outfile")))
+    (delete-file* "outfile")
+
+    (test "&& stops at first false value and returns false"
+          (list #f "foo\n")
+          (list (&& (epf (echo "foo") (> outfile))
+                    (false)
+                    (epf (echo "bar") (> outfile)))
+                (read-all "outfile")))
+    (delete-file* "outfile")
+
+    (test "|| stops at first true value and returns true"
+          (list #t "foo\n")
+          (list (|| (epf (echo "foo") (> outfile))
                  (true)
                  (epf (echo "bar") (> outfile)))
-             (read-all "outfile")))
- (delete-file* "outfile")
+                (read-all "outfile")))
+    (delete-file* "outfile")
 
- (test "&& stops at first false value and returns false"
-       (list #f "foo\n")
-       (list (&& (epf (echo "foo") (> outfile))
-                 (false)
+    (test "|| continues after first false value and returns true"
+          (list #t "bar\n")
+          (list (|| (false)
                  (epf (echo "bar") (> outfile)))
-             (read-all "outfile")))
- (delete-file* "outfile")
+                (read-all "outfile")))
+    (delete-file* "outfile")
 
- (test "|| stops at first true value and returns true"
-       (list #t "foo\n")
-       (list (|| (epf (echo "foo") (> outfile))
-                 (true)
-                 (epf (echo "bar") (> outfile)))
-         (read-all "outfile")))
- (delete-file* "outfile")
-
- (test "|| continues after first false value and returns true"
-       (list #t "bar\n")
-       (list (|| (false)
-                 (epf (echo "bar") (> outfile)))
-             (read-all "outfile")))
- (delete-file* "outfile")
-
- (test "|| continues beyond all false values and returns false"
-       #f
-       (|| (false) (epf (sh -c "echo hi && false") (- 1)))))
+    (test "|| continues beyond all false values and returns false"
+          #f
+          (|| (false) (epf (sh -c "echo hi && false") (- 1))))))
 
 (test-exit)