mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-09-18 23:09:29 +02:00
unittests: test_tokenizer: better handle mismatch error
The current logic is too sensitive to how c_lex name is placed. Also, it doesn't really check the log. Change it to check if the expected message will be reported after a call to C tokenizer with an invalid source. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <6e19578bc1ffa96e536dc31997ff658017f60173.1773823995.git.mchehab+huawei@kernel.org>
This commit is contained in:
committed by
Jonathan Corbet
parent
781171bec0
commit
14b7775ef7
@@ -46,10 +46,17 @@ def make_tokenizer_test(name, data):
|
||||
#
|
||||
# Check if logger is working
|
||||
#
|
||||
if "log_level" in data:
|
||||
with self.assertLogs('kdoc.c_lex', level='ERROR') as cm:
|
||||
if "log_msg" in data:
|
||||
with self.assertLogs() as cm:
|
||||
tokenizer = CTokenizer(data["source"])
|
||||
|
||||
msg_found = False
|
||||
for result in cm.output:
|
||||
if data["log_msg"] in result:
|
||||
msg_found = True
|
||||
|
||||
self.assertTrue(msg_found, f"Missing log {data['log_msg']}")
|
||||
|
||||
return
|
||||
|
||||
#
|
||||
@@ -124,7 +131,7 @@ TESTS_TOKENIZER = {
|
||||
|
||||
"mismatch_error": {
|
||||
"source": "int a$ = 5;", # $ is illegal
|
||||
"log_level": "ERROR",
|
||||
"log_msg": "Unexpected token",
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user