- Notifications
You must be signed in to change notification settings - Fork 194
/
Copy pathrunner.t
62 lines (47 loc) · 1.62 KB
/
runner.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
use strict;
use warnings;
use lib 't/lib';
use MetaCPAN::Script::Runner ();
use Module::Pluggable search_dirs=> ['t/lib'];
use Test::More;
subtest 'runner succeeds'=>sub {
local@ARGV = ('mockerror');
ok( MetaCPAN::Script::Runner::run, 'succeeds' );
is( $MetaCPAN::Script::Runner::EXIT_CODE, 0, "Exit Code '0' - No Error" );
};
subtest 'runner fails'=>sub {
local@ARGV
= ( 'mockerror', '--error', 11, '--message', 'mock error message' );
ok( !MetaCPAN::Script::Runner::run, 'fails as expected' );
is( $MetaCPAN::Script::Runner::EXIT_CODE,
11, "Exit Code '11' as expected" );
};
# Disable for the time being. There is a better way to check exit codes.
#
# subtest 'runner dies' => sub {
# local @ARGV = ( 'mockerror', '--die', '--message', 'mock die message' );
#
# ok( !MetaCPAN::Script::Runner::run, 'fails as expected' );
#
# is( $MetaCPAN::Script::Runner::EXIT_CODE, 1,
# "Exit Code '1' as expected" );
# };
subtest 'runner exits with error'=>sub {
local@ARGV = (
'mockerror', '--handle_error', '--error', 17, '--message',
'mock handled error message'
);
ok( !MetaCPAN::Script::Runner::run, 'fails as expected' );
is( $MetaCPAN::Script::Runner::EXIT_CODE,
17, "Exit Code '17' as expected" );
};
subtest 'runner throws exception'=>sub {
local@ARGV = (
'mockerror', '--exception', '--error', 19, '--message',
'mock exception message'
);
ok( !MetaCPAN::Script::Runner::run, 'fails as expected' );
is( $MetaCPAN::Script::Runner::EXIT_CODE,
19, "Exit Code '19' as expected" );
};
done_testing();