From d1d9f147ec4cc82e0319da0ede642976e117034c Mon Sep 17 00:00:00 2001 From: Aaron Gyes Date: Tue, 8 Feb 2022 16:57:01 -0800 Subject: [PATCH] Update tests for `time` output. --- src/fish_tests.cpp | 13 ++++++------- tests/checks/time.fish | 28 ++++++++++++++-------------- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/fish_tests.cpp b/src/fish_tests.cpp index 646cfcdac..226dcb362 100644 --- a/src/fish_tests.cpp +++ b/src/fish_tests.cpp @@ -6619,18 +6619,17 @@ static void test_timer_format() { t2.cpu_children.ru_stime.tv_usec = 500; t2.wall += std::chrono::microseconds(500); auto expected = - LR"( -________________________________________________________ -Executed in 500.00 micros fish external - usr time 1.00 secs 1.00 secs 1.00 millis - sys time 1.00 secs 1.00 secs 0.50 millis -)"; // (a) (b) (c) + L"\x1b(0qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\x1b(B\n" +"Executed in 500.00 μs fish external\n" +" usr time 1.00 sec 1.00 sec 1.00 ms\n" +" sys time 1.00 sec 1.00 sec 0.50 ms"; + // (a) (b) (c) // (a) remaining columns should align even if there are different units // (b) carry to the next unit when it would overflow %6.2F // (c) carry to the next unit when the larger one exceeds 1000 std::wstring actual = timer_snapshot_t::print_delta(t1, t2, true); if (actual != expected) { - err(L"Failed to format timer snapshot\nExpected: %ls\nActual:%ls\n", expected, + err(L"Failed to format timer snapshot\nExpected:\n %ls\nActual:\n %ls\n", expected, actual.c_str()); } setlocale(LC_NUMERIC, saved_locale); diff --git a/tests/checks/time.fish b/tests/checks/time.fish index 0eb469be7..7923dce6f 100644 --- a/tests/checks/time.fish +++ b/tests/checks/time.fish @@ -3,37 +3,37 @@ time sleep 0 # These are a tad awkward because it picks the correct unit and adapts whitespace. # The idea is that it's a table. -#CHECKERR: ________________________________________________________ -#CHECKERR: Executed in {{[\d,.\s]*}} {{millis|micros|secs}} {{\s*}}fish {{\s*}}external -#CHECKERR: usr time {{[\d,.\s]*}} {{millis|micros|secs}} {{[\d,.\s]*}} {{millis|micros|secs}} {{[\d,.\s]*}} {{millis|micros|secs}} -#CHECKERR: sys time {{[\d,.\s]*}} {{millis|micros|secs}} {{[\d,.\s]*}} {{millis|micros|secs}} {{[\d,.\s]*}} {{millis|micros|secs}} +#CHECKERR: {{.*}} +#CHECKERR: Executed in {{[\d,.\s]*}} {{ms|μs|sec}} {{\s*}}fish {{\s*}}external +#CHECKERR: usr time {{[\d,.\s]*}} {{ms|μs|sec}} {{[\d,.\s]*}} {{ms|μs|sec}} {{[\d,.\s]*}} {{ms|μs|sec}} +#CHECKERR: sys time {{[\d,.\s]*}} {{ms|μs|sec}} {{[\d,.\s]*}} {{ms|μs|sec}} {{[\d,.\s]*}} {{ms|μs|sec}} time for i in (seq 1 2) echo banana end #CHECK: banana #CHECK: banana -#CHECKERR: ________________________________________________________ -#CHECKERR: Executed in {{[\d,.\s]*}} {{millis|micros|secs}} {{\s*}}fish {{\s*}}external -#CHECKERR: usr time {{[\d,.\s]*}} {{millis|micros|secs}} {{[\d,.\s]*}} {{millis|micros|secs}} {{[\d,.\s]*}} {{millis|micros|secs}} -#CHECKERR: sys time {{[\d,.\s]*}} {{millis|micros|secs}} {{[\d,.\s]*}} {{millis|micros|secs}} {{[\d,.\s]*}} {{millis|micros|secs}} +#CHECKERR: {{.*}} +#CHECKERR: Executed in {{[\d,.\s]*}} {{ms|μs|sec}} {{\s*}}fish {{\s*}}external +#CHECKERR: usr time {{[\d,.\s]*}} {{ms|μs|sec}} {{[\d,.\s]*}} {{ms|μs|sec}} {{[\d,.\s]*}} {{ms|μs|sec}} +#CHECKERR: sys time {{[\d,.\s]*}} {{ms|μs|sec}} {{[\d,.\s]*}} {{ms|μs|sec}} {{[\d,.\s]*}} {{ms|μs|sec}} # Make sure we're not double-parsing time echo 'foo -s bar' #CHECK: foo -s bar -#CHECKERR: ________________________________________________________ -#CHECKERR: Executed in {{[\d,.\s]*}} {{millis|micros|secs}} {{\s*}}fish {{\s*}}external -#CHECKERR: usr time {{[\d,.\s]*}} {{millis|micros|secs}} {{[\d,.\s]*}} {{millis|micros|secs}} {{[\d,.\s]*}} {{millis|micros|secs}} -#CHECKERR: sys time {{[\d,.\s]*}} {{millis|micros|secs}} {{[\d,.\s]*}} {{millis|micros|secs}} {{[\d,.\s]*}} {{millis|micros|secs}} +#CHECKERR: {{.*}} +#CHECKERR: Executed in {{[\d,.\s]*}} {{ms|μs|sec}} {{\s*}}fish {{\s*}}external +#CHECKERR: usr time {{[\d,.\s]*}} {{ms|μs|sec}} {{[\d,.\s]*}} {{ms|μs|sec}} {{[\d,.\s]*}} {{ms|μs|sec}} +#CHECKERR: sys time {{[\d,.\s]*}} {{ms|μs|sec}} {{[\d,.\s]*}} {{ms|μs|sec}} {{[\d,.\s]*}} {{ms|μs|sec}} true && time a=b not builtin true | true -#CHECKERR: ___{{.*}} +#CHECKERR: {{.*}} #CHECKERR: {{.*}} #CHECKERR: {{.*}} #CHECKERR: {{.*}} not time true -#CHECKERR: ___{{.*}} +#CHECKERR: {{.*}} #CHECKERR: {{.*}} #CHECKERR: {{.*}} #CHECKERR: {{.*}}