t/ - The Parrot Virtual Machine Test Suite
This directory contains the official Parrot Virtual Machine test suite.
For details on how tests are written see the documentation in docs/tests.pod https://github.com/parrot/parrot/blob/master/docs/tests.pod. For status of the testing effort, see t/TESTS_STATUS.pod https://github.com/parrot/parrot/blob/master/t/TESTS_STATUS.pod.
The script 'harness' actually runs the test suite.
To run the normal Parrot test suite tests:
make test
To run only the core test suite (intented to be used after make corevm
):
make coretest
The run the full test suite, which is equivalent to "make test" under various runcores as well as coding standard tests:
make fulltest
To run just the coding standard tests:
make codingstd_tests
To create code coverage reports from the Parrot test suite:
make cover
which requires the Devel::Cover Perl 5 module.
To submit "smoke" reports, you will need to install the TAP::Harness::Archive and LWP::UserAgent CPAN modules, and then type:
make smoke
The report will then be visible on Smolder: http://smolder.parrot.org/app/projects/smoke_reports/1
If you only want to submit results of the core test suite to Smolder:
make smolder_coretest
Below is a list of subdirs along with a short description of what is tested in there.
- all_hll_test
-
Run all the tests for all HLLs and libraries. Useful before and after merges to detect regressions in projects using Parrot.
- benchmark
-
Benchmark tests.
- codingstd
-
Tests the coding conventions for Parrot source code.
- compilers
-
Tests for compilers in Parrot.
- configure
-
Tests for the Perl modules in our configuration subsystem.
- distro
-
Tests that run before a distribution is released. Can be run with:
make distro_tests
- doc
-
Tests for the completeness and sanity of the documentation.
- dynoplibs
-
Tests for dynamic (loadable at run-time) opcode libraries.
- dynpmc
-
Tests for dynamic PMCs.
- examples
-
Tests to check whether the examples are still working. Can be run with:
make examples_tests
- library
-
Test Parrot modules that ship with core. Can be run with:
make library_tests
- manifest
-
Tests for the functionality supporting the creation of MANIFEST and related files. Can be run with:
make manifest_tests
- native_pbc
-
Tests Parrot Byte Code.
- oo
-
Tests for object oriented features of Parrot. Can be run with
make oo_tests
- op
-
Tests for Parrot opcodes. Can be run with
make op_tests
- perl
-
Tests for the Perl 5 modules used for configuration, building and testing of Parrot. Can be run with:
make perl_tests
- pharness
-
Tests for the functionality supporting Parrot's test harnesses.
- pmc
-
Tests for Parrot PMCs. Can be run with
make pmc_tests
- postconfigure
-
Tests of configuration system run after configuration has completed.
- run
-
Tests for the command line options of the 'parrot' executable. Can be run with:
make run_tests
- src
-
Tests written in C, mostly for the Embed/Extend subsystems. Can be run with
make src_tests
- steps
-
Tests for the steps in the Parrot configuration process.
- stress
-
Stress testing. Make Parrot sweat.
- tools
-
Tests for tools useful to Parrot core and HLL developers
Copyright (C) 2005-2011, Parrot Foundation.