]>
git.refcnt.org Git - colorize.git/blob - t/conf/parse/success.t
6 use constant true
=> 1;
7 use constant false
=> 0;
9 use Colorize
::Common
qw(:defaults $write_to_tmpfile);
10 use File::Temp qw(tmpnam);
11 use IPC
::Open3
qw(open3);
12 use Symbol
qw(gensym);
41 my $run_program_succeed = sub
43 my ($program, $infile) = @_;
47 my $pid = open3
(gensym
, gensym
, $err, $program, qw(default), $infile);
50 my $output = do { local $/; <$err> };
52 return ($?
>> 8 == 0 && $output eq '') ? true
: false
;
58 my $program = tmpnam
();
59 my $conf_file = tmpnam
();
61 skip
'compiling failed (config parse success)', $tests unless system(qq($compiler -DTEST
-DCONF_FILE_TEST
=\"$conf_file\" -o
$program $source)) == 0;
63 my $infile = $write_to_tmpfile->('');
65 foreach my $line (split /\n/, $conf) {
66 open(my $fh, '>', $conf_file) or die "Cannot open `$conf_file' for writing: $!\n";
67 print {$fh} $line, "\n";
69 ok
($run_program_succeed->($program, $infile), $line);