From e90c0a8eb0138fbfd617bba369c9e6c3f8fd089c Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Sat, 31 May 2025 14:55:17 +0300 Subject: [PATCH] tools: ease diagnosing CI failures of vtimeout_test.v --- cmd/tools/vtimeout_test.v | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/cmd/tools/vtimeout_test.v b/cmd/tools/vtimeout_test.v index 4a8577599d..33c16a66c3 100644 --- a/cmd/tools/vtimeout_test.v +++ b/cmd/tools/vtimeout_test.v @@ -1,4 +1,5 @@ import os +import time const qvexe = os.quoted_path(@VEXE) @@ -18,24 +19,32 @@ fn depend_on_command(cmd string) ? { } } +fn execute(cmd string) os.Result { + sw := time.new_stopwatch() + res := os.execute(cmd) + dt := sw.elapsed().milliseconds() + eprintln('>> command: `${cmd:-60s}`, took: ${dt:5} ms, exit_code: ${res.exit_code:3}, output.len: ${res.output.len}') + return res +} + fn test_normal_exit_without_timeout_echo() { depend_on_command('echo') or { return } - ee := os.execute('${qvexe} timeout 0.2 echo') + ee := execute('${qvexe} timeout 0.2 echo') assert ee.exit_code == 0, ee.output - res := os.execute('${qvexe} timeout 0.2 echo z123') + res := execute('${qvexe} timeout 0.2 echo z123') assert res.exit_code == 0, res.output assert res.output.contains('z123') } fn test_normal_exit_without_timeout_sleep() { depend_on_command('sleep') or { return } - res := os.execute('${qvexe} timeout 0.4 sleep 0.1') + res := execute('${qvexe} timeout 0.4 sleep 0.1') assert res.exit_code == 0, res.output assert res.output == '' } fn test_exit_with_timeout() { depend_on_command('sleep') or { return } - res := os.execute('${qvexe} timeout 0.2 sleep 2') + res := execute('${qvexe} timeout 0.2 sleep 2') assert res.exit_code == 124, res.output }