summaryrefslogtreecommitdiff
path: root/tests/test-run-tests.t
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-run-tests.t')
-rw-r--r--tests/test-run-tests.t99
1 files changed, 99 insertions, 0 deletions
diff --git a/tests/test-run-tests.t b/tests/test-run-tests.t
new file mode 100644
index 0000000..68b60cf
--- /dev/null
+++ b/tests/test-run-tests.t
@@ -0,0 +1,99 @@
+Simple commands:
+
+ $ echo foo
+ foo
+ $ printf 'oh no'
+ oh no (no-eol)
+ $ printf 'bar\nbaz\n' | cat
+ bar
+ baz
+
+Multi-line command:
+
+ $ foo() {
+ > echo bar
+ > }
+ $ foo
+ bar
+
+Return codes before inline python:
+
+ $ sh -c 'exit 1'
+ [1]
+
+Doctest commands:
+
+ >>> print 'foo'
+ foo
+ $ echo interleaved
+ interleaved
+ >>> for c in 'xyz':
+ ... print c
+ x
+ y
+ z
+ >>> print
+
+
+Regular expressions:
+
+ $ echo foobarbaz
+ foobar.* (re)
+ $ echo barbazquux
+ .*quux.* (re)
+
+Globs:
+
+ $ printf '* \\foobarbaz {10}\n'
+ \* \\fo?bar* {10} (glob)
+
+Literal match ending in " (re)":
+
+ $ echo 'foo (re)'
+ foo (re)
+
+testing hghave
+
+ $ "$TESTDIR/hghave" true
+ $ "$TESTDIR/hghave" false
+ skipped: missing feature: nail clipper
+ [1]
+ $ "$TESTDIR/hghave" no-true
+ skipped: system supports yak shaving
+ [1]
+ $ "$TESTDIR/hghave" no-false
+
+Conditional sections based on hghave:
+
+#if true
+ $ echo tested
+ tested
+#else
+ $ echo skipped
+#endif
+
+#if false
+ $ echo skipped
+#else
+ $ echo tested
+ tested
+#endif
+
+#if no-false
+ $ echo tested
+ tested
+#else
+ $ echo skipped
+#endif
+
+#if no-true
+ $ echo skipped
+#else
+ $ echo tested
+ tested
+#endif
+
+Exit code:
+
+ $ (exit 1)
+ [1]