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
|
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 v5.10;
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
use English;
|
||||||
use Term::ANSIColor qw(:constants);
|
use Term::ANSIColor qw(:constants);
|
||||||
use File::Basename;
|
use File::Basename;
|
||||||
|
|
||||||
sub TestCase {
|
sub TestCase {
|
||||||
my ($dir) = @_;
|
my ($dir) = @_;
|
||||||
|
|
||||||
|
if ( -f "@_/setup.pl") {
|
||||||
|
system($EXECUTABLE_NAME, "@_/setup.pl", ($dir));
|
||||||
|
}
|
||||||
|
|
||||||
my $conf = "$dir/i3status.conf";
|
my $conf = "$dir/i3status.conf";
|
||||||
my $testres = `./i3status --run-once -c $conf`;
|
my $testres = `./i3status --run-once -c $conf`;
|
||||||
my $refres = "";
|
my $refres = "";
|
||||||
|
|
||||||
if ( -f "@_/expected_output.txt") {
|
if ( -f "@_/expected_output.txt") {
|
||||||
$refres = `cat "@_/expected_output.txt"`;
|
$refres = `cat "@_/expected_output.txt"`;
|
||||||
} elsif ( -f "@_/expected_output.sh") {
|
} elsif ( -f "@_/expected_output.pl") {
|
||||||
$refres = `bash @_/expected_output.sh`;
|
$refres = `$EXECUTABLE_NAME @_/expected_output.pl`;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( -f "@_/cleanup.pl") {
|
||||||
|
system($EXECUTABLE_NAME, "@_/cleanup.pl", ($dir));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( "$testres" eq "$refres" ) {
|
if ( "$testres" eq "$refres" ) {
|
||||||
@ -27,7 +37,6 @@ sub TestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
my $testcases = 'testcases';
|
my $testcases = 'testcases';
|
||||||
my $testresults = 1;
|
my $testresults = 1;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user