Fix CPU unit tests (#239)
Support any amount of available cores on testing machine.
This commit is contained in:
parent
aefa784882
commit
cb9b55217d
15
testcases/010-cpu-usage/cleanup.pl
Normal file
15
testcases/010-cpu-usage/cleanup.pl
Normal 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;
|
||||
}
|
12
testcases/010-cpu-usage/expected_output.pl
Executable file
12
testcases/010-cpu-usage/expected_output.pl
Executable 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";
|
||||
}
|
@ -1 +0,0 @@
|
||||
all: 75% CPU_0: 100% CPU_1: 50%
|
23
testcases/010-cpu-usage/setup.pl
Executable file
23
testcases/010-cpu-usage/setup.pl
Executable 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;
|
@ -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
|
15
testcases/011-cpu-usage/cleanup.pl
Normal file
15
testcases/011-cpu-usage/cleanup.pl
Normal 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;
|
||||
}
|
12
testcases/011-cpu-usage/expected_output.pl
Normal file
12
testcases/011-cpu-usage/expected_output.pl
Normal 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";
|
||||
}
|
@ -1 +0,0 @@
|
||||
all: 50% CPU_0: 00% CPU_1: 100%
|
23
testcases/011-cpu-usage/setup.pl
Normal file
23
testcases/011-cpu-usage/setup.pl
Normal 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;
|
@ -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
|
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user