diff options
author | Ingo Bürk <admin@airblader.de> | 2018-08-01 13:49:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-01 13:49:27 +0200 |
commit | fadd4d89b1e196e009d5cd5cc2f6c3bdda83b12e (patch) | |
tree | 0e8587ef2b978cc872d5cd53b957fbd18c2db717 | |
parent | 639a67f752874142b1c081345fd36610e9046103 (diff) | |
parent | d003edcba6aaf29f74b904c09fc9dfdf3b2ff2cc (diff) |
Merge pull request #301 from wmarvel/issue300
Fix for issue 300: Correctly print usage for cpu 10
-rw-r--r-- | src/print_cpu_usage.c | 2 | ||||
-rw-r--r-- | testcases/022-cpu-usage-tenth-cpu/cleanup.pl | 15 | ||||
-rw-r--r-- | testcases/022-cpu-usage-tenth-cpu/expected_output.pl | 12 | ||||
-rw-r--r-- | testcases/022-cpu-usage-tenth-cpu/i3status.conf | 10 | ||||
-rw-r--r-- | testcases/022-cpu-usage-tenth-cpu/setup.pl | 19 |
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; |