diff mbox series

syslog11: fix console loglevel changed after test

Message ID 1656315600-22268-1-git-send-email-zhanghongchen@loongson.cn
State Superseded
Headers show
Series syslog11: fix console loglevel changed after test | expand

Commit Message

Hongchen Zhang June 27, 2022, 7:40 a.m. UTC
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(-)

Comments

Cyril Hrubis July 18, 2022, 9:04 a.m. UTC | #1
Hi!
> 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").

First of all the test is mess, it would be nice to clean it up first and
convert it to the new library.

> 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);

Do we need to set the loglevel at the start of the test here?

> +	}
> +
>  	/* 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
>
Hongchen Zhang July 18, 2022, 1:11 p.m. UTC | #2
On 2022/7/18 pm 5:04, Cyril Hrubis wrote:
> Hi!
>> 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").
> 
> First of all the test is mess, it would be nice to clean it up first and
> convert it to the new library.
> 
OK, I will change this test to new API and make a v2 patch.
>> 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);
> 
> Do we need to set the loglevel at the start of the test here?
> 
OK, I will change to use .save_restore to do this
>> +	}
>> +
>>   	/* 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
>>
> 
Thanks.

Hongchen Zhang
diff mbox series

Patch

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);
 }