[LTP] [PATCH] syslog11: fix console loglevel changed after test

Hongchen Zhang zhanghongchen@loongson.cn
Mon Jun 27 09:40:00 CEST 2022


the console loglevel is force to be 7(LOGLEVEL_DEFAULT) after test,
which is not the desired behavior.So we reset the console loglevel
to its original value after the test body.The method what we take
is just same as commit:
a2ff1c2d141d ("kmsg01: set/restore console log level").

Signed-off-by: Hongchen Zhang <zhanghongchen@loongson.cn>
Signed-off-by: Lingling Li <lilingling@loongson.cn>
---
 testcases/kernel/syscalls/syslog/syslog11.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/testcases/kernel/syscalls/syslog/syslog11.c b/testcases/kernel/syscalls/syslog/syslog11.c
index b9540ef..78a7cc4 100644
--- a/testcases/kernel/syscalls/syslog/syslog11.c
+++ b/testcases/kernel/syscalls/syslog/syslog11.c
@@ -84,6 +84,11 @@ struct test_case_t {		/* test case structure */
 	char *desc;		/* Test description */
 };
 
+#define PRINTK "/proc/sys/kernel/printk"
+#define CONSOLE_LOGLEVEL_QUIET   4
+
+static int console_loglevel = -1;
+
 char *TCID = "syslog11";
 static int testno;
 static char buf;
@@ -195,6 +200,11 @@ void setup(void)
 		tst_brkm(TBROK, NULL, "nobody user id doesn't exist");
 	}
 
+	if (access(PRINTK, F_OK) == 0) {
+		SAFE_FILE_SCANF(NULL, PRINTK, "%d", &console_loglevel);
+		SAFE_FILE_PRINTF(NULL, PRINTK, "%d", CONSOLE_LOGLEVEL_QUIET);
+	}
+
 	/* Pause if that option was specified
 	 * TEST_PAUSE contains the code to fork the test with the -c option.
 	 */
@@ -208,5 +218,6 @@ void setup(void)
  */
 void cleanup(void)
 {
-
+	if (console_loglevel != -1)
+		SAFE_FILE_PRINTF(NULL, PRINTK, "%d", console_loglevel);
 }
-- 
1.8.3.1



More information about the ltp mailing list