Tests: Preemptively fail infinite blocking tests when low on disk space
authorKienan Stewart <kstewart@efficios.com>
Wed, 21 Jun 2023 13:39:06 +0000 (09:39 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 27 Jul 2023 19:15:14 +0000 (15:15 -0400)
In the system tests run by LAVA, the infinite blocking tests were
hanging when the system under test ran out of disk space. This is the
expected behaviour of the failing test, but the condition can be
detected and the tests preemptively failed with a clear error of what
needs to be addressed in the system being tested.

Change-Id: I9e6126408b57c2cd5aa64c2e360e0672f9eb2314
Signed-off-by: Kienan Stewart <kstewart@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
tests/regression/ust/blocking/test_blocking

index f6c465d6e1d345097391b35f86c58c915757b670..10c07a7e7644e1cf2cc5b3276d2d9174aa543852 100755 (executable)
@@ -30,6 +30,19 @@ function run_app()
        ok $? "Application done"
 }
 
+function check_disk_space()
+{
+       local path
+
+       path="${1:?}"
+       kb_free=$(df -k -P "${path}" | tail -n 1 | awk '{ print $4 }')
+       if [ "${kb_free}" -lt "1048576" ] ; then
+               return 1
+       fi
+
+       return 0
+}
+
 function test_ust_implicit_no_blocking()
 {
        NUM_EVENT=5000000
@@ -134,6 +147,10 @@ plan_tests $NUM_TESTS
 
 print_test_banner "$TEST_DESC"
 
+if ! check_disk_space "${TMPDIR:-/tmp}"; then
+       BAIL_OUT "Not enough free space to run blocking tests"
+fi
+
 TESTS=(
        "test_ust_implicit_no_blocking"
        "test_ust_implicit_no_blocking_with_channel_blocking"
This page took 0.025799 seconds and 4 git commands to generate.