File: 01.run.t

package info (click to toggle)
libtest-script-run-perl 0.08-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 236 kB
  • sloc: perl: 2,474; makefile: 2
file content (93 lines) | stat: -rw-r--r-- 2,835 bytes parent folder | download | duplicates (4)
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
use strict;
use warnings;

use Test::More tests => 38;
use Test::Script::Run ':all';
use File::Spec;

run_not_ok( 'not_exist.pl', 'run not exist script');
is( last_script_exit_code, 127, 'last exit code is 127' );

run_ok( 'test.pl', 'run test.pl' );
is( last_script_stdout, "out line 1\nout line 2", 'last stdout' );
is( last_script_stderr, "err line 1\nerr line 2", 'last stderr' );
is( last_script_exit_code, 0, 'last exit code' );

is_script_output(
    'test.pl', ['out', 'err'],
    [ 'out' ],
    [ 'err' ],
    'is_script_output'
);

is( last_script_stdout, "out", 'last stdout' );
is( last_script_stderr, "err", 'last stderr' );
is( last_script_exit_code, 0, 'last exit code' );

is_script_output(
    'test.pl', [],
    [ 'out line 1', 'out line 2' ],
    [ 'err line 1', 'err line 2' ],
    'is_script_output'
);
is( last_script_stdout, "out line 1\nout line 2", 'last stdout' );
is( last_script_stderr, "err line 1\nerr line 2", 'last stderr' );
is( last_script_exit_code, 0, 'last exit code' );

run_output_matches(
    'test.pl', [],
    [ 'out line 1', 'out line 2' ],
    [ 'err line 1', 'err line 2' ],
    'run_output_matches'
);

run_output_matches_unordered(
    'test.pl', [],
    [ 'out line 2', 'out line 1' ],
    [ 'err line 2', 'err line 1' ],
    'run_output_matches_unordered'
);

my ( $return, $stdout, $stderr ) = run_script('test.pl');
ok( $return, "return is true" );
is( $stdout, "out line 1\nout line 2", 'stdout is set' );
is( $stderr, "err line 1\nerr line 2", 'stderr is set' );

( $return, $stdout, $stderr ) =
  run_script( 'test.pl', [ "print arg1", 'warn arg2' ] );
ok( $return, "return is true" );
is( $stdout, 'print arg1', 'stdout is set' );
is( $stderr, 'warn arg2',  'stderr is set' );

my ( $out, $err );
( $return, $stdout, $stderr ) =
  run_script( 'test.pl', [ 'print arg1', 'warn arg2' ], \$out, \$err );
ok( $return,  "return is true" );
ok( !$stdout, 'stdout is not set' );
ok( !$stderr, 'stderr is not set' );
is( $out, 'print arg1', 'out is set' );
is( $err, 'warn arg2',  'err is set' );

run_not_ok('test_die.pl', 'test_die dies');
run_not_ok('test_not_exist', 'test_not_exist');

my $dir_t = Test::Script::Run::_updir( $0 );
like( $dir_t, qr!\bt\b!, 'dir_t contains t' );
my $sbin_script = File::Spec->catfile( $dir_t, 'sbin', 'test_sbin.pl' );
run_ok( $sbin_script, 'sbin script' );
( $return, $stdout ) = run_script( $sbin_script );
ok( $return, 'return of sbin_script' );
is( $stdout, 'test_sbin_script', 'stdout of sbin_script' );


run_ok( 'test_script.pl', 'run test_script.pl' );
is( last_script_stdout, "out line 1\nout line 2", 'last stdout' );
is( last_script_stderr, "err line 1\nerr line 2", 'last stderr' );
is( last_script_exit_code, 0, 'last exit code' );

is_script_output(
    'test.pl', ['out', 'err'],
    [ 'out' ],
    [ 'err' ],
    'is_script_output'
);