Skip to content

TestML::Base fails to compile due to dense Mo::Inline syntax #1217

Description

@fglock

Summary

TestML 0.54 fails to compile under both PerlOnJava execution backends. The failure occurs while loading TestML::Base, before TestML test logic runs.

Minimal reproducer

#!/usr/bin/env perl
use strict;
use warnings;

use TestML::Base;

print "TestML::Base loaded successfully\\n";

Run it with the distribution source on @INC:

perl -Ilib testml-base-repro.pl
timeout 120 ./jperl -I/path/to/TestML-0.54/lib testml-base-repro.pl
timeout 120 ./jperl --interpreter -I/path/to/TestML-0.54/lib testml-base-repro.pl

System Perl loads the module successfully. Both PerlOnJava backends fail with:

Missing right curly or square bracket at TestML/Base.pm line 6, at end of line
syntax error at TestML/Base.pm line 6, at EOF

CPAN regression evidence

The archived CPAN run 20260902-105744-25704 recorded TestML 0.54 as a regression while traversing from TestML::Assertion: 28 of 29 test programs failed and 15 of 15 executed subtests failed. With the exact Pegex, XXX, and YAML::PP dependency overlay, system Perl passes all 158 tests.

The regression was previously passing on 2026-08-20 at commit 1af78283f.

The failing source is the dense Mo::Inline-generated Perl statement in TestML::Base line 6. The same failure occurs in the JVM and interpreter backends, suggesting a shared parser/compiler issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:parserParsing compilation AST and eval behaviorbugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions