echo -n "printing.. "; \
echo '``````' > .tmp.code1; echo '``````' > .tmp.code2 ;\
./oceani --noexec --print --section "test: $$t" oceani-tests.mdc >> .tmp.code1; \
- ./oceani --noexec --print .tmp.code1 >> .tmp.code2 ;\
+ ./oceani --noexec --print .tmp.code1 >> .tmp.code2 || exit 1;\
if ! cmp -s .tmp.code1 .tmp.code2; then \
echo " Failed"; diff -u .tmp.code1 .tmp.code2; exit 1 ; fi ; \
+ echo -n "extra-newlines.. "; \
+ sed -e 'i\
+ ' .tmp.code1 > .tmp.code1a; \
+ echo '``````' > .tmp.code2a ;\
+ ./oceani --noexec --print .tmp.code1a >> .tmp.code2a || exit 1;\
+ if ! cmp -s .tmp.code1 .tmp.code2a; then \
+ echo " Failed"; diff -u .tmp.code1 .tmp.code2a; exit 1; fi ; \
echo -n "exec-after-print.. "; \
./oceani .tmp.code1 $${1+"$$@"} > .tmp.have ; \
if ! cmp -s .tmp.want .tmp.have; then \
## test code
+ @for i in coverage/#*.gcda; do mv $$i coverage/$${i##*#}; done
@gcov -o coverage oceani.mdc > /dev/null 2> /dev/null
- @mv *.gcov coverage ; [ -f .gcov ] && mv .gcov coverage
+ @mv *.gcov coverage ; [ -f .gcov ] && mv .gcov coverage || true
@ awk '/NOTEST/ { next } /^ *[1-9]/ {ran+=1} /^ *###/ {skip+=1} \
END {printf "coverage: %6.2f%%\n", ran * 100 / (ran + skip); \
if (ran < (ran + skip) *0.94) exit(1) }' \
print "Close enough"
print "lower" if 355/113 < pi else "higher"
+ if pi > 3 then print "pi exceeds three"; else print "need more pie"
+ if (pi < 3) { print "not enough pi" } else { print "pi sufficient" }
+ for { i := 0; sum := 0 }
+ then { i = i+1 }
+ while i <= 10:
+ sum = sum + i
+ else:
+ pass
+ print "sum 1..10 is", sum
+
###### output: cond_loop
Success
1 2 4 8 16 32 64
I won't calculate 20 / 9
Close enough
higher
+ pi exceeds three
+ pi sufficient
+ sum 1..10 is 55
## Say Hello
###### output: type_err_const1
.tmp.code:3:12: Syntax error in constant: :
- .tmp.code:4:8: Syntax error in constant: bar
+ .tmp.code:4:12: Syntax error in constant: :
## Test erroneous command line args
###### output: cmd,-zyx
./oceani: invalid option -- 'z'
- Usage: oceani --trace --print --noexec --brackets--section=SectionName prog.ocn
+ Usage: oceani --trace --print --noexec --brackets --section=SectionName prog.ocn
###### output: cmd,nofile
oceani: cannot open nofile