-
Notifications
You must be signed in to change notification settings - Fork 138
/
01-default_tests.t
152 lines (122 loc) · 5.1 KB
/
01-default_tests.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#! perl
# Copyright (C) 2007, The Perl Foundation.
# $Id$
# 01-default_tests.t
use strict;
use warnings;
use lib qw( lib );
use Test::More;
eval {
use Parrot::Config qw( %PConfig );
};
plan( skip_all => 't/harness only runs once configuration has completed' )
if $@;
plan( tests => 30 );
use Carp;
use Cwd;
use File::Temp qw( tempdir );
use Parrot::Harness::DefaultTests;
@Parrot::Harness::DefaultTests::runcore_tests = qw( alpha.t );
@Parrot::Harness::DefaultTests::core_tests = qw( beta.t );
@Parrot::Harness::DefaultTests::configure_tests = qw( gamma.t );
@Parrot::Harness::DefaultTests::standard_tests = qw( delta.t );
@Parrot::Harness::DefaultTests::developing_tests = qw( epsilon.t );
my ($core_tests_only, $runcore_tests_only);
my (@default_tests, $default_tests_ref);
my %default_tests_seen;
my $cwd = cwd();
{
# Simulate non-existence of DEVELOPING
my $tdir1 = tempdir( CLEANUP => 1 );
ok( chdir $tdir1, "Able to change to tempdir for testing");
($core_tests_only, $runcore_tests_only) = (0,1);
ok(@default_tests =
get_default_tests($core_tests_only, $runcore_tests_only),
"get_default_tests() returned successfully");
is(scalar(@default_tests), 1, "Got expected 1 test");
is($default_tests[0], q{alpha.t}, "runcore_tests only as expected");
@default_tests = ();
($core_tests_only, $runcore_tests_only) = (1,0);
ok(@default_tests =
get_default_tests($core_tests_only, $runcore_tests_only),
"get_default_tests() returned successfully");
is(scalar(@default_tests), 2, "Got expected 2 tests");
is($default_tests[1], q{beta.t}, "core_tests only as expected");
@default_tests = ();
($core_tests_only, $runcore_tests_only) = (0,0);
ok(@default_tests =
get_default_tests($core_tests_only, $runcore_tests_only),
"get_default_tests() returned successfully");
is(scalar(@default_tests), 4, "Got expected 4 tests");
is($default_tests[0], q{gamma.t}, "Start with configure_tests as expected");
is($default_tests[3], q{delta.t}, "End with standard_tests as expected");
@default_tests = ();
($core_tests_only, $runcore_tests_only) = (0,0);
ok($default_tests_ref =
get_default_tests($core_tests_only, $runcore_tests_only),
"get_default_tests() returned successfully");
is(scalar(@{ $default_tests_ref }), 4, "Got expected 4 tests");
ok(chdir $cwd, "Able to change back to starting directory after testing");
}
{
# Simulate existence of DEVELOPING
my $tdir2 = tempdir( CLEANUP => 1 );
ok( chdir $tdir2, "Able to change to tempdir for testing");
open my $FH, ">", q{DEVELOPING}
or croak "Unable to open file for writing";
print $FH qq{12345\n};
close $FH or croak "Unable to close file after writing";
($core_tests_only, $runcore_tests_only) = (0,1);
ok(@default_tests =
get_default_tests($core_tests_only, $runcore_tests_only),
"get_default_tests() returned successfully");
is(scalar(@default_tests), 1, "Got expected 1 test");
is($default_tests[0], q{alpha.t}, "runcore_tests only as expected");
@Parrot::Harness::DefaultTests::standard_tests = qw( delta.t );
@default_tests = ();
($core_tests_only, $runcore_tests_only) = (1,0);
ok(@default_tests =
get_default_tests($core_tests_only, $runcore_tests_only),
"get_default_tests() returned successfully");
is(scalar(@default_tests), 2, "Got expected 2 tests");
is($default_tests[1], q{beta.t}, "core_tests only as expected");
@Parrot::Harness::DefaultTests::standard_tests = qw( delta.t );
@default_tests = ();
($core_tests_only, $runcore_tests_only) = (0,0);
ok(@default_tests =
get_default_tests($core_tests_only, $runcore_tests_only),
"get_default_tests() returned successfully");
is(scalar(@default_tests), 5, "Got expected 5 tests");
is($default_tests[0], q{gamma.t}, "Start with configure_tests as expected");
is($default_tests[3], q{delta.t}, "End with standard_tests as expected");
is($default_tests[4], q{epsilon.t},
"standard_tests include developing_tests");
@Parrot::Harness::DefaultTests::standard_tests = qw( delta.t );
@default_tests = ();
($core_tests_only, $runcore_tests_only) = (0,0);
ok($default_tests_ref =
get_default_tests($core_tests_only, $runcore_tests_only),
"get_default_tests() returned successfully");
is(scalar(@{ $default_tests_ref }), 5, "Got expected 5 tests");
@Parrot::Harness::DefaultTests::standard_tests = qw( delta.t );
ok(chdir $cwd, "Able to change back to starting directory after testing");
}
pass("Completed all tests in $0");
################### DOCUMENTATION ###################
=head1 NAME
01-default_tests.t - test Parrot::Harness::DefaultTests
=head1 SYNOPSIS
% prove t/pharness/01-default_tests.t
=head1 DESCRIPTION
This file holds tests for Parrot::Harness::DefaultTests::get_default_tests().
=head1 AUTHOR
James E Keenan
=head1 SEE ALSO
Parrot::Harness::DefaultTests, F<t/harness>.
=cut
# Local Variables:
# mode: cperl
# cperl-indent-level: 4
# fill-column: 100
# End:
# vim: expandtab shiftwidth=4: