]> ocean-lang.org Git - ocean/commitdiff
tests: restore coverage testing.
authorNeilBrown <neil@brown.name>
Fri, 5 Mar 2021 08:04:45 +0000 (19:04 +1100)
committerNeilBrown <neil@brown.name>
Fri, 5 Mar 2021 08:04:45 +0000 (19:04 +1100)
I don't know what changed, but coverage testing stopped working.
Fixed now.

Also add some "|| exit 1" to fail quickly when needed.

Signed-off-by: NeilBrown <neil@brown.name>
csrc/oceani-tests.mdc
csrc/scanner-tests.mdc

index ab89bf27ccd52140f8b43a4a72c0ecf18d6d8ec0..87a7aa99a548b876a4ef5962b446d03f0ec74800 100644 (file)
@@ -54,14 +54,14 @@ arguments separated from the name by commas.  For each test, there is a section
                    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;\
+                   ./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.. "; \
@@ -75,8 +75,9 @@ arguments separated from the name by commas.  For each test, there is a section
 
                ## 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) }' \
index d527ed0442fc9c68bbbe2f0e586bfa65409ce2c5..776b2533f98046109af0e8cc8938a33a67379ca5 100644 (file)
@@ -33,12 +33,12 @@ about each test.
                done
 
                ## other tests
-
+               @for i in coverage/#*.gcda; do mv $$i coverage/$${i##*#}; done
                @gcov -o coverage scanner.c libscanner.c > /dev/null 2> /dev/null
                @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.95) exit(1) }' \
+                        if (ran < (ran + skip) *0.94) exit(1) }' \
                        coverage/scanner.mdc.gcov
                @rm -f .tmp*