]> ocean-lang.org Git - ocean/blobdiff - csrc/oceani-tests.mdc
oceani: improve test coverage
[ocean] / csrc / oceani-tests.mdc
index d5541e9c3e21ea27ddb418d666789d8062c60beb..dde99bf37b55db6141c8ae241c6b2d97b1d682a3 100644 (file)
@@ -84,7 +84,7 @@ arguments separated from the name by commas.  For each test, there is a section
                        coverage/oceani.mdc.gcov
                @rm -f .tmp*
 
-               @for T in $(oceani_tests); do \
+               @[ -n "$$SKIP_VALGRIND" ] || for T in $(oceani_tests); do \
                    echo -n "Valgrind $$T.. "; \
                    i="$$IFS"; IFS=,; set $$T; IFS="$$i"; t=$$1; shift; \
                    if ! valgrind --error-exitcode=1 --log-file=.tmp.valg ./oceani --section "test: $$t" oceani-tests.mdc $${1+"$$@"} \
@@ -282,9 +282,10 @@ Here I break it into two parts, keeping the array code separate.
 
 ###### test: sayhello
 
-       program As Bs astr bbools:
-               A := $As; B := $Bs
-               bbool := bbools == "True"
+       program ac av:
+               A := $av[1]; B := $av[2]
+               astr := av[3]
+               bbool := av[ac-1] == "True"
                print "Hello World, what lovely oceans you have!"
                /* When a variable is defined in both branches of an 'if',
                 * and used afterwards, the variables are merged.
@@ -793,7 +794,7 @@ various places that `type_err()` are called.
        oceani: type error in program - not running.
 
 ###### test list
-       oceani_failing_tests += type_err_const type_err_const1
+       oceani_failing_tests += type_err_const type_err_const1 missing_program
 
 ###### test: type_err_const
        const
@@ -824,6 +825,13 @@ various places that `type_err()` are called.
        .tmp.code:3:12: Syntax error in constant: :
        .tmp.code:4:12: Syntax error in constant: :
 
+###### test: missing_program
+       const
+               foo::="bar"
+
+###### output: missing_program
+       oceani: no program found.
+
 ## Test erroneous command line args
 
 To improve coverage, we want to test correct handling of strange command