Fix tests
[catagits/Test-EOL.git] / t / 12-fail.t
CommitLineData
a83ae797 1use strict;
2
3use Test::More qw(no_plan);
4
5use File::Temp qw( tempdir tempfile );
6
7my $perl = $^X || 'perl';
8my $inc = join(' -I ', @INC) || '';
9$inc = "-I $inc" if $inc;
10
11{
12 my $dir = make_bad_file_1();
13 my (undef, $outfile) = tempfile();
14 ok( `$perl $inc -MTest::EOL -e "all_perl_files_ok( '$dir' )" 2>&1 > $outfile` );
15 local $/ = undef;
16 open my $fh, '<', $outfile or die $!;
17 my $content = <$fh>;
02016826 18 like( $content, qr/^not ok 1 - No windows line endings in '[^']*' on line 4/m, 'windows EOL found in tmp file 1' );
19 unlink $outfile;
20 system("rm -rf $dir");
a83ae797 21}
a83ae797 22{
23 my $dir = make_bad_file_2();
24 my (undef, $outfile) = tempfile();
25 ok( `$perl $inc -MTest::EOL -e "all_perl_files_ok( '$dir' )" 2>&1 > $outfile` );
26 open my $fh, '<', $outfile or die $!;
27 local $/ = undef;
28 my $content = <$fh>;
02016826 29 like( $content, qr/^not ok 1 - No windows line endings in '[^']*' on line \d+/m, 'windows EOL found in tmp file2 ' );
a83ae797 30 unlink $outfile;
31 system("rm -rf $dir");
32}
a83ae797 33{
34 my ($dir, $file) = make_bad_file_3();
35 my (undef, $outfile) = tempfile();
36 ok( `$perl $inc -MTest::EOL -e "all_perl_files_ok( '$file' )" 2>&1 > $outfile` );
37 open my $fh, '<', $outfile or die $!;
38 local $/ = undef;
39 my $content = <$fh>;
02016826 40 like( $content, qr/^not ok 1 - No windows line endings in '[^']*' on line \d+/m, 'windows EOL found in tmp file 3' );
a83ae797 41 unlink $outfile;
42 system("rm -rf $dir");
43}
44
45sub make_bad_file_1 {
46 my $tmpdir = tempdir();
47 my ($fh, $filename) = tempfile( DIR => $tmpdir, SUFFIX => '.pL' );
48 print $fh <<"DUMMY";
49#!perl
50
51sub main {
52 print "Hello!\r\n";
02016826 53}\r
a83ae797 54DUMMY
55 return $tmpdir;
56}
57
58sub make_bad_file_2 {
59 my $tmpdir = tempdir();
60 my ($fh, $filename) = tempfile( DIR => $tmpdir, SUFFIX => '.pL' );
61 print $fh <<"DUMMY";
62#!perl
63
64=pod
65
66=head1 NAME
67
68test.pL - A test script
02016826 69\r\r\r\r\r\r\r\r
a83ae797 70=cut
71
72sub main {
73 print "Hello!\n";
74}
75DUMMY
76 return $tmpdir;
77}
78
79sub make_bad_file_3 {
80 my $tmpdir = tempdir();
81 my ($fh, $filename) = tempfile( DIR => $tmpdir, SUFFIX => '.pm' );
82 print $fh <<"DUMMY";
83use strict;\r
84\r
85package My::Test;\r
86\r
87sub new {\r
88 my (\$class) = @_;\r
89 my \$self = bless { }, \$class;\r
90 return \$self;\r
02016826 91}\r\r\r\r
92
a83ae797 93\r
941;\r
95DUMMY
96 close $fh;
97 return ($tmpdir, $filename);
98}
99