Skip to content

Commit 2115134

Browse files
committed
t/verify: test cases for running pattern and pattern_hdr
Add test cases for the recently added verify_pattern_interval and verify=pattern_hdr options to our pre-existing sets of tests. In some cases verify failures do not produce non-zero return values unless verify_fatal is set. Add verify_fatal=1 to affected test cases. Link: https://lore.kernel.org/r/20250508185832.3702-10-vincent.fu@samsung.com Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
1 parent 79330c2 commit 2115134

File tree

1 file changed

+42
-3
lines changed

1 file changed

+42
-3
lines changed

t/verify.py

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@
5555
'verify_async',
5656
'verify_async_cpus',
5757
'verify_pattern',
58+
'verify_pattern_interval',
5859
'verify_only',
60+
'verify_fatal',
5961
]
6062

6163
class VerifyTest(FioJobCmdTest):
@@ -281,6 +283,7 @@ def check_result(self):
281283
"bs": 4096,
282284
"rw": "write",
283285
"output-format": "json",
286+
"verify_fatal": 1,
284287
},
285288
"test_class": VerifyCSUMTest,
286289
"success": SUCCESS_NONZERO,
@@ -294,6 +297,7 @@ def check_result(self):
294297
"bs": 4096,
295298
"rw": "randwrite",
296299
"output-format": "json",
300+
"verify_fatal": 1,
297301
},
298302
"test_class": VerifyCSUMTest,
299303
"success": SUCCESS_NONZERO,
@@ -309,6 +313,7 @@ def check_result(self):
309313
"bs": 4096,
310314
"rw": "write",
311315
"output-format": "json",
316+
"verify_fatal": 1,
312317
},
313318
"test_class": VerifyCSUMTest,
314319
"success": SUCCESS_NONZERO,
@@ -324,6 +329,7 @@ def check_result(self):
324329
"bs": 4096,
325330
"rw": "randwrite",
326331
"output-format": "json",
332+
"verify_fatal": 1,
327333
},
328334
"test_class": VerifyCSUMTest,
329335
"success": SUCCESS_NONZERO,
@@ -508,10 +514,20 @@ def verify_test_header(test_env, args, csum, mode, sequence):
508514
test['force_skip'] = False
509515

510516
test['fio_opts']['verify'] = csum
511-
if csum == 'pattern':
517+
if csum in ('pattern', 'pattern_hdr'):
512518
test['fio_opts']['verify_pattern'] = '"abcd"-120xdeadface'
519+
test['fio_opts'].pop('verify_pattern_interval', None)
520+
elif csum == 'pattern_interval':
521+
test['fio_opts']['verify'] = "pattern_hdr"
522+
test['fio_opts']['verify_pattern'] = '%o'
523+
test['fio_opts']['verify_pattern_interval'] = 512
524+
elif csum == 'pattern_interval_nohdr':
525+
test['fio_opts']['verify'] = "pattern"
526+
test['fio_opts']['verify_pattern'] = '%o'
527+
test['fio_opts']['verify_pattern_interval'] = 512
513528
else:
514529
test['fio_opts'].pop('verify_pattern', None)
530+
test['fio_opts'].pop('verify_pattern_interval', None)
515531

516532
if 'norandommap' in sequence:
517533
test['fio_opts']['norandommap'] = 1
@@ -579,10 +595,20 @@ def verify_test_csum(test_env, args, mbs, csum):
579595
test['force_skip'] = False
580596
test['fio_opts']['verify'] = csum
581597

582-
if csum == 'pattern':
598+
if csum in ('pattern', 'pattern_hdr'):
583599
test['fio_opts']['verify_pattern'] = '"abcd"-120xdeadface'
600+
test['fio_opts'].pop('verify_pattern_interval', None)
601+
elif csum == 'pattern_interval':
602+
test['fio_opts']['verify'] = "pattern_hdr"
603+
test['fio_opts']['verify_pattern'] = '%o'
604+
test['fio_opts']['verify_pattern_interval'] = 512
605+
elif csum == 'pattern_interval_nohdr':
606+
test['fio_opts']['verify'] = "pattern"
607+
test['fio_opts']['verify_pattern'] = '%o'
608+
test['fio_opts']['verify_pattern_interval'] = 512
584609
else:
585610
test['fio_opts'].pop('verify_pattern', None)
611+
test['fio_opts'].pop('verify_pattern_interval', None)
586612

587613
if mbs == MANGLE_JOB_BS:
588614
test['fio_opts']['mangle_bs'] = test['fio_opts']['bs']
@@ -610,10 +636,20 @@ def verify_test(test_env, args, ddir, csum):
610636
test['fio_opts']['rw'] = ddir
611637
test['fio_opts']['verify'] = csum
612638

613-
if csum == 'pattern':
639+
if csum in ('pattern', 'pattern_hdr'):
614640
test['fio_opts']['verify_pattern'] = '"abcd"-120xdeadface'
641+
test['fio_opts'].pop('verify_pattern_interval', None)
642+
elif csum == 'pattern_interval':
643+
test['fio_opts']['verify'] = "pattern_hdr"
644+
test['fio_opts']['verify_pattern'] = '%o'
645+
test['fio_opts']['verify_pattern_interval'] = 512
646+
elif csum == 'pattern_interval_nohdr':
647+
test['fio_opts']['verify'] = "pattern"
648+
test['fio_opts']['verify_pattern'] = '%o'
649+
test['fio_opts']['verify_pattern_interval'] = 512
615650
else:
616651
test['fio_opts'].pop('verify_pattern', None)
652+
test['fio_opts'].pop('verify_pattern_interval', None)
617653

618654
# For 100% read data directions we need the write file that was written with
619655
# verify enabled. Use a previous test case for this by telling fio to
@@ -664,6 +700,9 @@ def verify_test(test_env, args, ddir, csum):
664700
'sha3-384',
665701
'sha3-512',
666702
'pattern',
703+
'pattern_hdr',
704+
'pattern_interval',
705+
'pattern_interval_nohdr',
667706
'null',
668707
]
669708

0 commit comments

Comments
 (0)