summaryrefslogtreecommitdiff
path: root/trip.rc
diff options
context:
space:
mode:
Diffstat (limited to 'trip.rc')
-rw-r--r--trip.rc18
1 files changed, 18 insertions, 0 deletions
diff --git a/trip.rc b/trip.rc
index 6a42350..bb5643f 100644
--- a/trip.rc
+++ b/trip.rc
@@ -690,3 +690,21 @@ if (! ~ $X YYY) {
A=``($nl){ $rc -c 'mkdir / >[2=1] | tr a-z A-Z' }
B=``($nl){ $rc -c '>[2=1] mkdir / | tr a-z A-Z' }
~ $A $B || fail counter intuitive redirection bug, $A '!=' $B
+
+# test for github issue #40
+$rc -ec 'false | false'
+if (~ $status 0) {
+ fail '"rc -e" exits with zero status when command in pipeline returns non-zero'
+}
+$rc -ec 'X=`{false}'
+if (~ $status 0) {
+ fail '"rc -e" exits with zero status when backquote command returns non-zero'
+}
+
+# exercise flag builtin
+submatch 'flag' 'rc: not enough arguments to flag' 'flag no args'
+submatch 'flag a b c' 'usage: flag f [ + | - ]' 'flag 3 args'
+submatch 'flag xx' 'usage: flag f [ + | - ]' 'flag wrong first arg'
+submatch 'flag x x' 'usage: flag f [ + | - ]' 'flag wrong second arg'
+submatch 'flag c && echo yes' yes 'flag c'
+submatch 'flag x +; flag x -' 'flag x -' 'setting x flag'