From: Ben Pfaff Date: Sat, 6 Nov 2021 18:42:26 +0000 (-0700) Subject: READ negative tests X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e609c7d767ffd600fd844327b292590259cbb0de;hp=cee5b24767768a6a6213a8005e3f285cb9137920;p=pspp READ negative tests --- diff --git a/src/language/stats/matrix.c b/src/language/stats/matrix.c index ab58a51104..28ad99ba12 100644 --- a/src/language/stats/matrix.c +++ b/src/language/stats/matrix.c @@ -4630,6 +4630,7 @@ matrix_parse_read (struct matrix_state *s) else if (lex_match_id (s->lexer, "SIZE")) { lex_match (s->lexer, T_EQUALS); + matrix_expr_destroy (read->size); read->size = matrix_parse_exp (s); if (!read->size) goto error; diff --git a/tests/language/stats/matrix.at b/tests/language/stats/matrix.at index 154231ed3b..9b86dc874b 100644 --- a/tests/language/stats/matrix.at +++ b/tests/language/stats/matrix.at @@ -2601,3 +2601,34 @@ y 41 43 47 53 ]) AT_CLEANUP + +AT_SETUP([MATRIX - READ - negative]) +AT_DATA([matrix.sps], [dnl +MATRIX. +READ (). +READ x/FILE=(). +READ x/ENCODING=(). +READ x/FIELD=(). +READ x/FIELD=1 (). +READ x/FIELD=1 TO (). +READ x/FIELD=1 TO 0. +READ x/FIELD=1 TO 10 BY (). +READ x/FIELD=1 TO 10 BY 6. +READ x/SIZE=(). +READ x/MODE=(). +READ x/FORMAT=(). +READ x/FORMAT=F8.2/FORMAT=F8.2. +READ x/FORMAT='5XYZZY'. +READ x/FORMAT=XYZZY. +READ x/(). +READ x. +READ x/FIELD=1 TO 10. +READ x/FIELD=1 TO 10/SIZE={1,2}. +READ x/FIELD=1 TO 10/SIZE={1,2}/FILE='xyzzy.txt'/FORMAT='15F'. +READ x/FIELD=1 TO 10 BY 2/SIZE={1,2}/FILE='xyzzy.txt'/FORMAT=F5. +READ x/FIELD=1 TO 10 BY 2/SIZE={1,2}/FILE='xyzzy.txt'/FORMAT='2F'. +END MATRIX. +]) +AT_CHECK([pspp matrix.sps], [0], []) +AT_CLEANUP +