File tree Expand file tree Collapse file tree 4 files changed +137
-0
lines changed Expand file tree Collapse file tree 4 files changed +137
-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_RUNTIME=" ${FIO_RUNTIME:- 120} "
11
+ FIO_TESTDIR=" ${1:- " /testdir" } "
12
+
13
+ # Helper functions
14
+ _msg () {
15
+ echo " ${SELF} : $* " >&2
16
+ }
17
+
18
+ _die () {
19
+ _msg " $* "
20
+ exit 1
21
+ }
22
+
23
+ _run () {
24
+ _msg " $* "
25
+ ( " $@ " ) || _die " failed: $* "
26
+ }
27
+
28
+ # Run fio with basic workloads
29
+ _fio_simple () {
30
+ local name=" ${FUNCNAME[1]} "
31
+
32
+ # Run fio with json output format
33
+ _run fio \
34
+ --name=" ${name} " \
35
+ --size=" ${FIO_SIZE} " \
36
+ --directory=" ${FIO_TESTDIR} " \
37
+ --runtime=" ${FIO_RUNTIME} " \
38
+ --ioengine=pvsync2 \
39
+ --group_reporting \
40
+ --time_based \
41
+ --sync=1 \
42
+ --direct=0 \
43
+ --rw=readwrite \
44
+ --output-format=json \
45
+ " $@ "
46
+
47
+ # Cleanup leftovers
48
+ rm -f " ${FIO_TESTDIR} /${name} *"
49
+ }
50
+
51
+ fio_simple_64k () {
52
+ _fio_simple --bs=64K --numjobs=1
53
+ }
54
+
55
+ fio_simple_1m () {
56
+ _fio_simple --bs=1M --numjobs=1
57
+ }
58
+
59
+ fio_simple_nproc () {
60
+ _fio_simple --bs=8K --numjobs=" $( nproc) "
61
+ }
62
+
63
+ # Run fio with verify workloads
64
+ _fio_verify () {
65
+ local name=" ${FUNCNAME[1]} "
66
+
67
+ # Run fio in verify mode
68
+ _run fio \
69
+ --name=" ${name} " \
70
+ --size=" ${FIO_SIZE} " \
71
+ --directory=" ${FIO_TESTDIR} " \
72
+ --ioengine=pvsync2 \
73
+ --group_reporting \
74
+ --sync=1 \
75
+ --direct=0 \
76
+ --rw=randwrite \
77
+ --do_verify=1 \
78
+ --verify_state_save=0 \
79
+ --verify=xxhash \
80
+ --output-format=json \
81
+ " $@ "
82
+
83
+ # Cleanup leftovers
84
+ rm -f " ${FIO_TESTDIR} /${name} *"
85
+ }
86
+
87
+ fio_verify_64k () {
88
+ _fio_verify --bs=64K --numjobs=1
89
+ }
90
+
91
+ fio_verify_1m () {
92
+ _fio_verify --bs=1M --numjobs=1
93
+ }
94
+
95
+ fio_verify_nproc () {
96
+ _fio_verify --bs=64K --numjobs=" $( nproc) "
97
+ }
98
+
99
+ fio_version () {
100
+ _run fio --version
101
+ }
102
+
103
+ # Tests
104
+ fio_version
105
+ fio_simple_64k
106
+ fio_simple_1m
107
+ fio_simple_nproc
108
+ fio_verify_64k
109
+ fio_verify_1m
110
+ fio_verify_nproc
111
+
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