6 use Term::ANSIColor qw(:constants);
11 my $conf = "$dir/i3status.conf";
12 my $testres = `./i3status --run-once -c $conf`;
15 if ( -f "@_/expected_output.txt") {
16 $refres = `cat "@_/expected_output.txt"`;
17 } elsif ( -f "@_/expected_output.sh") {
18 $refres = `bash @_/expected_output.sh`;
21 if ( "$testres" eq "$refres" ) {
22 say "Testing test case '", basename($dir), "'… ", BOLD, GREEN, "OK", RESET;
25 say "Testing test case '", basename($dir), "'… ", BOLD, RED, "Failed!", RESET;
31 my $testcases = 'testcases';
34 opendir(my $dir, $testcases) or die "Could not open directory $testcases: $!";
36 while (my $entry = readdir($dir)) {
37 next unless (-d "$testcases/$entry");
38 next if ($entry =~ m/^\./);
39 $testresults = $testresults && TestCase("$testcases/$entry");