Sponsoring The Perl Toolchain Summit 2025: Help make this important event another success Learn more

* Key
X = Done
C = Canceled
- = Pending
* Development stuff
X Rename tests from 00x.t to something more meaningful
X Remove DataDumper Sortkeys dependency (more backward compatible)
* Improvements
X Make Paste combinator accept List arguments (via concat).
X Multiple generator-bindings per Property to allow for
focusing on certain subpaces of the haystack:
##[ [ x <- Int ], [ x <- Int(range=>[-1,1]) ]##
X all bindings must have identical sets of variables
X test runner runs a full set of trials against each binding
X Better handling of errors caught durring testing
X Include "Error caught: $@" in output.
X Combinators
X Size
X Each -- Impl: List of length 1 w/ multiple generators
X Apply(f,gs...) -- returns f(@{Each(gs)})
X Concat(gs) = Apply(map {@$_ $_}, @{Each(gs)})
X Map(f, gs...)
X ConcatMap
X Flatten(gs)
- Test apparatus
X label & friends
X output & reporting
X integrate w/ Test::Harness
- Seed for repeatable tests
- Flight recorder -- record everything to file
- allow and report multiple test failures -- maybe separate pkg?
- Allow behavior tests to add notes to a trial; include
the notes in details.
- Docs
X TestRunner
X Property
- Tutorial
- Topics
- When not to use LectroTest
- Using LectroTest with Test::More and ilk
- Repeatability
- Emit the RNG seed at the outset of the tests for repeatability
- Accept an option to use a given seed
* CPAN submission
X Module list short description:
"automatic, specification-based testing tool"
X Rename for better harmony with the global Perl namespace:
LectroTest.pm --> Poof! (?)
LectroTest::Simple -> Test::LectroTest (::Simple ?)
LectroTest::Test -> Test::LectroTest::Property
LectroTest::TestRunner -> Test::LectroTest::TestRunner
LectroTest::Generator -> Test::LectroTest::Generator
- Docs review
X Make sure LectroTest URL is in all docs
X Set version to something sensible
* Old stuff
X Replace Char's range=>[] w/ charset=>"".
X Test case $t
return $t->redo; # if random vars don't satisfy test preconditions
$t->label("zero") if $x == 0;
$t->trivial if $x == 0 && $y == 0;
C Let each property optionally specify how many times it is
to be tested: Property { ... } name => ..., trials => 100;
Local variables:
mode: outline
End: