per_job_logs=0
randrepeat=0
stonewall
+write_bw_log
# Expected result: trim issued to random offset followed by write to same offset
# all offsets touched
# block sizes match
# Buggy result: something else
[basic]
-write_bw_log
# Expected result: trim issued to random offset followed by write to same offset
# all offsets trimmed
# block sizes 8k for both write and trim
# Buggy result: something else
[bs]
-write_bw_log
bs=4k,4k,8k
# Expected result: trim issued to random offset followed by write to same offset
# block sizes match
# Buggy result: something else
[bsrange]
-write_bw_log
bsrange=512-4k
# Expected result: trim issued to random offset followed by write to same offset
# block sizes match
# Buggy result: something else
[bssplit]
-write_bw_log
bsrange=512/25:1k:25:2k:25:4k/25
# Expected result: trim issued to random offset followed by write to same offset
-# all offsets touched
# block sizes match
# Buggy result: something else
[basic_no_rm]
-write_bw_log
norandommap=1
# Expected result: trim issued to random offset followed by write to same offset
-# all offsets trimmed
# block sizes 8k for both write and trim
# Buggy result: something else
[bs_no_rm]
-write_bw_log
bs=4k,4k,8k
norandommap=1
# Expected result: trim issued to random offset followed by write to same offset
-# all offsets trimmed
# block sizes match
# Buggy result: something else
[bsrange_no_rm]
-write_bw_log
bsrange=512-4k
norandommap=1
# Expected result: trim issued to random offset followed by write to same offset
-# all offsets trimmed
# block sizes match
# Buggy result: something else
[bssplit_no_rm]
-write_bw_log
bsrange=512/25:1k:25:2k:25:4k/25
norandommap=1
class FioJobTest_t0023(FioJobTest):
"""Test consists of fio test job t0023"""
- def check_seq(self, filename):
+ def check_trimwrite(self, filename):
+ """Make sure that trims are followed by writes of the same size at the same offset."""
+
bw_log_filename = os.path.join(self.test_dir, filename)
file_data, success = self.get_file(bw_log_filename)
log_lines = file_data.split('\n')
def check_result(self):
super(FioJobTest_t0023, self).check_result()
- self.check_seq("basic_bw.log")
- self.check_seq("bs_bw.log")
- self.check_seq("bsrange_bw.log")
- self.check_seq("bssplit_bw.log")
- self.check_seq("basic_no_rm_bw.log")
- self.check_seq("bs_no_rm_bw.log")
- self.check_seq("bsrange_no_rm_bw.log")
- self.check_seq("bssplit_no_rm_bw.log")
+ self.check_trimwrite("basic_bw.log")
+ self.check_trimwrite("bs_bw.log")
+ self.check_trimwrite("bsrange_bw.log")
+ self.check_trimwrite("bssplit_bw.log")
+ self.check_trimwrite("basic_no_rm_bw.log")
+ self.check_trimwrite("bs_no_rm_bw.log")
+ self.check_trimwrite("bsrange_no_rm_bw.log")
+ self.check_trimwrite("bssplit_no_rm_bw.log")
# TODO make sure all offsets were touched