tcl: Phase 1 parser — word-simple? + word-literal helpers (+15 tests, 67 total)
This commit is contained in:
@@ -17,8 +17,10 @@ cat > "$TMPFILE" << 'EPOCHS'
|
||||
(epoch 1)
|
||||
(load "lib/tcl/tokenizer.sx")
|
||||
(epoch 2)
|
||||
(load "lib/tcl/tests/parse.sx")
|
||||
(load "lib/tcl/parser.sx")
|
||||
(epoch 3)
|
||||
(load "lib/tcl/tests/parse.sx")
|
||||
(epoch 4)
|
||||
(eval "(tcl-run-parse-tests)")
|
||||
EPOCHS
|
||||
|
||||
@@ -26,12 +28,12 @@ OUTPUT=$(timeout 30 "$SX_SERVER" < "$TMPFILE" 2>&1)
|
||||
[ "$VERBOSE" = "-v" ] && echo "$OUTPUT"
|
||||
|
||||
# Result follows an (ok-len 3 N) line
|
||||
RESULT=$(echo "$OUTPUT" | grep -A1 "^(ok-len 3 " | tail -1)
|
||||
RESULT=$(echo "$OUTPUT" | grep -A1 "^(ok-len 4 " | tail -1)
|
||||
if [ -z "$RESULT" ]; then
|
||||
RESULT=$(echo "$OUTPUT" | grep "^(ok 3 " | sed 's/^(ok 3 //' | sed 's/)$//')
|
||||
RESULT=$(echo "$OUTPUT" | grep "^(ok 4 " | sed 's/^(ok 3 //' | sed 's/)$//')
|
||||
fi
|
||||
if [ -z "$RESULT" ]; then
|
||||
echo "ERROR: no result from epoch 3"
|
||||
echo "ERROR: no result from epoch 4"
|
||||
echo "$OUTPUT" | tail -10
|
||||
exit 1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user