say run(<raku --version>, :out).out.slurp;

say "Testing {"dist.ini".IO.lines.head.substr(7)}";

my $failed = 0;
for "t".IO.dir(:test(*.ends-with: '.t' | '.rakutest')).map(*.Str).sort {
    say "=== $_";
    my $proc = run "raku", "-Ilib", $_, :out, :merge;
    if $proc {
        $proc.out.slurp;
    }
    else {
        $failed++;
        say $proc.out.slurp || "No output received, exit-code $proc.exitcode()";
    }
}

say $failed ?? "\nFAILED: $failed" !! "\nALL OK";
exit $failed
