blaise/compiler/project.xml

24 lines
549 B
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<project>
<name>blaise-compiler</name>
<build>
<packaging>application</packaging>
<mainSource>Blaise.pas</mainSource>
<executableName>blaise</executableName>
feat(test): run test suite under Blaise — 1053 tests passing Switch pasbuild test goal to use Blaise as compiler by adding the RTL unit path to the build <unitPaths> in compiler/project.xml. This mirrors the fixpoint pipeline exactly: Blaise compiles itself, then compiles the test runner. Core fixes to make the Blaise-compiled test suite green: bcl.testing.pas: rename duplicate on E: variable names (EAF/EIT/ETO) to prevent ARC triple-release of the caught exception object (KI-3). bcl.testing.runner.text.pas: implement --suite / --suite Class.Method CLI filtering (Step 15); also adds TestClassName() via typeinfo[2] read for the class name lookup. Fixes 0-based Pos split for --suite argument parsing. uParser.pas, uSemantic.pas: guard explicit-receiver .Free + reassign patterns with { FPC} so ARC does not double-release the field slot (KI-2). Three call sites: GID.IntfDef, GD.ClassDef in the parser, and GII.IntfDef in InstantiateGenericInterface. cp.test.sets.pas: rename duplicate on ESE/EEx exception variables. cp.test.exceptions.pas, cp.test.multiwrite.pas: fix PosEx loop termination — Blaise returns -1 (not 0) for not-found; start index is 0-based. cp.test.arc.pas and seven other test files: fix absence checks that used Pos(...) = 0 (FPC not-found sentinel); changed to < 0. cp.test.stringops.pas: replace emoji literal '😀' with 'AB' to work around parser limitation with bytes > 127 in string literals (KI-1); test still exercises the same CoerceToCharOrd semantic-error path. Result: pasbuild test -m blaise-compiler --compiler ./compiler/target/blaise passes with 1053 tests, 0 failures, 0 errors.
2026-05-12 18:49:17 +03:00
<unitPaths>
2026-07-04 21:44:54 +03:00
<path>../runtime/src/main/pascal</path>
<path>../stdlib/src/main/pascal</path>
feat(test): run test suite under Blaise — 1053 tests passing Switch pasbuild test goal to use Blaise as compiler by adding the RTL unit path to the build <unitPaths> in compiler/project.xml. This mirrors the fixpoint pipeline exactly: Blaise compiles itself, then compiles the test runner. Core fixes to make the Blaise-compiled test suite green: bcl.testing.pas: rename duplicate on E: variable names (EAF/EIT/ETO) to prevent ARC triple-release of the caught exception object (KI-3). bcl.testing.runner.text.pas: implement --suite / --suite Class.Method CLI filtering (Step 15); also adds TestClassName() via typeinfo[2] read for the class name lookup. Fixes 0-based Pos split for --suite argument parsing. uParser.pas, uSemantic.pas: guard explicit-receiver .Free + reassign patterns with { FPC} so ARC does not double-release the field slot (KI-2). Three call sites: GID.IntfDef, GD.ClassDef in the parser, and GII.IntfDef in InstantiateGenericInterface. cp.test.sets.pas: rename duplicate on ESE/EEx exception variables. cp.test.exceptions.pas, cp.test.multiwrite.pas: fix PosEx loop termination — Blaise returns -1 (not 0) for not-found; start index is 0-based. cp.test.arc.pas and seven other test files: fix absence checks that used Pos(...) = 0 (FPC not-found sentinel); changed to < 0. cp.test.stringops.pas: replace emoji literal '😀' with 'AB' to work around parser limitation with bytes > 127 in string literals (KI-1); test still exercises the same CoerceToCharOrd semantic-error path. Result: pasbuild test -m blaise-compiler --compiler ./compiler/target/blaise passes with 1053 tests, 0 failures, 0 errors.
2026-05-12 18:49:17 +03:00
</unitPaths>
</build>
<test>
<testSource>TestRunner.pas</testSource>
<unitPaths>
2026-07-04 21:44:54 +03:00
<path>../runtime/src/main/pascal</path>
<path>../stdlib/src/main/pascal</path>
</unitPaths>
</test>
</project>