From 95aa82d18205907d4f4d73f43c1d6bf2a82af288 Mon Sep 17 00:00:00 2001 From: NeilBrown <neil@brown.name> Date: Sat, 18 Dec 2021 21:07:54 +1100 Subject: [PATCH] oceani: handle some more untested code. The mark-untested filter was removing some annotations that are valid... I'm not sure of this 'switch' syntax ... need to think about that one day. Signed-off-by: NeilBrown <neil@brown.name> --- csrc/oceani-tests.mdc | 11 +++++------ csrc/oceani.mdc | 8 ++++---- tools/mark-untested | 2 +- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/csrc/oceani-tests.mdc b/csrc/oceani-tests.mdc index 45240a2..4e9f4e3 100644 --- a/csrc/oceani-tests.mdc +++ b/csrc/oceani-tests.mdc @@ -221,12 +221,11 @@ Test merging of variables from multiple cases print for i:=0; then i=i+1; while i < 5: - switch i: - case 0: num:="zero" - case 1: num:="one" - case 2: num:="two" - case 3: num:="three" - else num:="many" + switch { use i } + case 0: num:="zero" ; + case 1: num:="one" ; + case 2 { num:="two" } case 3 { num:="three" } + else num:="many" // re-declare a CondScope variable num := i*i print num,", ", diff --git a/csrc/oceani.mdc b/csrc/oceani.mdc index ca59924..ad0d1b5 100644 --- a/csrc/oceani.mdc +++ b/csrc/oceani.mdc @@ -4576,7 +4576,7 @@ the common header for all reductions to use. ComplexStatements -> ComplexStatements ComplexStatement ${ if ($2 == NULL) { - $0 = $<1; + $0 = $<1; // NOTEST - impossible } else { $0 = new(binode); $0->op = Block; @@ -4586,7 +4586,7 @@ the common header for all reductions to use. }$ | ComplexStatement ${ if ($1 == NULL) { - $0 = NULL; + $0 = NULL; // NOTEST - impossible } else { $0 = new(binode); $0->op = Block; @@ -5784,7 +5784,7 @@ is a bit more interesting at this level. $0 = declare_function(c, $<FN, $<Ar, $<Ty, NULL, $<Bl); }$ | func FuncName ( OpenScope ArgsLine ) : ( ArgsLine ) Block Newlines ${ - $0 = declare_function(c, $<FN, $<AL, NULL, $<AL2, $<Bl); + $0 = declare_function(c, $<FN, $<AL, NULL, $<AL2, $<Bl); // UNTESTED }$ | func FuncName IN OpenScope Args OUT OptNL return Type Newlines do Block Newlines ${ $0 = declare_function(c, $<FN, $<Ar, $<Ty, NULL, $<Bl); @@ -5796,7 +5796,7 @@ is a bit more interesting at this level. $0 = declare_function(c, $<FN, $<Ar, NULL, $<Ar2, $<Bl); }$ | func FuncName NEWLINE OpenScope return IN Args OUT OptNL do Block Newlines ${ - $0 = declare_function(c, $<FN, NULL, NULL, $<Ar, $<Bl); + $0 = declare_function(c, $<FN, NULL, NULL, $<Ar, $<Bl); // UNTESTED }$ ###### print func decls diff --git a/tools/mark-untested b/tools/mark-untested index 96aeb2c..83b7b5f 100755 --- a/tools/mark-untested +++ b/tools/mark-untested @@ -17,7 +17,7 @@ case $1 in if [ ! -f "$b" ]; then continue fi - grep '#####:' "$i" | grep -vE '(NOTEST|UNTESTED|: *##|}\$$|:$|:[ ]*(\||\$))' | + grep '#####:' "$i" | grep -vE '(NOTEST|UNTESTED|: *##|}\$$|:$)' | awk -F: '{printf "%ds,$, // UNTESTED,\n", $2}' | sed -i -e 's,[ ]*// UNTESTED$,,' -f - "$b" grep '[0-8]: *[1-9][0-9]*:.*// NOTEST$' "$i" | -- 2.43.0