-
Notifications
You must be signed in to change notification settings - Fork 18
196 lines (192 loc) · 6.46 KB
/
c-cpp.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
name: linux-exfat-oot CI
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download the kernel
run: |
sudo apt-get update
sudo apt-get install libelf-dev wget tar gzip python2.7
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.15.140.tar.gz
tar xf linux-5.15.140.tar.gz
mv linux-5.15.140 linux-stable
rm -rf linux-5.15.140.tar.gz
- name: Prerequisite for xfstests testing
run: |
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get install autoconf libtool pkg-config
sudo apt-get install xfslibs-dev uuid-dev libtool-bin xfsprogs libgdbm-dev gawk fio attr libattr1-dev libacl1-dev libaio-dev
git clone --branch=exfat-next https://github.com/exfatprogs/exfatprogs
git clone https://github.com/namjaejeon/exfat-testsuites
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/lib:$PATH
sudo useradd fsgqa
sudo useradd 123456-fsgqa
- name: Copy exfat source to kernel
run: |
mv linux-stable ../
cp -ar * ../linux-stable/fs/exfat/
- name: Compile with 5.15 kernel
run: |
cd ../linux-stable
yes "" | make oldconfig > /dev/null
echo 'CONFIG_EXFAT_FS=m' >> .config
echo 'CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"' >> .config
make KBUILD_MODPOST_WARN=1 KBUILD_MODPOST_NOFINAL=1 fs/exfat/exfat.ko
- name: Run xfstests testsuite
run: |
cd ..
rm -rf linux-stable
cd linux-exfat-oot
make > /dev/null
sudo make install > /dev/null
sudo insmod exfat.ko
cd exfatprogs
./autogen.sh > /dev/null
./configure > /dev/null
make -j$((`nproc`+1)) > /dev/null
sudo make install > /dev/null
cd ..
sudo mkdir -p /mnt/scratch
sudo mkdir -p /mnt/test
sudo mkdir -p full_test
- name: create file/director test
run: |
truncate -s 10G full_test.img
sudo losetup /dev/loop22 full_test.img
sudo mkfs.exfat /dev/loop22
sudo mount -t exfat /dev/loop22 ./full_test/
cd full_test/
i=1;while [ $i -le 10000 ];do sudo touch file$i;if [ $? != 0 ]; then exit 1; fi; i=$(($i + 1));done
sync
sudo fsck.exfat /dev/loop22
sudo rm -rf *
i=1;while [ $i -le 10000 ];do sudo mkdir file$i;if [ $? != 0 ]; then exit 1; fi; i=$(($i + 1));done
sync
sudo rm -rf *
sudo fsck.exfat /dev/loop22
cd ..
sudo umount ./full_test/
sudo fsck.exfat /dev/loop22
sudo losetup -d /dev/loop22
rm full_test.img
- name: xfstest tests
run: |
cd exfat-testsuites/
tar xzvf xfstests-exfat.tgz > /dev/null
rm -f xfstests-exfat.tgz
cd xfstests-exfat
make -j$((`nproc`+1)) > /dev/null
truncate -s 100G test.img
truncate -s 100G scratch.img
sudo losetup /dev/loop20 test.img
sudo losetup /dev/loop21 scratch.img
sudo mkfs.exfat /dev/loop20
sudo mkfs.exfat /dev/loop21
sudo ./check generic/001
sudo ./check generic/006
sudo ./check generic/007
sudo ./check generic/011
sudo ./check generic/013
sudo ./check generic/014
sudo ./check generic/028
sudo ./check generic/029
sudo ./check generic/030
sudo ./check generic/034
sudo ./check generic/035
sudo ./check generic/036
sudo ./check generic/069
sudo ./check generic/073
sudo ./check generic/074
sudo ./check generic/075
sudo ./check generic/076
sudo ./check generic/080
sudo ./check generic/084
sudo ./check generic/091
sudo ./check generic/095
sudo ./check generic/098
sudo ./check generic/100
sudo ./check generic/112
sudo ./check generic/113
sudo ./check generic/114
sudo ./check generic/120
sudo ./check generic/123
sudo ./check generic/124
sudo ./check generic/127
sudo ./check generic/129
sudo ./check generic/131
sudo ./check generic/132
sudo ./check generic/133
sudo ./check generic/135
sudo ./check generic/141
sudo ./check generic/169
sudo ./check generic/198
sudo ./check generic/207
sudo ./check generic/208
sudo ./check generic/209
sudo ./check generic/210
sudo ./check generic/211
sudo ./check generic/212
sudo ./check generic/215
sudo losetup -d /dev/loop20
sudo losetup -d /dev/loop21
rm test.img
rm scratch.img
truncate -s 100G test.img
truncate -s 100G scratch.img
sudo losetup /dev/loop20 test.img
sudo losetup /dev/loop21 scratch.img
sudo mkfs.exfat /dev/loop20
sudo mkfs.exfat /dev/loop21
sudo ./check generic/221
sudo ./check generic/239
sudo ./check generic/240
sudo ./check generic/241
sudo ./check generic/245
sudo ./check generic/246
sudo ./check generic/247
sudo ./check generic/248
sudo ./check generic/249
sudo ./check generic/257
sudo ./check generic/260
sudo ./check generic/263
sudo ./check generic/285
sudo ./check generic/288
sudo ./check generic/308
sudo ./check generic/309
sudo ./check generic/310
sudo ./check generic/313
sudo ./check generic/323
sudo ./check generic/325
sudo ./check generic/338
sudo ./check generic/339
sudo ./check generic/340
sudo ./check generic/344
sudo ./check generic/345
sudo ./check generic/346
sudo ./check generic/354
sudo ./check generic/376
sudo ./check generic/393
sudo ./check generic/394
sudo ./check generic/405
sudo ./check generic/406
sudo ./check generic/409
sudo ./check generic/410
sudo ./check generic/411
sudo ./check generic/412
sudo ./check generic/418
sudo ./check generic/428
sudo ./check generic/437
sudo ./check generic/438
sudo ./check generic/441
sudo ./check generic/443
sudo ./check generic/448
sudo ./check generic/450
sudo ./check generic/451
sudo ./check generic/452