# Expected results for tests/fixtures/*.pas - one line per fixture: # # OK # ERR # # Both the verdict AND the numbers are asserted by run_compile_tests.sh, so a # regression in the *reported error position* fails the suite just like a # regression in the generated code. That matters: error positions were once # silently wrong (a multi-character string literal swallowed the rest of the # source, so every later error pointed at end-of-file), and nothing caught it # because the old harness only printed the position for a human to squint at. # # Re-baseline deliberately, never to make a red test go green: if a fixture's # expectation has to change because the compiler legitimately improved, change # it in the same commit as the fix and say why in the message. # # ERR 102 = ENoLib, the original's "not implemented" path. The remaining ERR # rows are unimplemented features, not parser bugs: # t14 'array [..] of ' at its point of use # t25 a string literal used where a 16-bit word is wanted # uierror deliberate syntax error, pinned by the editor UI test # # t02 t03 t05 t17 used to be ERR 102 as well: a multi-character literal was # rejected because writeln had no string support. They compile now, via the # inline-string path (CALL wrtinl, then in the code stream - # TPSRC8 pwrinlin / TPSRC4 xwrtinl), so their rows changed from ERR to OK and # their code sizes went up by the literal's own bytes. t01_minimal OK 26 260 t02_writeln OK 35 260 t03_inline_comment OK 35 260 t04_var OK 45 262 t05_own_line_comment OK 35 260 t06_two_args OK 49 260 t07_big OK 99 262 t08_const OK 32 262 t09_if OK 64 262 t10_while OK 72 262 t11_for OK 66 262 t12_repeat OK 69 262 t13_proc OK 50 262 t14_types ERR 102 83 t15_label OK 35 262 t16_str1 OK 39 260 t17_two_str OK 42 260 t18_writeln_bare OK 29 260 t19_int1 OK 39 260 t20_str3 OK 59 260 t21_mixed OK 59 260 t22_case OK 93 262 t23_str_empty OK 33 260 t24_str_quote OK 38 260 t25_str_as_value ERR 102 48 t26_str_mixed_args OK 55 260 uierror ERR 41 331