File tree Expand file tree Collapse file tree 4 files changed +138
-0
lines changed Expand file tree Collapse file tree 4 files changed +138
-0
lines changed Original file line number Diff line number Diff line change
1
+ # Version: 0.0.1
2
+ FROM quay.io/centos/centos:stream10
3
+ ENV REFRESHED_AT 2025-09-03-01
4
+ WORKDIR /
5
+ RUN dnf install -y fio
6
+ COPY run_fio.sh ./
7
+ RUN install -m 00775 ./run_fio.sh /bin
8
+ CMD ["/bin/run_fio.sh" ]
9
+
Original file line number Diff line number Diff line change
1
+ CONTAINER_CMD ?= podman
2
+ IMG_PREFIX := quay.io/samba.org/sit-test-cases
3
+ IMG_TAG := fio
4
+ IMG := $(IMG_PREFIX ) :$(IMG_TAG )
5
+
6
+
7
+ build :
8
+ $(CONTAINER_CMD ) build --file $(CURDIR ) /Containerfile --tag $(IMG )
9
+
10
+ push :
11
+ $(CONTAINER_CMD ) push $(IMG )
12
+
13
+ clean :
14
+ $(CONTAINER_CMD ) rmi --force $(IMG )
15
+
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+ set -o nounset
3
+ set -o pipefail
4
+ export LC_ALL=C
5
+ unset CDPATH
6
+
7
+ # Global parameters
8
+ SELF=$( basename " ${BASH_SOURCE[0]} " )
9
+ FIO_SIZE=" ${FIO_SIZE:- 1G} "
10
+ FIO_VERIFY_SIZE=" ${FIO_VERIFY_SIZE:- 256M} "
11
+ FIO_RUNTIME=" ${FIO_RUNTIME:- 120} "
12
+ FIO_TESTDIR=" ${1:- " /testdir" } "
13
+
14
+ # Helper functions
15
+ _msg () {
16
+ echo " ${SELF} : $* " >&2
17
+ }
18
+
19
+ _die () {
20
+ _msg " $* "
21
+ exit 1
22
+ }
23
+
24
+ _run () {
25
+ _msg " $* "
26
+ ( " $@ " ) || _die " failed: $* "
27
+ }
28
+
29
+ # Run fio with basic workloads
30
+ _fio_simple () {
31
+ local name=" ${FUNCNAME[1]} "
32
+
33
+ # Run fio with json output format
34
+ _run fio \
35
+ --name=" ${name} " \
36
+ --size=" ${FIO_SIZE} " \
37
+ --directory=" ${FIO_TESTDIR} " \
38
+ --runtime=" ${FIO_RUNTIME} " \
39
+ --ioengine=pvsync2 \
40
+ --group_reporting \
41
+ --time_based \
42
+ --sync=1 \
43
+ --direct=0 \
44
+ --rw=readwrite \
45
+ --output-format=json \
46
+ " $@ "
47
+
48
+ # Cleanup leftovers
49
+ rm -f " ${FIO_TESTDIR} /${name} *"
50
+ }
51
+
52
+ fio_simple_64k () {
53
+ _fio_simple --bs=64K --numjobs=1
54
+ }
55
+
56
+ fio_simple_1m () {
57
+ _fio_simple --bs=1M --numjobs=1
58
+ }
59
+
60
+ fio_simple_4jobs () {
61
+ _fio_simple --bs=8K --numjobs=4
62
+ }
63
+
64
+ # Run fio with verify workloads
65
+ _fio_verify () {
66
+ local name=" ${FUNCNAME[1]} "
67
+
68
+ # Run fio in verify mode
69
+ _run fio \
70
+ --name=" ${name} " \
71
+ --size=" ${FIO_VERIFY_SIZE} " \
72
+ --directory=" ${FIO_TESTDIR} " \
73
+ --ioengine=pvsync2 \
74
+ --group_reporting \
75
+ --sync=1 \
76
+ --direct=0 \
77
+ --rw=randwrite \
78
+ --do_verify=1 \
79
+ --verify_state_save=0 \
80
+ --verify=xxhash \
81
+ --output-format=json \
82
+ " $@ "
83
+
84
+ # Cleanup leftovers
85
+ rm -f " ${FIO_TESTDIR} /${name} *"
86
+ }
87
+
88
+ fio_verify_64k () {
89
+ _fio_verify --bs=64K --numjobs=1
90
+ }
91
+
92
+ fio_verify_1m () {
93
+ _fio_verify --bs=1M --numjobs=1
94
+ }
95
+
96
+ fio_verify_4jobs () {
97
+ _fio_verify --bs=64K --numjobs=4
98
+ }
99
+
100
+ fio_version () {
101
+ _run fio --version
102
+ }
103
+
104
+ # Tests
105
+ fio_version
106
+ fio_simple_64k
107
+ fio_simple_1m
108
+ fio_simple_4jobs
109
+ fio_verify_64k
110
+ fio_verify_1m
111
+ fio_verify_4jobs
112
+
Original file line number Diff line number Diff line change 3
3
url : " quay.io/samba.org/sit-test-cases:smallfiles"
4
4
- name : " ltp"
5
5
url : " quay.io/samba.org/sit-test-cases:ltp"
6
+ - name : " fio"
7
+ url : " quay.io/samba.org/sit-test-cases:fio"
You can’t perform that action at this time.
0 commit comments