From ae5eb8c9a77d3d5c08db91ae0ca1f86762172a79 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Sat, 18 Dec 2021 20:26:13 +1100 Subject: [PATCH] oceani: more test coverage Signed-off-by: NeilBrown --- csrc/oceani-tests.mdc | 10 ++++++++++ csrc/oceani.mdc | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/csrc/oceani-tests.mdc b/csrc/oceani-tests.mdc index 3e2f411..b613ffe 100644 --- a/csrc/oceani-tests.mdc +++ b/csrc/oceani-tests.mdc @@ -963,6 +963,12 @@ various places that `type_err()` are called. x:Boolean = $"42" + five ::= 5 + four ::= 4 + x1:[five]number + x2:[four]number + x1 = x2 + ###### output: type_err3 .tmp.code:8:12: error: expected number but variable 'c' is string .tmp.code:7:8: info: this is where 'c' was set to string @@ -1001,6 +1007,10 @@ various places that `type_err()` are called. .tmp.code:41:29: error: string cannot provide length .tmp.code:43:21: error: Can only convert string to number, not Boolean .tmp.code:43:8: info: variable 'x' was set as Boolean here. + .tmp.code:49:13: error: expected [five]number but variable 'x2' is [four]number + .tmp.code:48:8: info: this is where 'x2' was set to [four]number + .tmp.code:49:8: error: cannot assign value of type [five]number + .tmp.code:47:8: info: variable 'x1' was set as [five]number here. oceani: type error in program - not running. ###### test: type_err4 diff --git a/csrc/oceani.mdc b/csrc/oceani.mdc index 3dbe0b1..0778da2 100644 --- a/csrc/oceani.mdc +++ b/csrc/oceani.mdc @@ -2470,13 +2470,13 @@ with a const size by whether they are prepared at parse time or not. return 0; if (have->array.unspec && require->array.unspec && have->array.size != require->array.size) - return 0; // UNTESTED + return 0; // NOTEST if (have->array.unspec || require->array.unspec) return 1; if (require->array.vsize == NULL && have->array.vsize == NULL) return require->array.size == have->array.size; - return require->array.vsize == have->array.vsize; // UNTESTED + return require->array.vsize == have->array.vsize; } static void array_print_type(struct type *type, FILE *f) -- 2.43.0