[LTP] [PATCH] lib: add TST_NO_SLOW_KCONFIG_CHECK macro for testcase tools

Li Wang
2025-01-17T07:18:27Z

The macro TST_NO_SLOW_KCONFIG_CHECK is added to control whether
the tst_has_slow_kconfig() function (which presumably checks for
slow kernel configurations) should be executed.

This allows test cases and tools to opt out of this additional
check, enabling more flexible and faster test execution in
certain scenarios.

Signed-off-by: Li Wang <liwang@redhat.com>
---
lib/tst_test.c | 2 ++
testcases/lib/tst_device.c | 1 +
testcases/lib/tst_get_free_pids.c | 1 +
testcases/lib/tst_ns_create.c | 1 +
testcases/lib/tst_ns_exec.c | 1 +
testcases/lib/tst_run_shell.c | 1 +
6 files changed, 7 insertions(+)

diff --git a/lib/tst_test.c b/lib/tst_test.c
index b204ad975..00d34b6f0 100644
--- a/lib/tst_test.c
+++ b/lib/tst_test.c
@@ -1702,8 +1702,10 @@ unsigned int tst_multiply_timeout(unsigned int timeout)
if (timeout < 1)
tst_brk(TBROK, "timeout must to be >= 1! (%d)", timeout);

+#ifndef TST_NO_SLOW_KCONFIG_CHECK
if (tst_has_slow_kconfig())
timeout *= 4;
+#endif

return timeout * timeout_mul;
}
diff --git a/testcases/lib/tst_device.c b/testcases/lib/tst_device.c
index 45f77a38b..386636610 100644
--- a/testcases/lib/tst_device.c
+++ b/testcases/lib/tst_device.c
@@ -8,6 +8,7 @@
#include <stdio.h>
#include <stdlib.h>
#define TST_NO_DEFAULT_MAIN
+#define TST_NO_SLOW_KCONFIG_CHECK
#include "tst_test.h"
#include "old/old_device.h"

diff --git a/testcases/lib/tst_get_free_pids.c b/testcases/lib/tst_get_free_pids.c
index 370ec3e26..c6436687a 100644
--- a/testcases/lib/tst_get_free_pids.c
+++ b/testcases/lib/tst_get_free_pids.c
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later

#define TST_NO_DEFAULT_MAIN
+#define TST_NO_SLOW_KCONFIG_CHECK
#include <stdio.h>
#include "tst_test.h"

diff --git a/testcases/lib/tst_ns_create.c b/testcases/lib/tst_ns_create.c
index ce3707a60..8c22ad449 100644
--- a/testcases/lib/tst_ns_create.c
+++ b/testcases/lib/tst_ns_create.c
@@ -17,6 +17,7 @@
*/

#define TST_NO_DEFAULT_MAIN
+#define TST_NO_SLOW_KCONFIG_CHECK

#include <stdio.h>
#include <string.h>
diff --git a/testcases/lib/tst_ns_exec.c b/testcases/lib/tst_ns_exec.c
index 6a8e39339..ca5b717da 100644
--- a/testcases/lib/tst_ns_exec.c
+++ b/testcases/lib/tst_ns_exec.c
@@ -14,6 +14,7 @@
*/

#define TST_NO_DEFAULT_MAIN
+#define TST_NO_SLOW_KCONFIG_CHECK

#include <stdio.h>
#include <sys/wait.h>
diff --git a/testcases/lib/tst_run_shell.c b/testcases/lib/tst_run_shell.c
index 7a446e004..b12a1e9f6 100644
--- a/testcases/lib/tst_run_shell.c
+++ b/testcases/lib/tst_run_shell.c
@@ -5,6 +5,7 @@
#include <sys/mount.h>

#define TST_NO_DEFAULT_MAIN
+#define TST_NO_SLOW_KCONFIG_CHECK
#include "tst_test.h"
#include "tst_safe_stdio.h"
#include "ujson.h"
--
2.47.1