]> git.sur5r.net Git - i3/i3status/commitdiff
Fix for issue 300: Correctly print usage for cpu 10 301/head
author= <=>
Tue, 31 Jul 2018 05:27:13 +0000 (00:27 -0500)
committer= <=>
Tue, 31 Jul 2018 05:27:13 +0000 (00:27 -0500)
src/print_cpu_usage.c
testcases/022-cpu-usage-tenth-cpu/cleanup.pl [new file with mode: 0644]
testcases/022-cpu-usage-tenth-cpu/expected_output.pl [new file with mode: 0644]
testcases/022-cpu-usage-tenth-cpu/i3status.conf [new file with mode: 0644]
testcases/022-cpu-usage-tenth-cpu/setup.pl [new file with mode: 0644]

index 615fe5dc276140a196070972d91ed98b16b47a78..1fccba41abe0a3d74cb54000a54a06bdc907138b 100644 (file)
@@ -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 (file)
index 0000000..ac341be
--- /dev/null
@@ -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 (file)
index 0000000..21482ab
--- /dev/null
@@ -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 (file)
index 0000000..060adb3
--- /dev/null
@@ -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 (file)
index 0000000..ec4bca3
--- /dev/null
@@ -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;