test: add latency test using posixaio ioengine
authorVincent Fu <vincent.fu@samsung.com>
Mon, 15 Aug 2022 15:34:43 +0000 (11:34 -0400)
committerVincent Fu <vincent.fu@samsung.com>
Tue, 16 Aug 2022 19:35:10 +0000 (15:35 -0400)
Make sure that mean(slat) + mean(clat) = mean(total lat).

Tests 15 and 16 use the libaio and null ioengines, respectively. Both of
those ioengines have commit hooks. Add this new test using the posixaio
ioengine which does not have a commit hook so that we can better cover
the possible ways that latency is calcualted.

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
t/jobs/t0017.fio [new file with mode: 0644]
t/run-fio-tests.py

diff --git a/t/jobs/t0017.fio b/t/jobs/t0017.fio
new file mode 100644 (file)
index 0000000..14486d9
--- /dev/null
@@ -0,0 +1,9 @@
+# Expected result: mean(slat) + mean(clat) = mean(lat)
+# Buggy result: equality does not hold
+# This is similar to t0015 and t0016 except that is uses posixaio which is
+# available on more platforms and does not have a commit hook
+
+[test]
+ioengine=posixaio
+size=1M
+iodepth=16
index d77f20e00f8ae3a47fe0694116b54545e57962e0..2bd02a2a31f84aec122bc81af48110570878d35d 100755 (executable)
@@ -857,6 +857,16 @@ TEST_LIST = [
         'output_format':    'json',
         'requirements':     [],
     },
+    {
+        'test_id':          17,
+        'test_class':       FioJobTest_t0015,
+        'job':              't0017.fio',
+        'success':          SUCCESS_DEFAULT,
+        'pre_job':          None,
+        'pre_success':      None,
+        'output_format':    'json',
+        'requirements':     [Requirements.not_windows],
+    },
     {
         'test_id':          1000,
         'test_class':       FioExeTest,