Skip to content

versioned coretests #332

Closed
Closed
@rurban

Description

@rurban

See my branch coretests https://github.com/rurban/perl-compiler/tree/coretests, based on the Cpanelinc variant https://github.com/CpanelInc/perl-compiler/tree/cm522/t/v5.22.0

use a seperate git submodule for this. either the existing roast5 with fudge support for multiple backends but not versions (https://github.com/rakudo-p5/roast5) or perl5-coretests.

use the layout:

t/CORE-v.5.14/
t/CORE-v.5.22/

with
C-COMPILED/{op,...}/*.t
t/ lib/ from core
xtestc/ from B::C testc.sh

cp the core sources from t/ to t/CORE-v.5.22/t/, also the .t files in lib.

use the full source from core in 5.22 only.
symlink same tests from v5.14 back to v5.22.
i.e. t/CORE-v5.14/op/arith.t -> ../../CORE-v5.22/op/arith.t
so we need to fix them only in the latest version.
only version specific fixes or changes are seperate.

t/CORE-v.5.*/C-COMPILED/update-links.sh recreates the symlinks
which symlinks the to be compiled tests in C-COMPILED/*/*.t to ../../template.pl
template.pl looks up the source for the test in the CORE-v5.*/ dir, runs the compiler tests and subtests and records changes in C-COMPILED/known-errors.txt

The CpanelInc variant:

  • has a nice KnownErrors library which keeps track of regressions and fixes. Which is better than the old 5.14 error-in-symlink-name.
  • can run the testc.sh tests in parallel.

But the CpanelInc variant has several limitations which are fixed in the coretests branch:

  • only works with one global perl
  • only works with an installed global compiler, ignoring blib.
  • versions 5.14 vs 5.22 unharmonized
  • ignore PERL_MINOR, only maintain some major variants (5.14 and 5.22 so far, later cperl and 5.24)
  • new passing tests are marked as FAIL, not as TODO pass

See branch coretests

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions