Conversation
gh-116: Fix SPLIT handling of empty delimiter.
Rename tests/cases/passing/lcm.-fltpre to tests/cases/passing/lcm-flt.pre.
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
This PR adds a comprehensive set of negative (“failing”) test cases to validate parser/type/arity error handling, and updates CI to run the new test runner script.
Changes:
- Added many new
tests/cases/failing/*.preprograms covering invalid syntax, invalid types, invalid arities, and runtime error conditions. - Updated CI workflow to run the PowerShell test runner (
tests/test.ps1) instead of invokingprefix.exedirectly. - Updated
build.ps1usage comment to reflect running from the repository root folder.
Reviewed changes
Copilot reviewed 300 out of 1254 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/cases/failing/inv-arity-zero.pre | Adds failing case for INV() arity validation. |
| tests/cases/failing/inv-arity-two.pre | Adds failing case for INV with too many args. |
| tests/cases/failing/int-r-missing-digits.pre | Adds failing case for malformed radix int literal. |
| tests/cases/failing/int-r-base-too-small.pre | Adds failing case for radix base too small. |
| tests/cases/failing/int-r-base-too-large.pre | Adds failing case for radix base too large. |
| tests/cases/failing/int-r-bad-format.pre | Adds failing cases for invalid radix formatting. |
| tests/cases/failing/int-plus-sign.pre | Adds failing case for leading + on int literal. |
| tests/cases/failing/int-missing-digits.pre | Adds failing case for missing digits after radix prefix. |
| tests/cases/failing/int-invalid-digit.pre | Adds failing cases for invalid digits per base. |
| tests/cases/failing/input-type-tns.pre | Adds failing case for invalid INPUT argument type. |
| tests/cases/failing/input-type-thr.pre | Adds failing case for invalid INPUT argument type. |
| tests/cases/failing/input-type-map.pre | Adds failing case for invalid INPUT argument type. |
| tests/cases/failing/input-type-int.pre | Adds failing case for invalid INPUT argument type. |
| tests/cases/failing/input-type-func.pre | Adds failing case for invalid INPUT argument type. |
| tests/cases/failing/input-type-flt.pre | Adds failing case for invalid INPUT argument type. |
| tests/cases/failing/input-type-bool.pre | Adds failing case for invalid INPUT argument type. |
| tests/cases/failing/input-arity-two.pre | Adds failing case for INPUT arity validation. |
| tests/cases/failing/in-second-non-tns-str.pre | Adds failing case for IN with invalid second arg type. |
| tests/cases/failing/in-second-non-tns-int.pre | Adds failing case for IN with invalid second arg type. |
| tests/cases/failing/in-arity-zero.pre | Adds failing case for IN() arity validation. |
| tests/cases/failing/in-arity-three.pre | Adds failing case for IN arity validation. |
| tests/cases/failing/in-arity-one.pre | Adds failing case for IN arity validation. |
| tests/cases/failing/import_path-type-tns.pre | Adds failing case for IMPORT_PATH invalid type. |
| tests/cases/failing/import_path-type-thr.pre | Adds failing case for IMPORT_PATH invalid type. |
| tests/cases/failing/import_path-type-map.pre | Adds failing case for IMPORT_PATH invalid type. |
| tests/cases/failing/import_path-type-int.pre | Adds failing case for IMPORT_PATH invalid type. |
| tests/cases/failing/import_path-type-func.pre | Adds failing case for IMPORT_PATH invalid type. |
| tests/cases/failing/import_path-type-flt.pre | Adds failing case for IMPORT_PATH invalid type. |
| tests/cases/failing/import_path-type-bool.pre | Adds failing case for IMPORT_PATH invalid type. |
| tests/cases/failing/import_path-qualified-only.pre | Adds failing case ensuring imported symbols must be qualified. |
| tests/cases/failing/import_path-missing-file.pre | Adds failing case for missing file import. |
| tests/cases/failing/import_path-arity-zero.pre | Adds failing case for IMPORT_PATH() arity validation. |
| tests/cases/failing/import_path-arity-three.pre | Adds failing case for IMPORT_PATH arity validation. |
| tests/cases/failing/import_path-alias-type-tns.pre | Adds failing case for alias arg wrong type. |
| tests/cases/failing/import_path-alias-type-thr.pre | Adds failing case for alias arg wrong type. |
| tests/cases/failing/import_path-alias-type-str.pre | Adds failing case for alias arg wrong type. |
| tests/cases/failing/import_path-alias-type-map.pre | Adds failing case for alias arg wrong type. |
| tests/cases/failing/import_path-alias-type-int.pre | Adds failing case for alias arg wrong type. |
| tests/cases/failing/import_path-alias-type-func.pre | Adds failing case for alias arg wrong type. |
| tests/cases/failing/import_path-alias-type-flt.pre | Adds failing case for alias arg wrong type. |
| tests/cases/failing/import_path-alias-type-bool.pre | Adds failing case for alias arg wrong type. |
| tests/cases/failing/import-type-tns.pre | Adds failing case for IMPORT invalid type. |
| tests/cases/failing/import-type-thr.pre | Adds failing case for IMPORT invalid type. |
| tests/cases/failing/import-type-str.pre | Adds failing case for IMPORT invalid type. |
| tests/cases/failing/import-type-map.pre | Adds failing case for IMPORT invalid type. |
| tests/cases/failing/import-type-int.pre | Adds failing case for IMPORT invalid type. |
| tests/cases/failing/import-type-func.pre | Adds failing case for IMPORT invalid type. |
| tests/cases/failing/import-type-flt.pre | Adds failing case for IMPORT invalid type. |
| tests/cases/failing/import-type-bool.pre | Adds failing case for IMPORT invalid type. |
| tests/cases/failing/import-missing-module.pre | Adds failing case for importing a missing module. |
| tests/cases/failing/import-arity-zero.pre | Adds failing case for IMPORT() arity validation. |
| tests/cases/failing/import-arity-three.pre | Adds failing case for IMPORT arity validation. |
| tests/cases/failing/import-alias-type-tns.pre | Adds failing case for IMPORT alias wrong type. |
| tests/cases/failing/import-alias-type-thr.pre | Adds failing case for IMPORT alias wrong type. |
| tests/cases/failing/import-alias-type-str.pre | Adds failing case for IMPORT alias wrong type. |
| tests/cases/failing/import-alias-type-map.pre | Adds failing case for IMPORT alias wrong type. |
| tests/cases/failing/import-alias-type-int.pre | Adds failing case for IMPORT alias wrong type. |
| tests/cases/failing/import-alias-type-func.pre | Adds failing case for IMPORT alias wrong type. |
| tests/cases/failing/import-alias-type-flt.pre | Adds failing case for IMPORT alias wrong type. |
| tests/cases/failing/import-alias-type-bool.pre | Adds failing case for IMPORT alias wrong type. |
| tests/cases/failing/ilen-non-int.pre | Adds failing case for ILEN non-int argument. |
| tests/cases/failing/if-no-condition.pre | Adds failing case for IF{} missing condition. |
| tests/cases/failing/if-no-block.pre | Adds failing case for IF() missing block. |
| tests/cases/failing/if-elseif-seperated.pre | Adds failing case for ELSEIF separated from IF. |
| tests/cases/failing/if-elseif-no-condition.pre | Adds failing case for ELSEIF missing condition. |
| tests/cases/failing/if-elseif-no-block.pre | Adds failing case for ELSEIF missing block. |
| tests/cases/failing/if-else-seperated.pre | Adds failing case for ELSE separated from IF. |
| tests/cases/failing/if-else-no-block.pre | Adds failing case for ELSE missing block. |
| tests/cases/failing/idiv-zero-int.pre | Adds failing case for integer division by zero. |
| tests/cases/failing/iadd-coerce-type-map.pre | Adds failing case for IADD type coercion error. |
| tests/cases/failing/iadd-coerce-type-bool.pre | Adds failing case for IADD wrong type. |
| tests/cases/failing/iadd-coerce-str-int.pre | Adds failing case for IADD wrong type. |
| tests/cases/failing/iadd-coerce-int-str.pre | Adds failing case for IADD wrong type. |
| tests/cases/failing/iadd-coerce-int-nan.pre | Adds failing case for IADD invalid numeric value. |
| tests/cases/failing/iadd-coerce-int-inf.pre | Adds failing case for IADD invalid numeric value. |
| tests/cases/failing/hash-in-ident.pre | Adds failing case for invalid identifier characters. |
| tests/cases/failing/gotopoint-no-parens.pre | Adds failing case for GOTOPOINT missing parentheses. |
| tests/cases/failing/goto-no-parens.pre | Adds failing case for GOTO missing parentheses. |
| tests/cases/failing/gcd-type-str.pre | Adds failing case for GCD wrong types. |
| tests/cases/failing/gcd-type-bool.pre | Adds failing case for GCD wrong types. |
| tests/cases/failing/gcd-mixed-types.pre | Adds failing case for GCD mixed int/float. |
| tests/cases/failing/gcd-mixed-types-reversed.pre | Adds failing case for GCD mixed float/int. |
| tests/cases/failing/gcd-arity-three.pre | Adds failing case for GCD arity. |
| tests/cases/failing/gcd-arity-one.pre | Adds failing case for GCD arity. |
| tests/cases/failing/func-positional-after-keyword.pre | Adds failing case for positional args after keyword args. |
| tests/cases/failing/func-name-conflicts-symbol.pre | Adds failing case for name conflict between symbol and function. |
| tests/cases/failing/func-name-conflicts-builtin.pre | Adds failing case for redefining builtin name. |
| tests/cases/failing/func-missing-return-type.pre | Adds failing case for missing function return type. |
| tests/cases/failing/func-missing-param-type.pre | Adds failing case for missing function param type. |
| tests/cases/failing/func-default-before-positional.pre | Adds failing case for default param before required param. |
| tests/cases/failing/fsum-str.pre | Adds failing case for FSUM wrong type input. |
| tests/cases/failing/froot-neg-even.pre | Adds failing case for root of negative with even exponent. |
| tests/cases/failing/fprod-str.pre | Adds failing case for FPROD wrong type. |
| tests/cases/failing/fprod-bool.pre | Adds failing case for FPROD wrong type. |
| tests/cases/failing/fprod-arity-zero.pre | Adds failing case for FPROD arity. |
| tests/cases/failing/for-target-not-int.pre | Adds failing case for FOR wrong target type. |
| tests/cases/failing/for-no-target.pre | Adds failing case for FOR missing target. |
| tests/cases/failing/for-no-block.pre | Adds failing case for FOR missing block. |
| tests/cases/failing/flt-plus-sign.pre | Adds failing case for leading + in float literal. |
| tests/cases/failing/flt-no-integer.pre | Adds failing case for float missing integer part. |
| tests/cases/failing/flt-no-fraction.pre | Adds failing case for float missing fractional digits. |
| tests/cases/failing/flt-negative-nan.pre | Adds failing case for invalid signed NaN float literal. |
| tests/cases/failing/flt-invalid-digit.pre | Adds failing case for invalid digits in float literal. |
| tests/cases/failing/first-decl-no-type.pre | Adds failing case for first declaration missing type. |
| tests/cases/failing/first-assign-no-type.pre | Adds failing case for first assignment missing type. |
| tests/cases/failing/fill-value-type-mismatch-str-tensor.pre | Adds failing case for FILL value type mismatch. |
| tests/cases/failing/fill-value-type-mismatch-int-tensor.pre | Adds failing case for FILL value type mismatch. |
| tests/cases/failing/fill-first-non-tns.pre | Adds failing case for FILL wrong first arg type. |
| tests/cases/failing/fill-arity-zero.pre | Adds failing case for FILL arity. |
| tests/cases/failing/fill-arity-three.pre | Adds failing case for FILL arity. |
| tests/cases/failing/fill-arity-one.pre | Adds failing case for FILL arity. |
| tests/cases/failing/extend-restricted-not-global.pre | Adds failing case for restricted extension usage context. |
| tests/cases/failing/extend-prex-rejected.pre | Adds failing case for rejected extension loader. |
| tests/cases/failing/extend-package-missing-init.pre | Adds failing case for package missing init. |
| tests/cases/failing/extend-missing-init-symbol.pre | Adds failing case for missing init symbol. |
| tests/cases/failing/extend-missing-file.pre | Adds failing case for missing extension file. |
| tests/cases/failing/extend-asmodule-not-qualified.pre | Adds failing case for unqualified access after import-as-module. |
| tests/cases/failing/export-unimported-module.pre | Adds failing case for exporting to unimported module. |
| tests/cases/failing/export-undeclared-symbol.pre | Adds failing case for exporting undeclared symbol. |
| tests/cases/failing/export-symbol-type-tns.pre | Adds failing case for exporting wrong symbol type. |
| tests/cases/failing/export-symbol-type-thr.pre | Adds failing case for exporting wrong symbol type. |
| tests/cases/failing/export-symbol-type-str.pre | Adds failing case for exporting wrong symbol type. |
| tests/cases/failing/export-symbol-type-map.pre | Adds failing case for exporting wrong symbol type. |
| tests/cases/failing/export-symbol-type-int.pre | Adds failing case for exporting wrong symbol type. |
| tests/cases/failing/export-symbol-type-func.pre | Adds failing case for exporting wrong symbol type. |
| tests/cases/failing/export-symbol-type-flt.pre | Adds failing case for exporting wrong symbol type. |
| tests/cases/failing/export-symbol-type-bool.pre | Adds failing case for exporting wrong symbol type. |
| tests/cases/failing/export-module-type-tns.pre | Adds failing case for exporting to wrong module type. |
| tests/cases/failing/export-module-type-thr.pre | Adds failing case for exporting to wrong module type. |
| tests/cases/failing/export-module-type-str.pre | Adds failing case for exporting to wrong module type. |
| tests/cases/failing/export-module-type-map.pre | Adds failing case for exporting to wrong module type. |
| tests/cases/failing/export-module-type-int.pre | Adds failing case for exporting to wrong module type. |
| tests/cases/failing/export-module-type-func.pre | Adds failing case for exporting to wrong module type. |
| tests/cases/failing/export-module-type-flt.pre | Adds failing case for exporting to wrong module type. |
| tests/cases/failing/export-module-type-bool.pre | Adds failing case for exporting to wrong module type. |
| tests/cases/failing/export-deleted-symbol.pre | Adds failing case for exporting a deleted symbol. |
| tests/cases/failing/export-declared-only-symbol.pre | Adds failing case for exporting declared-only symbol. |
| tests/cases/failing/export-arity-zero.pre | Adds failing case for EXPORT() arity. |
| tests/cases/failing/export-arity-three.pre | Adds failing case for EXPORT arity. |
| tests/cases/failing/export-arity-one.pre | Adds failing case for EXPORT arity. |
| tests/cases/failing/exit-type-tns.pre | Adds failing case for EXIT wrong type. |
| tests/cases/failing/exit-type-thr.pre | Adds failing case for EXIT wrong type. |
| tests/cases/failing/exit-type-str.pre | Adds failing case for EXIT wrong type. |
| tests/cases/failing/exit-type-map.pre | Adds failing case for EXIT wrong type. |
| tests/cases/failing/exit-type-func.pre | Adds failing case for EXIT wrong type. |
| tests/cases/failing/exit-type-flt.pre | Adds failing case for EXIT wrong type. |
| tests/cases/failing/exit-type-bool.pre | Adds failing case for EXIT wrong type. |
| tests/cases/failing/exit-arity-two.pre | Adds failing case for EXIT arity. |
| tests/cases/failing/existfile-tns.pre | Adds failing case for EXISTFILE wrong type. |
| tests/cases/failing/existfile-thr.pre | Adds failing case for EXISTFILE wrong type. |
| tests/cases/failing/existfile-map.pre | Adds failing case for EXISTFILE wrong type. |
| tests/cases/failing/existfile-int.pre | Adds failing case for EXISTFILE wrong type. |
| tests/cases/failing/existfile-func.pre | Adds failing case for EXISTFILE wrong type. |
| tests/cases/failing/existfile-flt.pre | Adds failing case for EXISTFILE wrong type. |
| tests/cases/failing/existfile-bool.pre | Adds failing case for EXISTFILE wrong type. |
| tests/cases/failing/existfile-arity-zero.pre | Adds failing case for EXISTFILE() arity. |
| tests/cases/failing/existfile-arity-two.pre | Adds failing case for EXISTFILE arity. |
| tests/cases/failing/equals-in-ident.pre | Adds failing case for invalid identifier characters. |
| tests/cases/failing/eq-arity-three.pre | Adds failing case for EQ arity. |
| tests/cases/failing/eq-arity-one.pre | Adds failing case for EQ arity. |
| tests/cases/failing/empty-identifier.pre | Adds failing case for empty identifier. |
| tests/cases/failing/elseif-no-if.pre | Adds failing case for ELSEIF without IF. |
| tests/cases/failing/elseif-elseif-seperated.pre | Adds failing case for ELSEIF separated from chain. |
| tests/cases/failing/elseif-else-seperated.pre | Adds failing case for ELSE separated from chain. |
| tests/cases/failing/elseif-after-else.pre | Adds failing case for ELSEIF after ELSE. |
| tests/cases/failing/else-no-if.pre | Adds failing case for ELSE without IF. |
| tests/cases/failing/div-zero-int.pre | Adds failing case for division by zero (int). |
| tests/cases/failing/div-zero-flt.pre | Adds failing case for division by zero (float). |
| tests/cases/failing/deletefile-tns.pre | Adds failing case for DELETEFILE wrong type. |
| tests/cases/failing/deletefile-thr.pre | Adds failing case for DELETEFILE wrong type. |
| tests/cases/failing/deletefile-nonexistent.pre | Adds failing case for deleting nonexistent file. |
| tests/cases/failing/deletefile-map.pre | Adds failing case for DELETEFILE wrong type. |
| tests/cases/failing/deletefile-int.pre | Adds failing case for DELETEFILE wrong type. |
| tests/cases/failing/deletefile-func.pre | Adds failing case for DELETEFILE wrong type. |
| tests/cases/failing/deletefile-flt.pre | Adds failing case for DELETEFILE wrong type. |
| tests/cases/failing/deletefile-bool.pre | Adds failing case for DELETEFILE wrong type. |
| tests/cases/failing/deletefile-arity-zero.pre | Adds failing case for DELETEFILE() arity. |
| tests/cases/failing/deletefile-arity-two.pre | Adds failing case for DELETEFILE arity. |
| tests/cases/failing/del-type-mismatch-after-delete.pre | Adds failing case for redeclare type mismatch after delete. |
| tests/cases/failing/del-nonexistent-symbol.pre | Adds failing case for deleting unknown symbol. |
| tests/cases/failing/del-never-assigned-symbol.pre | Adds failing case for deleting never-assigned symbol. |
| tests/cases/failing/del-map-target-not-map.pre | Adds failing case for DEL map indexing on non-map. |
| tests/cases/failing/del-map-intermediate-not-map.pre | Adds failing case for DEL nested map path invalid. |
| tests/cases/failing/del-already-deleted-symbol.pre | Adds failing case for deleting same symbol twice. |
| tests/cases/failing/deepcopy-arity-zero.pre | Adds failing case for DEEPCOPY() arity. |
| tests/cases/failing/deepcopy-arity-two.pre | Adds failing case for DEEPCOPY arity. |
| tests/cases/failing/copy-arity-zero.pre | Adds failing case for COPY() arity. |
| tests/cases/failing/copy-arity-two.pre | Adds failing case for COPY arity. |
| tests/cases/failing/convert-value-string.pre | Adds failing case for CONVERT wrong input type. |
| tests/cases/failing/convert-value-map.pre | Adds failing case for CONVERT wrong input type. |
| tests/cases/failing/convert-base-wrong-type.pre | Adds failing case for CONVERT base wrong type. |
| tests/cases/failing/convert-base-too-small.pre | Adds failing case for CONVERT base too small. |
| tests/cases/failing/convert-base-too-large.pre | Adds failing case for CONVERT base too large. |
| tests/cases/failing/conv-second-non-tns.pre | Adds failing case for CONV wrong second arg type. |
| tests/cases/failing/conv-legacy-rank-mismatch.pre | Adds failing case for legacy CONV rank mismatch. |
| tests/cases/failing/conv-legacy-even-kernel.pre | Adds failing case for legacy CONV even kernel size. |
| tests/cases/failing/conv-first-non-tns.pre | Adds failing case for CONV wrong first arg type. |
| tests/cases/failing/conv-extended-x-not-rank3.pre | Adds failing case for extended CONV x rank error. |
| tests/cases/failing/conv-extended-stride-w-non-int.pre | Adds failing case for extended CONV stride type error. |
| tests/cases/failing/conv-extended-kernel-not-rank4.pre | Adds failing case for extended CONV kernel rank error. |
| tests/cases/failing/conv-extended-bias-size-mismatch.pre | Adds failing case for extended CONV bias size mismatch. |
| tests/cases/failing/conv-extended-bias-not-tns.pre | Adds failing case for extended CONV bias type error. |
| tests/cases/failing/conv-arity-zero.pre | Adds failing case for CONV() arity. |
| tests/cases/failing/conv-arity-one.pre | Adds failing case for CONV arity. |
| tests/cases/failing/conv-arity-eight.pre | Adds failing case for CONV arity. |
| tests/cases/failing/continue-with-argument.pre | Adds failing case for CONTINUE with argument. |
| tests/cases/failing/continue-outside-loop.pre | Adds failing case for CONTINUE outside loop. |
| tests/cases/failing/continue-no-parens.pre | Adds failing case for CONTINUE missing parentheses. |
| tests/cases/failing/comma-in-ident.pre | Adds failing case for invalid identifier characters. |
| tests/cases/failing/close-square-bracket-in-ident.pre | Adds failing case for invalid identifier characters. |
| tests/cases/failing/close-parentheses-in-ident.pre | Adds failing case for invalid identifier characters. |
| tests/cases/failing/close-curly-bracket-in-ident.pre | Adds failing case for invalid identifier characters. |
| tests/cases/failing/clog-zero.pre | Adds failing case for CLOG invalid input. |
| tests/cases/failing/clog-negative.pre | Adds failing case for CLOG invalid input. |
| tests/cases/failing/clog-float.pre | Adds failing case for CLOG invalid input type/value. |
| tests/cases/failing/cl-type-tns.pre | Adds failing case for CL invalid type. |
| tests/cases/failing/cl-type-thr.pre | Adds failing case for CL invalid type. |
| tests/cases/failing/cl-type-map.pre | Adds failing case for CL invalid type. |
| tests/cases/failing/cl-type-int.pre | Adds failing case for CL invalid type. |
| tests/cases/failing/cl-type-func.pre | Adds failing case for CL invalid type. |
| tests/cases/failing/cl-type-flt.pre | Adds failing case for CL invalid type. |
| tests/cases/failing/cl-type-bool.pre | Adds failing case for CL invalid type. |
| tests/cases/failing/cl-arity-zero.pre | Adds failing case for CL() arity. |
| tests/cases/failing/cl-arity-two.pre | Adds failing case for CL arity. |
| tests/cases/failing/cdiv-zero-int.pre | Adds failing case for complex division by zero (int). |
| tests/cases/failing/cdiv-zero-flt.pre | Adds failing case for complex division by zero (float). |
| tests/cases/failing/catch-no-try.pre | Adds failing case for CATCH without TRY. |
| tests/cases/failing/bytes-value-type.pre | Adds failing case for BYTES wrong type. |
| tests/cases/failing/bytes-second-tns.pre | Adds failing case for BYTES endian wrong type. |
| tests/cases/failing/bytes-second-thr.pre | Adds failing case for BYTES endian wrong type. |
| tests/cases/failing/bytes-second-map.pre | Adds failing case for BYTES endian wrong type. |
| tests/cases/failing/bytes-second-int.pre | Adds failing case for BYTES arity/arg validation. |
| tests/cases/failing/bytes-second-func.pre | Adds failing case for BYTES endian wrong type. |
| tests/cases/failing/bytes-second-flt.pre | Adds failing case for BYTES endian wrong type. |
| tests/cases/failing/bytes-second-bool.pre | Adds failing case for BYTES endian wrong type. |
| tests/cases/failing/bytes-negative.pre | Adds failing case for BYTES negative input. |
| tests/cases/failing/bytes-invalid-endian.pre | Adds failing case for BYTES invalid endian string. |
| tests/cases/failing/bytes-first-tns.pre | Adds failing case for BYTES wrong type. |
| tests/cases/failing/bytes-first-thr.pre | Adds failing case for BYTES wrong type. |
| tests/cases/failing/bytes-first-map.pre | Adds failing case for BYTES wrong type. |
| tests/cases/failing/bytes-first-func.pre | Adds failing case for BYTES wrong type. |
| tests/cases/failing/bytes-first-flt.pre | Adds failing case for BYTES wrong type. |
| tests/cases/failing/bytes-first-bool.pre | Adds failing case for BYTES wrong type. |
| tests/cases/failing/bytes-endian-case.pre | Adds failing case for BYTES endian case sensitivity. |
| tests/cases/failing/bxor-radix.pre | Adds failing case for bitwise op radix mismatch. |
| tests/cases/failing/break-zero.pre | Adds failing case for BREAK invalid argument. |
| tests/cases/failing/break-too-deep.pre | Adds failing case for BREAK too deep. |
| tests/cases/failing/break-target-not-int.pre | Adds failing case for BREAK wrong type. |
| tests/cases/failing/break-outside-loop.pre | Adds failing case for BREAK outside loop. |
| tests/cases/failing/break-no-argument.pre | Adds failing case for BREAK() missing arg. |
| tests/cases/failing/bor-radix.pre | Adds failing case for bitwise op radix mismatch. |
| tests/cases/failing/bool-lowercase.pre | Adds failing case for lowercase boolean literal. |
| tests/cases/failing/bnot-radix.pre | Adds failing case for BNOT invalid radix usage. |
| tests/cases/failing/base-thr.pre | Adds failing case for BASE wrong type. |
| tests/cases/failing/base-string.pre | Adds failing case for BASE wrong type. |
| tests/cases/failing/base-map.pre | Adds failing case for BASE wrong type. |
| tests/cases/failing/base-func.pre | Adds failing case for BASE wrong type. |
| tests/cases/failing/band-radix.pre | Adds failing case for bitwise op radix mismatch. |
| tests/cases/failing/await-type-tns.pre | Adds failing case for AWAIT wrong type. |
| tests/cases/failing/await-type-str.pre | Adds failing case for AWAIT wrong type. |
| tests/cases/failing/await-type-map.pre | Adds failing case for AWAIT wrong type. |
| tests/cases/failing/await-type-int.pre | Adds failing case for AWAIT wrong type. |
| tests/cases/failing/await-type-func.pre | Adds failing case for AWAIT wrong type. |
| tests/cases/failing/await-type-flt.pre | Adds failing case for AWAIT wrong type. |
| tests/cases/failing/await-type-bool.pre | Adds failing case for AWAIT wrong type. |
| tests/cases/failing/await-arity-zero.pre | Adds failing case for AWAIT() arity. |
| tests/cases/failing/await-arity-two.pre | Adds failing case for AWAIT arity. |
| tests/cases/failing/at-in-ident.pre | Adds failing case for invalid identifier characters. |
| tests/cases/failing/assign-tns-index-on-thr.pre | Adds failing case for tensor indexing assignment on wrong type. |
| tests/cases/failing/assign-tns-index-on-str.pre | Adds failing case for tensor indexing assignment on wrong type. |
| tests/cases/failing/assign-tns-index-on-map.pre | Adds failing case for tensor indexing assignment on wrong type. |
| tests/cases/failing/assign-tns-index-on-int.pre | Adds failing case for tensor indexing assignment on wrong type. |
| tests/cases/failing/assign-tns-index-on-func.pre | Adds failing case for tensor indexing assignment on wrong type. |
| tests/cases/failing/assign-tns-index-on-flt.pre | Adds failing case for tensor indexing assignment on wrong type. |
| tests/cases/failing/assign-tns-index-on-bool.pre | Adds failing case for tensor indexing assignment on wrong type. |
| tests/cases/failing/assign-map-index-on-tns.pre | Adds failing case for map indexing assignment on wrong type. |
| tests/cases/failing/assign-map-index-on-thr.pre | Adds failing case for map indexing assignment on wrong type. |
| tests/cases/failing/assign-map-index-on-str.pre | Adds failing case for map indexing assignment on wrong type. |
| tests/cases/failing/assign-map-index-on-int.pre | Adds failing case for map indexing assignment on wrong type. |
| tests/cases/failing/assign-map-index-on-func.pre | Adds failing case for map indexing assignment on wrong type. |
| tests/cases/failing/assign-map-index-on-flt.pre | Adds failing case for map indexing assignment on wrong type. |
| tests/cases/failing/assign-map-index-on-bool.pre | Adds failing case for map indexing assignment on wrong type. |
| tests/cases/failing/assert-false.pre | Adds failing case asserting false. |
| tests/cases/failing/argv-arity-one.pre | Adds failing case for ARGV arity. |
| tests/cases/failing/append-second-not-1d.pre | Adds failing case for APPEND invalid tensor rank. |
| tests/cases/failing/append-second-non-tns.pre | Adds failing case for APPEND wrong type. |
| tests/cases/failing/append-arity-zero.pre | Adds failing case for APPEND() arity. |
| tests/cases/failing/append-arity-three.pre | Adds failing case for APPEND arity. |
| tests/cases/failing/append-arity-one.pre | Adds failing case for APPEND arity. |
| tests/cases/failing/any-arity-zero.pre | Adds failing case for ANY() arity. |
| tests/cases/failing/and-arity-zero.pre | Adds failing case for AND() arity. |
| tests/cases/failing/and-arity-three.pre | Adds failing case for AND arity. |
| tests/cases/failing/all-arity-zero.pre | Adds failing case for ALL() arity. |
| tests/cases/failing/alias-to-frozen.pre | Adds failing case for aliasing a frozen symbol. |
| tests/cases/failing/alias-cycle.pre | Adds failing case for alias cycles. |
| tests/cases/failing/add-mixed-types.pre | Adds failing case for ADD mixed numeric types. |
| tests/cases/failing/abs-type-str.pre | Adds failing case for ABS wrong type. |
| tests/cases/failing/abs-type-bool.pre | Adds failing case for ABS wrong type. |
| build.ps1 | Updates usage documentation line to reference repo root folder name. |
| .github/workflows/ci.yml | Switches CI test execution to tests/test.ps1. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| IF(FALSE){ | ||
| ASSERT(TRUE) | ||
| } | ||
|
|
||
| ELSEIF(TRUE){ | ||
| ASSERT(FALSE) | ||
| } |
There was a problem hiding this comment.
The word 'seperated' is misspelled in multiple newly added filenames (e.g., if-elseif-seperated.pre, if-else-seperated.pre, elseif-elseif-seperated.pre, elseif-else-seperated.pre). Rename them to use 'separated' to improve discoverability/searchability and avoid propagating typos in test artifacts.
| @@ -0,0 +1 @@ | |||
| FSUM('1.0', 0d1) | |||
There was a problem hiding this comment.
This test uses single quotes for a string literal while most other tests use double quotes. If the language grammar treats single-quoted strings differently (or rejects them), the failure may not be testing the intended 'string argument to FSUM' behavior. Consider using double quotes here (and similarly in abs-type-str.pre) to keep the test focused on the type error rather than string-literal syntax.
| FSUM('1.0', 0d1) | |
| FSUM("1.0", 0d1) |
|
|
||
| - name: Run tests | ||
| run: .\prefix.exe .\tests\test2.pre | ||
| run: .\tests\test.ps1 |
There was a problem hiding this comment.
The workflow relies on the default runner shell to execute a .ps1 script. To make this more robust and self-documenting, set an explicit PowerShell shell (e.g., shell: pwsh) or invoke the script via PowerShell (pwsh -File .\\tests\\test.ps1) so it behaves consistently if the job shell changes.
The new test suite is finally complete! Now I can waste another month fixing bugs!