lib/Automake/tests/Condition-t.pl


Log

Author Commit Date CI Message
Ralf Wildenhues 8fef9e83 2009-10-18T12:01:46 Coverage and fixes for Condition.pm. * lib/Automake/Condition.pm (new): Catch common programming errors better by checking type of passed argument before munging them to all be strings through split. * lib/Automake/tests/Condition.pl (test_basics): Also test ->human. (test_merge): New function, test ->merge, ->merge_conds, ->strip. * lib/Automake/tests/Condition-t.pl (test_basics, test_merge): Likewise changes, but including state copies across thread creation. * lib/Automake/tests/Cond2.pl: New test for programming error. * lib/Automake/tests/Cond3.pl: Likewise. * lib/Automake/tests/Makefile.am (TESTS, XFAIL_TESTS): Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues a6a7834f 2009-10-17T18:14:33 Perl coverage support using Devel::Cover. This introduces makefile rules to run the testsuite with Perl coverage enabled. It skips tests that use perl ithreads, by unsetting AUTOMAKE_JOBS and setting WANT_NO_THREADS to make the threaded tests skip. * Makefile.am (PERL_COVERAGE_DB, PERL_COVERAGE_FLAGS) (PERL_COVER): New variables. (check-coverage, recheck-coverage, clean-coverage): New phony targets. (check-coverage-run, recheck-coverage-run): New phony helper targets. (clean-local): New, depend on clean-coverage. * lib/Automake/tests/Condition-t.pl: Skip if WANT_NO_THREADS is set. * lib/Automake/tests/DisjConditions-t.pl: Likewise. * tests/defs.in: New required entry 'perl-threads'. * tests/parallel-am.test: Use it to skip if WANT_NO_THREADS is set. * tests/parallel-am2.test: Likewise. * tests/parallel-am3.test: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues fcf2f560 2009-05-17T15:32:40 Revert Automake license to GPLv2+. Automake will move to GPLv3+ once the Exception statement has been rewritten to use the new GPLv3 exception language. This change does not impact the COPYING file that may be installed by `automake --add-missing'. * COPYING: Revert to GPLv2. All uses changed. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues bb9dfbde 2008-11-06T21:06:01 Cope with absent Perl modules threads and Thread::Queue. * automake.in: Instead of `use threads', use `require threads; import threads' inside a BEGIN section. Likewise for Thread::Queue. * lib/Automake/ChannelDefs.pm (Automake::ChannelDefs): Likewise. * lib/Automake/tests/Condition-t.pl: Likewise. * lib/Automake/tests/DisjConditions-t.pl: Likewise. * configure.ac: Likewise, use `require' and `import'. Report by Eric Blake, fix suggested by Ben Pfaff. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues c15d9a8e 2008-10-19T19:54:12 Fix DisjConditions module to be thread-safe for perl >= 5.7.2. Self-hashes of blessed references are not correctly transported through thread creation. This patch fixes that by recreating the hashes upon thread creation with a CLONE special subroutine, which is automatically invoked by new enough Perl versions. * lib/Automake/DisjConditions.pm (CLONE): New special subroutine to fix self hashes upon thread creation. * lib/Automake/tests/Condition-t.pl: New, sister test to Condition.pl, but spawns a new threads after each creation of a new condition; skip test if perl is too old or ithreads are not available. * lib/Automake/tests/DisjConditions-t.pl: Likewise. * lib/Automake/tests/Makefile.am (TESTS): Add them. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>