package Parrot::Harness::TestSets;
# Copyright (C) 2011, Parrot Foundation.
use strict;
use warnings;
# BASIC GROUPS
our %test_groups = (
benchmark => [ qw(
t/benchmark/*.t
) ],
buildtools => [ qw(
t/tools/pmc2cutils/*.t
t/pharness/*.t
) ],
codingstd => [ qw(
t/codingstd/*.t
) ],
compilers => [ qw(
t/compilers/pct/*.t
t/compilers/pge/*.t
t/compilers/pge/p5regex/*.t
t/compilers/pge/perl6regex/*.t
t/compilers/tge/*.t
t/compilers/opsc/*.t
t/compilers/data_json/*.t
) ],
configure => [ qw(
t/configure/*.t
t/steps/*.t
t/postconfigure/*.t
) ],
distro => [ qw(
t/distro/*.t
) ],
dynoplibs => [ qw(
t/dynoplibs/*.t
) ],
dynpmc => [ qw(
t/dynpmc/*.t
) ],
examples => [ qw(
t/examples/*.t
) ],
headerizer => [ qw(
t/tools/dev/headerizer/*.t
) ],
library => [ qw(
t/library/*.t
) ],
manifest => [ qw(
t/manifest/*.t
t/tools/install/*.t
) ],
miscellaneous => [ qw(
t/ext/winxed/*.t
t/tools/*.t
t/profiling/*.t
) ],
perl => [ qw(
t/perl/*.t
) ],
run => [ qw(
t/run/*.t
) ],
runcore => [ qw(
t/compilers/imcc/*/*.t
t/op/*.t
t/pmc/*.t
t/oo/*.t
t/pir/*.t
t/native_pbc/*.t
) ],
src => [ qw(
t/src/*.t
t/src/embed/*.t
) ],
testing_runcore => [ qw(
t/oo/*.t
) ],
);
# GROUPS OF BASIC GROUPS
our @major_test_group = map { $test_groups{$_} }
( qw| compilers dynoplibs dynpmc library miscellaneous | );
our @near_core_test_group = map { $test_groups{$_} }
( qw| src run perl | );
# EXPORT FUNCTIONALITY
use base qw( Exporter );
our @EXPORT_OK = qw(
%test_groups
@major_test_group
@near_core_test_group
);
1;
=head1 NAME
Parrot::Harness::TestSets - Various groups of tests
=head1 DESCRIPTION
This package attempts to consolidate all assignments to groups of files used
during testing. It exports, on demand only, various arrays used in
F<t/harness>, other harnesses and the libraries underlying those programs.
=head1 EXPORTED IDENTIFIERS
=head2 C<%test_groups>
Keys are labels like C<benchmark>. Values are references to arrays of file
glop patterns. Example:
buildtools => [ qw(
t/tools/pmc2cutils/*.t
t/pharness/*.t
] ),
=head2 C<@major_test_group>
Array holding elements of the values of these C<%test_groups> elements:
compilers dynoplibs dynpmc library miscellaneous
=head2 C<@near_core_test_group>
Array holding elements of the values of these C<%test_groups> elements:
src run perl
=head1 HOW TO ADD A GROUP
If you need to add a basic group, make up a label for the group to serve as
its key in C<%test_groups>. For its value, compose an array of file glob
patterns needed, each beginning with C<t/>.
=cut
# Local Variables:
# mode: cperl
# cperl-indent-level: 4
# fill-column: 100
# End:
# vim: expandtab shiftwidth=4: