[Fuego] [RFC 1/1] Benchmark.fio: prepare fio configurations when using host installed binary

[email protected] Fri, 6 May 2022 17:29:31 +0530
Newsgroups dev.linux.lists.fuego
Message-ID <[email protected]>
From: Shivanand Kunijadar <[email protected]>

We use option `-p ptrca` in fio test case to skip build phase and
start run phase, this is useful in case if host installed binary is
being used instead of building fio binary via fuego.

if fio test is using host binary then preparing `fsx-current` and
`ssd-test-current` configurations from host installed fio examples
 is necessary.

Signed-off-by: Shivanand Kunijadar <[email protected]>
---
 tests/Benchmark.fio/fuego_test.sh | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/tests/Benchmark.fio/fuego_test.sh b/tests/Benchmark.fio/fuego_test.sh
index 363a5ef..f3e897d 100755
--- a/tests/Benchmark.fio/fuego_test.sh
+++ b/tests/Benchmark.fio/fuego_test.sh
@@ -36,6 +36,25 @@ function test_deploy {
 function test_run {
     hd_test_mount_prepare $BENCHMARK_FIO_MOUNT_BLOCKDEV $BENCHMARK_FIO_MOUNT_POINT
 
+    if [ ! -f $BOARD_TESTDIR/fuego.$TESTDIR/examples/fsx-current ] || \
+        [ ! -f $BOARD_TESTDIR/fuego.$TESTDIR/examples/ssd-test-current ]; then
+        # Assuming host system installaton is used
+        cp /usr/share/doc/fio/examples/fsx.fio fsx-current
+        cp /usr/share/doc/fio/examples/ssd-test.fio ssd-test-current
+
+        # libaio is not available in XXX; O_DIRECT is not supported by XXXfs.
+        sed -i -e "s/libaio/posixaio/g" -e "/direct=/d" fsx-current ssd-test-current
+        sed -i -e "s|mount\-point\-of\-ssd|$BENCHMARK_FIO_MOUNT_POINT/fuego.$TESTDIR|g" -e "s/1g/90m/g" ssd-test-current
+
+        # Decrease test execution time by an order of magnitude
+        sed -i -e "/loops=/cloops=10000" fsx-current
+        echo "directory=$BENCHMARK_FIO_MOUNT_POINT/fuego.$TESTDIR" >> fsx-current
+
+        # remove deprected rwmixcycle=
+        sed -i -e "/rwmixcycle=/d" fsx-current
+
+    fi
+
     get_program_path fio
     report "$PROGRAM_FIO ssd-test-current --timeout=$BENCHMARK_FIO_TIMEOUT"
     report_append "$PROGRAM_FIO fsx-current --timeout=$BENCHMARK_FIO_TIMEOUT"
-- 
2.20.1