HTTP/1.1 -1 Read error in cache disk data: SuccessContent-Type: text/plain; charset="utf-8" Last-Modified: Sat, 22 Jan 2022 03:54:49 GMT Content-length: 3809 Connection: Close Proxy-Connection: Close X-Cache: HIT from web1.osuosl.org Server: ProxyTrack 0.5 (HTTrack 3.49.2) Daily updated test coverage: http://cv.perl6.cz/ A collection of information and links about Parrot's code coverage statistics. * Configuration and build tools test coverage: http://thenceforward.net/parrot/coverage/configure-build/coverage.html * At the present time (October 2007 and until further notice), the pages at and under the link above describe the extent to which tests in ''t/configure/'', ''t/postconfigure/'', ''t/tools/pmc2cutils/'', ''t/tools/ops2pmutils/'' and ''t/tools/ops2cutils/'' provide coverage of the code underlying ''Configure.pl'', ''tools/build/pmc2cutils.pl'', ''tools/build/ops2pm.pl'' and ''tools/build/ops2c.pl''. All of these programs are written in Perl 5 and so the focus of these tests is the quality of Perl 5 components of the Parrot project -- not the functionality or quality of Parrot code ''per se''. * The approach taken in these tests is to apply the best testing practices developed in the Perl community in the last decade, including: * Test suites written with Test::More and run with Test::Harness utility '''prove'''. * Measurement via Devel::Cover of the extent to which the tests exercise code statements. * Refactoring of the code to eliminate unreachable code and achieve high test coverage. * While Parrot developers are not required to develop in a "test-driven" manner, they are encouraged to do so and are *strongly* encouraged, when reworking any of the programs or modules covered in these tests, to run the pre- and post-configuration test suites to guarantee that: * All tests in those suites continue to pass. * There is no diminution in code coverage as a result of ongoing revisions of the programs and packages being tested. * Here are some ways to run the tests: * `perl Configure.pl --test`: Runs ''t/configure/'', ''Configure.pl'' itself, ''t/postconfigure/'' and tests in the three ''t/tools/'' directories listed above. * `perl Configure.pl --test=configure`: Runs ''t/configure/'' and ''Configure.pl''. * `perl Configure.pl --test=build`: Runs ''Configure.pl'', ''t/postconfigure/'' and ''t/tools/''. * `make buildtools''tests`: Valid once ''Configure.pl'' has been run, runs tests in the three ''t/tools/'' directories. * Here is a shell script to run the tests with coverage analysis: {{{ COVERAGEDIR=/home/user/parrot/coverage SANDBOX=/home/user/work/parrot # coverconf: configure-build coverage coverconf () { cd $SANDBOX && \ cover -delete $COVERAGEDIR && \ PERL5OPT=-MDevel::Cover=-db,$COVERAGEDIR/ \ perl $SANDBOX/Configure.pl --test --configure_trace "$@" && \ cover $COVERAGEDIR \ -ignore_re 'Configure\.pl' -ignore_re '^t\/' -ignore_re '^\/usr\/local\/bin' \ -ignore_re '^lib\/(?!Parrot)' && \ chmod 0755 $COVERAGEDIR/ } }}} * See also [Perl 5 Components: Test Coverage of Configuration and Build Tools] * Note: Should the coverage statistics not be visible, wait a while, as they may be in the process of being regenerated. * C-language code test coverage: * http://thenceforward.net/parrot/coverage/c-components/coverage.html * The code coverage is generated by running the `make cover` target after configuring Parrot. * Last generated on 17-Nov-2007 * Upload procedure: {{{ make cover cd cover_db rm -r runs/ structure/ tar -cvzf c_coverage.tar.gz * scp c_coverage.tar.gz thenceforward.net:/home/ftp/parrot/coverage/c-components/ ssh thenceforward.net cd /home/ftp/parrot/coverage/c-components rm *.html cover.12 cover.css tar -xvzf c_coverage.tar.gz }}} that after the immutable string changes, concatenating many