summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author= <=>2018-07-31 00:27:13 -0500
committer= <=>2018-07-31 00:27:13 -0500
commitd003edcba6aaf29f74b904c09fc9dfdf3b2ff2cc (patch)
tree0e8587ef2b978cc872d5cd53b957fbd18c2db717
parent639a67f752874142b1c081345fd36610e9046103 (diff)
Fix for issue 300: Correctly print usage for cpu 10
-rw-r--r--src/print_cpu_usage.c2
-rw-r--r--testcases/022-cpu-usage-tenth-cpu/cleanup.pl15
-rw-r--r--testcases/022-cpu-usage-tenth-cpu/expected_output.pl12
-rw-r--r--testcases/022-cpu-usage-tenth-cpu/i3status.conf10
-rw-r--r--testcases/022-cpu-usage-tenth-cpu/setup.pl19
5 files changed, 57 insertions, 1 deletions
diff --git a/src/print_cpu_usage.c b/src/print_cpu_usage.c
index 615fe5d..1fccba4 100644
--- a/src/print_cpu_usage.c
+++ b/src/print_cpu_usage.c
@@ -163,7 +163,7 @@ void print_cpu_usage(yajl_gen json_gen, char *buffer, const char *format, const
}
int padding = 1;
int step = 10;
- while (step < number) {
+ while (step <= number) {
step *= 10;
padding++;
}
diff --git a/testcases/022-cpu-usage-tenth-cpu/cleanup.pl b/testcases/022-cpu-usage-tenth-cpu/cleanup.pl
new file mode 100644
index 0000000..ac341be
--- /dev/null
+++ b/testcases/022-cpu-usage-tenth-cpu/cleanup.pl
@@ -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;
+}
diff --git a/testcases/022-cpu-usage-tenth-cpu/expected_output.pl b/testcases/022-cpu-usage-tenth-cpu/expected_output.pl
new file mode 100644
index 0000000..21482ab
--- /dev/null
+++ b/testcases/022-cpu-usage-tenth-cpu/expected_output.pl
@@ -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 < 10) {
+ print "all: 00% CPU_0: 00% CPU_10: \n";
+} else {
+ print "all: 00% CPU_0: 00% CPU_10: 00%\n";
+}
diff --git a/testcases/022-cpu-usage-tenth-cpu/i3status.conf b/testcases/022-cpu-usage-tenth-cpu/i3status.conf
new file mode 100644
index 0000000..060adb3
--- /dev/null
+++ b/testcases/022-cpu-usage-tenth-cpu/i3status.conf
@@ -0,0 +1,10 @@
+general {
+ output_format = "none"
+}
+
+order += "cpu_usage"
+
+cpu_usage {
+ format = "all: %usage CPU_0: %cpu0 CPU_10: %cpu10"
+ path = "testcases/022-cpu-usage-tenth-cpu/stat"
+}
diff --git a/testcases/022-cpu-usage-tenth-cpu/setup.pl b/testcases/022-cpu-usage-tenth-cpu/setup.pl
new file mode 100644
index 0000000..ec4bca3
--- /dev/null
+++ b/testcases/022-cpu-usage-tenth-cpu/setup.pl
@@ -0,0 +1,19 @@
+#!/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";
+for (my $i = 0; $i < $cpu_count; $i++) {
+ print $fh "cpu$i 0 0 0 0 0 0 0 0 0 0\n";
+}
+close $fh;