Fix CPU unit tests (#239)

Support any amount of available cores on testing machine.
This commit is contained in:
Emeric Planet 2017-08-29 19:01:30 +02:00 committed by kousu
parent aefa784882
commit cb9b55217d
12 changed files with 112 additions and 12 deletions

View File

@ -0,0 +1,15 @@
#!/usr/bin/env perl
use v5.10;
use strict;
use warnings;
if ($#ARGV != 0 || ! -d $ARGV[0]) {
say "Error with cleanup script: argument not provided or not a directory";
exit 1;
}
my $output_file = "$ARGV[0]/stat";
if (-f $output_file) {
unlink $output_file;
}

View File

@ -0,0 +1,12 @@
#!/usr/bin/env perl
use v5.10;
use strict;
use warnings;
chomp(my $cpu_count = `grep -c -P '^processor\\s+:' /proc/cpuinfo`);
if ($cpu_count == 1) {
print "all: 100% CPU_0: 100% CPU_1: \n";
} else {
print "all: 75% CPU_0: 100% CPU_1: 50%\n";
}

View File

@ -1 +0,0 @@
all: 75% CPU_0: 100% CPU_1: 50%

View File

@ -0,0 +1,23 @@
#!/usr/bin/env perl
use v5.10;
use strict;
use warnings;
if ($#ARGV != 0 || ! -d $ARGV[0]) {
say "Error with setup script: argument not provided or not a directory";
exit 1;
}
chomp(my $cpu_count = `grep -c -P '^processor\\s+:' /proc/cpuinfo`);
my $output_file = "$ARGV[0]/stat";
open(my $fh, '>', $output_file) or die "Could not open file '$output_file' $!";
print $fh "cpu 0 0 0 0 0 0 0 0 0 0\n";
print $fh "cpu0 100 0 0 0 0 0 0 0 0 0\n";
if ($cpu_count > 1) {
print $fh "cpu1 50 0 0 50 0 0 0 0 0 0\n";
for (my $i = 2; $i <= $cpu_count; $i++) {
print $fh "cpu$i 0 0 0 0 0 0 0 0 0 0\n";
}
}
close $fh;

View File

@ -1,3 +0,0 @@
cpu 0 0 0 0 0 0 0 0 0 0
cpu0 100 0 0 0 0 0 0 0 0 0
cpu1 50 0 0 50 0 0 0 0 0 0

View File

@ -0,0 +1,15 @@
#!/usr/bin/env perl
use v5.10;
use strict;
use warnings;
if ($#ARGV != 0 || ! -d $ARGV[0]) {
say "Error with cleanup script: argument not provided or not a directory";
exit 1;
}
my $output_file = "$ARGV[0]/stat";
if (-f $output_file) {
unlink $output_file;
}

View File

@ -0,0 +1,12 @@
#!/usr/bin/env perl
use v5.10;
use strict;
use warnings;
chomp(my $cpu_count = `grep -c -P '^processor\\s+:' /proc/cpuinfo`);
if ($cpu_count == 1) {
print "all: 00% CPU_0: 00% CPU_1: \n";
} else {
print "all: 50% CPU_0: 00% CPU_1: 100%\n";
}

View File

@ -1 +0,0 @@
all: 50% CPU_0: 00% CPU_1: 100%

View File

@ -0,0 +1,23 @@
#!/usr/bin/env perl
use v5.10;
use strict;
use warnings;
if ($#ARGV != 0 || ! -d $ARGV[0]) {
say "Error with setup script: argument not provided or not a directory";
exit 1;
}
chomp(my $cpu_count = `grep -c -P '^processor\\s+:' /proc/cpuinfo`);
my $output_file = "$ARGV[0]/stat";
open(my $fh, '>', $output_file) or die "Could not open file '$output_file' $!";
print $fh "cpu 0 0 0 0 0 0 0 0 0 0\n";
print $fh "cpu0 0 0 0 300 0 0 0 0 0 0\n";
if ($cpu_count > 1) {
print $fh "cpu1 100 100 100 0 0 0 0 0 0 0\n";
}
for (my $i = 2; $i <= $cpu_count; $i++) {
print $fh "cpu$i 0 0 0 0 0 0 0 0 0 0\n";
}
close $fh;

View File

@ -1,3 +0,0 @@
cpu 0 0 0 0 0 0 0 0 0 0
cpu0 0 0 0 300 0 0 0 0 0 0
cpu1 100 100 100 0 0 0 0 0 0 0

View File

@ -1,2 +1 @@
cpu 0 0 0 0 0 0 0 0 0 0
cpu0 100 0 0 0 0 0 0 0 0 0

View File

@ -3,19 +3,29 @@
use v5.10;
use strict;
use warnings;
use English;
use Term::ANSIColor qw(:constants);
use File::Basename;
sub TestCase {
my ($dir) = @_;
if ( -f "@_/setup.pl") {
system($EXECUTABLE_NAME, "@_/setup.pl", ($dir));
}
my $conf = "$dir/i3status.conf";
my $testres = `./i3status --run-once -c $conf`;
my $refres = "";
if ( -f "@_/expected_output.txt") {
$refres = `cat "@_/expected_output.txt"`;
} elsif ( -f "@_/expected_output.sh") {
$refres = `bash @_/expected_output.sh`;
} elsif ( -f "@_/expected_output.pl") {
$refres = `$EXECUTABLE_NAME @_/expected_output.pl`;
}
if ( -f "@_/cleanup.pl") {
system($EXECUTABLE_NAME, "@_/cleanup.pl", ($dir));
}
if ( "$testres" eq "$refres" ) {
@ -27,7 +37,6 @@ sub TestCase {
}
}
my $testcases = 'testcases';
my $testresults = 1;