From af6e264b46de25136b56d1c8178d4c03bb611c1c Mon Sep 17 00:00:00 2001 From: "dmarc-noreply@freelists.org" Date: Wed, 6 May 2015 15:17:23 -0700 Subject: [PATCH] tests: fix regexp in ps_sched_batch.exp to match in first line 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 Signed-off-by: Craig Small --- testsuite/ps.test/ps_sched_batch.exp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/ps.test/ps_sched_batch.exp b/testsuite/ps.test/ps_sched_batch.exp index 1791064d..3266e5ad 100644 --- a/testsuite/ps.test/ps_sched_batch.exp +++ b/testsuite/ps.test/ps_sched_batch.exp @@ -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?\$"