]> granicus.if.org Git - procps-ng/commitdiff
tests: fix regexp in ps_sched_batch.exp to match in first line
authordmarc-noreply@freelists.org <dmarc-noreply@freelists.org>
Wed, 6 May 2015 22:17:23 +0000 (15:17 -0700)
committerCraig Small <csmall@enc.com.au>
Sun, 10 May 2015 05:05:02 +0000 (15:05 +1000)
The current regexp checks for a \s+ in the beginning, however that will
only match if there is a \n in the `ps` output before test-schedbatch,
but that will not happen if test-schedbatch is the first process in the
list, which happens if the PID of test-schedbatch is low enough to bring
it up in the sorted list.

Fix it by enabling newline-sensitive matching with (?n) which then
allows using ^ and $ anchors in the regexp (including an optional \r
introduced by expect.) Matching the end of line also improves checking
that the last field matches 18 exactly and not something like 181, etc.

Tested that `make check` does not break and also fixed the flakiness
seen in an environment with few processes running under the test user
which made the issue more frequent.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Signed-off-by: Craig Small <csmall@enc.com.au>
testsuite/ps.test/ps_sched_batch.exp

index 1791064df304e5a0617ef3f851ebccc2b7793522..3266e5ada558b90e098ffc8d769fe2786e1b9c94 100644 (file)
@@ -8,4 +8,4 @@ spawn $schedbatch 18
 
 set test "ps SCHED_BATCH scheduler"
 spawn $ps --no-header -o comm,cls,nice -a
-expect_pass "$test" "\\s+test-schedbatch\\s+B\\s+18"
+expect_pass "$test" "(?n)^test-schedbatch\\s+B\\s+18\\r?\$"