diff options
author | Ovidiu Panait <ovidiu.panait@windriver.com> | 2023-07-04 10:39:18 +0300 |
---|---|---|
committer | Steve Sakoman <steve@sakoman.com> | 2023-08-01 06:17:28 -1000 |
commit | 74d65cb990467345940ee949e7f0f038ec2e4850 (patch) | |
tree | bcec9320e8bc034e712f8ef7c5703bb94ab39d14 | |
parent | b7ab079b1ae8ce0fde87c32ea005ad763d5b0493 (diff) | |
download | poky-74d65cb990467345940ee949e7f0f038ec2e4850.tar.gz |
mdadm: skip running known broken ptests
Upstream marked some testcases as "KNOWN BROKEN" and introduced the
"--skip-broken" flag to ignore them when running the testsuite (commits [1]
and [2]). Backport these two commits to get rid of the last remaining ptest
failures.
Also, add the "--skip-broken" option to the run-ptest script.
[1] https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=28520bf114b3
[2] https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=daa86d663476
(From OE-Core rev: 153357be5c74393febaccbe37b0ff514401a52cd)
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 62148b978b26b5fcd1a2fa3a0ff82ef814f4e7ec)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
4 files changed, 585 insertions, 1 deletions
diff --git a/meta/recipes-extended/mdadm/files/0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch b/meta/recipes-extended/mdadm/files/0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch new file mode 100644 index 0000000000..c55bfb125b --- /dev/null +++ b/meta/recipes-extended/mdadm/files/0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch | |||
@@ -0,0 +1,128 @@ | |||
1 | From feab1f72fcf032a4d21d0a69eb61b23a5ddb3352 Mon Sep 17 00:00:00 2001 | ||
2 | From: Logan Gunthorpe <logang@deltatee.com> | ||
3 | Date: Wed, 22 Jun 2022 14:25:18 -0600 | ||
4 | Subject: [PATCH 5/6] mdadm/test: Mark and ignore broken test failures | ||
5 | |||
6 | Add functionality to continue if a test marked as broken fails. | ||
7 | |||
8 | To mark a test as broken, a file with the same name but with the suffix | ||
9 | '.broken' should exist. The first line in the file will be printed with | ||
10 | a KNOWN BROKEN message; the rest of the file can describe the how the | ||
11 | test is broken. | ||
12 | |||
13 | Also adds --skip-broken and --skip-always-broken to skip all the tests | ||
14 | that have a .broken file or to skip all tests whose .broken file's first | ||
15 | line contains the keyword always. | ||
16 | |||
17 | Signed-off-by: Logan Gunthorpe <logang@deltatee.com> | ||
18 | Signed-off-by: Jes Sorensen <jes@trained-monkey.org> | ||
19 | |||
20 | Upstream-Status: Backport | ||
21 | |||
22 | Reference to upstream patch: | ||
23 | https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=28520bf114b3 | ||
24 | |||
25 | [OP: adjusted context for mdadm-4.2] | ||
26 | Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> | ||
27 | --- | ||
28 | test | 37 +++++++++++++++++++++++++++++++++++-- | ||
29 | 1 file changed, 35 insertions(+), 2 deletions(-) | ||
30 | |||
31 | diff --git a/test b/test | ||
32 | index 8f189d9..ee8fba1 100755 | ||
33 | --- a/test | ||
34 | +++ b/test | ||
35 | @@ -10,6 +10,8 @@ devlist= | ||
36 | |||
37 | savelogs=0 | ||
38 | exitonerror=1 | ||
39 | +ctrl_c_error=0 | ||
40 | +skipbroken=0 | ||
41 | prefix='[0-9][0-9]' | ||
42 | |||
43 | # use loop devices by default if doesn't specify --dev | ||
44 | @@ -35,6 +37,7 @@ die() { | ||
45 | |||
46 | ctrl_c() { | ||
47 | exitonerror=1 | ||
48 | + ctrl_c_error=1 | ||
49 | } | ||
50 | |||
51 | # mdadm always adds --quiet, and we want to see any unexpected messages | ||
52 | @@ -79,8 +82,21 @@ mdadm() { | ||
53 | do_test() { | ||
54 | _script=$1 | ||
55 | _basename=`basename $_script` | ||
56 | + _broken=0 | ||
57 | + | ||
58 | if [ -f "$_script" ] | ||
59 | then | ||
60 | + if [ -f "${_script}.broken" ]; then | ||
61 | + _broken=1 | ||
62 | + _broken_msg=$(head -n1 "${_script}.broken" | tr -d '\n') | ||
63 | + if [ "$skipbroken" == "all" ]; then | ||
64 | + return | ||
65 | + elif [ "$skipbroken" == "always" ] && | ||
66 | + [[ "$_broken_msg" == *always* ]]; then | ||
67 | + return | ||
68 | + fi | ||
69 | + fi | ||
70 | + | ||
71 | rm -f $targetdir/stderr | ||
72 | # this might have been reset: restore the default. | ||
73 | echo 2000 > /proc/sys/dev/raid/speed_limit_max | ||
74 | @@ -97,10 +113,15 @@ do_test() { | ||
75 | else | ||
76 | save_log fail | ||
77 | _fail=1 | ||
78 | + if [ "$_broken" == "1" ]; then | ||
79 | + echo " (KNOWN BROKEN TEST: $_broken_msg)" | ||
80 | + fi | ||
81 | fi | ||
82 | [ "$savelogs" == "1" ] && | ||
83 | mv -f $targetdir/log $logdir/$_basename.log | ||
84 | - [ "$_fail" == "1" -a "$exitonerror" == "1" ] && exit 1 | ||
85 | + [ "$ctrl_c_error" == "1" ] && exit 1 | ||
86 | + [ "$_fail" == "1" -a "$exitonerror" == "1" \ | ||
87 | + -a "$_broken" == "0" ] && exit 1 | ||
88 | fi | ||
89 | } | ||
90 | |||
91 | @@ -117,6 +138,8 @@ do_help() { | ||
92 | --logdir=directory Directory to save all logfiles in | ||
93 | --save-logs Usually use with --logdir together | ||
94 | --keep-going | --no-error Don't stop on error, ie. run all tests | ||
95 | + --skip-broken Skip tests that are known to be broken | ||
96 | + --skip-always-broken Skip tests that are known to always fail | ||
97 | --dev=loop|lvm|ram|disk Use loop devices (default), LVM, RAM or disk | ||
98 | --disks= Provide a bunch of physical devices for test | ||
99 | --volgroup=name LVM volume group for LVM test | ||
100 | @@ -211,6 +234,12 @@ parse_args() { | ||
101 | --keep-going | --no-error ) | ||
102 | exitonerror=0 | ||
103 | ;; | ||
104 | + --skip-broken ) | ||
105 | + skipbroken=all | ||
106 | + ;; | ||
107 | + --skip-always-broken ) | ||
108 | + skipbroken=always | ||
109 | + ;; | ||
110 | --disable-multipath ) | ||
111 | unset MULTIPATH | ||
112 | ;; | ||
113 | @@ -275,7 +304,11 @@ main() { | ||
114 | if [ $script == "$testdir/11spare-migration" ];then | ||
115 | continue | ||
116 | fi | ||
117 | - do_test $script | ||
118 | + case $script in | ||
119 | + *.broken) ;; | ||
120 | + *) | ||
121 | + do_test $script | ||
122 | + esac | ||
123 | done | ||
124 | fi | ||
125 | |||
126 | -- | ||
127 | 2.39.1 | ||
128 | |||
diff --git a/meta/recipes-extended/mdadm/files/0006-tests-Add-broken-files-for-all-broken-tests.patch b/meta/recipes-extended/mdadm/files/0006-tests-Add-broken-files-for-all-broken-tests.patch new file mode 100644 index 0000000000..115b23bac5 --- /dev/null +++ b/meta/recipes-extended/mdadm/files/0006-tests-Add-broken-files-for-all-broken-tests.patch | |||
@@ -0,0 +1,454 @@ | |||
1 | From fd1c26ba129b069d9f73afaefdbe53683de3814a Mon Sep 17 00:00:00 2001 | ||
2 | From: Logan Gunthorpe <logang@deltatee.com> | ||
3 | Date: Wed, 22 Jun 2022 14:25:19 -0600 | ||
4 | Subject: [PATCH 6/6] tests: Add broken files for all broken tests | ||
5 | |||
6 | Each broken file contains the rough frequency of brokeness as well | ||
7 | as a brief explanation of what happens when it breaks. Estimates | ||
8 | of failure rates are not statistically significant and can vary | ||
9 | run to run. | ||
10 | |||
11 | This is really just a view from my window. Tests were done on a | ||
12 | small VM with the default loop devices, not real hardware. We've | ||
13 | seen different kernel configurations can cause bugs to appear as well | ||
14 | (ie. different block schedulers). It may also be that different race | ||
15 | conditions will be seen on machines with different performance | ||
16 | characteristics. | ||
17 | |||
18 | These annotations were done with the kernel currently in md/md-next: | ||
19 | |||
20 | facef3b96c5b ("md: Notify sysfs sync_completed in md_reap_sync_thread()") | ||
21 | |||
22 | Signed-off-by: Logan Gunthorpe <logang@deltatee.com> | ||
23 | Signed-off-by: Jes Sorensen <jes@trained-monkey.org> | ||
24 | |||
25 | Upstream-Status: Backport | ||
26 | |||
27 | Reference to upstream patch: | ||
28 | https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=daa86d663476 | ||
29 | |||
30 | Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> | ||
31 | --- | ||
32 | tests/01r5integ.broken | 7 ++++ | ||
33 | tests/01raid6integ.broken | 7 ++++ | ||
34 | tests/04r5swap.broken | 7 ++++ | ||
35 | tests/07autoassemble.broken | 8 ++++ | ||
36 | tests/07autodetect.broken | 5 +++ | ||
37 | tests/07changelevelintr.broken | 9 +++++ | ||
38 | tests/07changelevels.broken | 9 +++++ | ||
39 | tests/07reshape5intr.broken | 45 ++++++++++++++++++++++ | ||
40 | tests/07revert-grow.broken | 31 +++++++++++++++ | ||
41 | tests/07revert-shrink.broken | 9 +++++ | ||
42 | tests/07testreshape5.broken | 12 ++++++ | ||
43 | tests/09imsm-assemble.broken | 6 +++ | ||
44 | tests/09imsm-create-fail-rebuild.broken | 5 +++ | ||
45 | tests/09imsm-overlap.broken | 7 ++++ | ||
46 | tests/10ddf-assemble-missing.broken | 6 +++ | ||
47 | tests/10ddf-fail-create-race.broken | 7 ++++ | ||
48 | tests/10ddf-fail-two-spares.broken | 5 +++ | ||
49 | tests/10ddf-incremental-wrong-order.broken | 9 +++++ | ||
50 | tests/14imsm-r1_2d-grow-r1_3d.broken | 5 +++ | ||
51 | tests/14imsm-r1_2d-takeover-r0_2d.broken | 6 +++ | ||
52 | tests/18imsm-r10_4d-takeover-r0_2d.broken | 5 +++ | ||
53 | tests/18imsm-r1_2d-takeover-r0_1d.broken | 6 +++ | ||
54 | tests/19raid6auto-repair.broken | 5 +++ | ||
55 | tests/19raid6repair.broken | 5 +++ | ||
56 | 24 files changed, 226 insertions(+) | ||
57 | create mode 100644 tests/01r5integ.broken | ||
58 | create mode 100644 tests/01raid6integ.broken | ||
59 | create mode 100644 tests/04r5swap.broken | ||
60 | create mode 100644 tests/07autoassemble.broken | ||
61 | create mode 100644 tests/07autodetect.broken | ||
62 | create mode 100644 tests/07changelevelintr.broken | ||
63 | create mode 100644 tests/07changelevels.broken | ||
64 | create mode 100644 tests/07reshape5intr.broken | ||
65 | create mode 100644 tests/07revert-grow.broken | ||
66 | create mode 100644 tests/07revert-shrink.broken | ||
67 | create mode 100644 tests/07testreshape5.broken | ||
68 | create mode 100644 tests/09imsm-assemble.broken | ||
69 | create mode 100644 tests/09imsm-create-fail-rebuild.broken | ||
70 | create mode 100644 tests/09imsm-overlap.broken | ||
71 | create mode 100644 tests/10ddf-assemble-missing.broken | ||
72 | create mode 100644 tests/10ddf-fail-create-race.broken | ||
73 | create mode 100644 tests/10ddf-fail-two-spares.broken | ||
74 | create mode 100644 tests/10ddf-incremental-wrong-order.broken | ||
75 | create mode 100644 tests/14imsm-r1_2d-grow-r1_3d.broken | ||
76 | create mode 100644 tests/14imsm-r1_2d-takeover-r0_2d.broken | ||
77 | create mode 100644 tests/18imsm-r10_4d-takeover-r0_2d.broken | ||
78 | create mode 100644 tests/18imsm-r1_2d-takeover-r0_1d.broken | ||
79 | create mode 100644 tests/19raid6auto-repair.broken | ||
80 | create mode 100644 tests/19raid6repair.broken | ||
81 | |||
82 | diff --git a/tests/01r5integ.broken b/tests/01r5integ.broken | ||
83 | new file mode 100644 | ||
84 | index 0000000..2073763 | ||
85 | --- /dev/null | ||
86 | +++ b/tests/01r5integ.broken | ||
87 | @@ -0,0 +1,7 @@ | ||
88 | +fails rarely | ||
89 | + | ||
90 | +Fails about 1 in every 30 runs with a sha mismatch error: | ||
91 | + | ||
92 | + c49ab26e1b01def7874af9b8a6d6d0c29fdfafe6 /dev/md0 does not match | ||
93 | + 15dc2f73262f811ada53c65e505ceec9cf025cb9 /dev/md0 with /dev/loop3 | ||
94 | + missing | ||
95 | diff --git a/tests/01raid6integ.broken b/tests/01raid6integ.broken | ||
96 | new file mode 100644 | ||
97 | index 0000000..1df735f | ||
98 | --- /dev/null | ||
99 | +++ b/tests/01raid6integ.broken | ||
100 | @@ -0,0 +1,7 @@ | ||
101 | +fails infrequently | ||
102 | + | ||
103 | +Fails about 1 in 5 with a sha mismatch: | ||
104 | + | ||
105 | + 8286c2bc045ae2cfe9f8b7ae3a898fa25db6926f /dev/md0 does not match | ||
106 | + a083a0738b58caab37fd568b91b177035ded37df /dev/md0 with /dev/loop2 and | ||
107 | + /dev/loop3 missing | ||
108 | diff --git a/tests/04r5swap.broken b/tests/04r5swap.broken | ||
109 | new file mode 100644 | ||
110 | index 0000000..e38987d | ||
111 | --- /dev/null | ||
112 | +++ b/tests/04r5swap.broken | ||
113 | @@ -0,0 +1,7 @@ | ||
114 | +always fails | ||
115 | + | ||
116 | +Fails with errors: | ||
117 | + | ||
118 | + mdadm: /dev/loop0 has no superblock - assembly aborted | ||
119 | + | ||
120 | + ERROR: no recovery happening | ||
121 | diff --git a/tests/07autoassemble.broken b/tests/07autoassemble.broken | ||
122 | new file mode 100644 | ||
123 | index 0000000..8be0940 | ||
124 | --- /dev/null | ||
125 | +++ b/tests/07autoassemble.broken | ||
126 | @@ -0,0 +1,8 @@ | ||
127 | +always fails | ||
128 | + | ||
129 | +Prints lots of messages, but the array doesn't assemble. Error | ||
130 | +possibly related to: | ||
131 | + | ||
132 | + mdadm: /dev/md/1 is busy - skipping | ||
133 | + mdadm: no recogniseable superblock on /dev/md/testing:0 | ||
134 | + mdadm: /dev/md/2 is busy - skipping | ||
135 | diff --git a/tests/07autodetect.broken b/tests/07autodetect.broken | ||
136 | new file mode 100644 | ||
137 | index 0000000..294954a | ||
138 | --- /dev/null | ||
139 | +++ b/tests/07autodetect.broken | ||
140 | @@ -0,0 +1,5 @@ | ||
141 | +always fails | ||
142 | + | ||
143 | +Fails with error: | ||
144 | + | ||
145 | + ERROR: no resync happening | ||
146 | diff --git a/tests/07changelevelintr.broken b/tests/07changelevelintr.broken | ||
147 | new file mode 100644 | ||
148 | index 0000000..284b490 | ||
149 | --- /dev/null | ||
150 | +++ b/tests/07changelevelintr.broken | ||
151 | @@ -0,0 +1,9 @@ | ||
152 | +always fails | ||
153 | + | ||
154 | +Fails with errors: | ||
155 | + | ||
156 | + mdadm: this change will reduce the size of the array. | ||
157 | + use --grow --array-size first to truncate array. | ||
158 | + e.g. mdadm --grow /dev/md0 --array-size 56832 | ||
159 | + | ||
160 | + ERROR: no reshape happening | ||
161 | diff --git a/tests/07changelevels.broken b/tests/07changelevels.broken | ||
162 | new file mode 100644 | ||
163 | index 0000000..9b930d9 | ||
164 | --- /dev/null | ||
165 | +++ b/tests/07changelevels.broken | ||
166 | @@ -0,0 +1,9 @@ | ||
167 | +always fails | ||
168 | + | ||
169 | +Fails with errors: | ||
170 | + | ||
171 | + mdadm: /dev/loop0 is smaller than given size. 18976K < 19968K + metadata | ||
172 | + mdadm: /dev/loop1 is smaller than given size. 18976K < 19968K + metadata | ||
173 | + mdadm: /dev/loop2 is smaller than given size. 18976K < 19968K + metadata | ||
174 | + | ||
175 | + ERROR: /dev/md0 isn't a block device. | ||
176 | diff --git a/tests/07reshape5intr.broken b/tests/07reshape5intr.broken | ||
177 | new file mode 100644 | ||
178 | index 0000000..efe52a6 | ||
179 | --- /dev/null | ||
180 | +++ b/tests/07reshape5intr.broken | ||
181 | @@ -0,0 +1,45 @@ | ||
182 | +always fails | ||
183 | + | ||
184 | +This patch, recently added to md-next causes the test to always fail: | ||
185 | + | ||
186 | +7e6ba434cc60 ("md: don't unregister sync_thread with reconfig_mutex | ||
187 | +held") | ||
188 | + | ||
189 | +The new error is simply: | ||
190 | + | ||
191 | + ERROR: no reshape happening | ||
192 | + | ||
193 | +Before the patch, the error seen is below. | ||
194 | + | ||
195 | +-- | ||
196 | + | ||
197 | +fails infrequently | ||
198 | + | ||
199 | +Fails roughly 1 in 4 runs with errors: | ||
200 | + | ||
201 | + mdadm: Merging with already-assembled /dev/md/0 | ||
202 | + mdadm: cannot re-read metadata from /dev/loop6 - aborting | ||
203 | + | ||
204 | + ERROR: no reshape happening | ||
205 | + | ||
206 | +Also have seen a random deadlock: | ||
207 | + | ||
208 | + INFO: task mdadm:109702 blocked for more than 30 seconds. | ||
209 | + Not tainted 5.18.0-rc3-eid-vmlocalyes-dbg-00095-g3c2b5427979d #2040 | ||
210 | + "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. | ||
211 | + task:mdadm state:D stack: 0 pid:109702 ppid: 1 flags:0x00004000 | ||
212 | + Call Trace: | ||
213 | + <TASK> | ||
214 | + __schedule+0x67e/0x13b0 | ||
215 | + schedule+0x82/0x110 | ||
216 | + mddev_suspend+0x2e1/0x330 | ||
217 | + suspend_lo_store+0xbd/0x140 | ||
218 | + md_attr_store+0xcb/0x130 | ||
219 | + sysfs_kf_write+0x89/0xb0 | ||
220 | + kernfs_fop_write_iter+0x202/0x2c0 | ||
221 | + new_sync_write+0x222/0x330 | ||
222 | + vfs_write+0x3bc/0x4d0 | ||
223 | + ksys_write+0xd9/0x180 | ||
224 | + __x64_sys_write+0x43/0x50 | ||
225 | + do_syscall_64+0x3b/0x90 | ||
226 | + entry_SYSCALL_64_after_hwframe+0x44/0xae | ||
227 | diff --git a/tests/07revert-grow.broken b/tests/07revert-grow.broken | ||
228 | new file mode 100644 | ||
229 | index 0000000..9b6db86 | ||
230 | --- /dev/null | ||
231 | +++ b/tests/07revert-grow.broken | ||
232 | @@ -0,0 +1,31 @@ | ||
233 | +always fails | ||
234 | + | ||
235 | +This patch, recently added to md-next causes the test to always fail: | ||
236 | + | ||
237 | +7e6ba434cc60 ("md: don't unregister sync_thread with reconfig_mutex held") | ||
238 | + | ||
239 | +The errors are: | ||
240 | + | ||
241 | + mdadm: No active reshape to revert on /dev/loop0 | ||
242 | + ERROR: active raid5 not found | ||
243 | + | ||
244 | +Before the patch, the error seen is below. | ||
245 | + | ||
246 | +-- | ||
247 | + | ||
248 | +fails rarely | ||
249 | + | ||
250 | +Fails about 1 in every 30 runs with errors: | ||
251 | + | ||
252 | + mdadm: Merging with already-assembled /dev/md/0 | ||
253 | + mdadm: backup file /tmp/md-backup inaccessible: No such file or directory | ||
254 | + mdadm: failed to add /dev/loop1 to /dev/md/0: Invalid argument | ||
255 | + mdadm: failed to add /dev/loop2 to /dev/md/0: Invalid argument | ||
256 | + mdadm: failed to add /dev/loop3 to /dev/md/0: Invalid argument | ||
257 | + mdadm: failed to add /dev/loop0 to /dev/md/0: Invalid argument | ||
258 | + mdadm: /dev/md/0 assembled from 1 drive - need all 5 to start it | ||
259 | + (use --run to insist). | ||
260 | + | ||
261 | + grep: /sys/block/md*/md/sync_action: No such file or directory | ||
262 | + | ||
263 | + ERROR: active raid5 not found | ||
264 | diff --git a/tests/07revert-shrink.broken b/tests/07revert-shrink.broken | ||
265 | new file mode 100644 | ||
266 | index 0000000..c33c39e | ||
267 | --- /dev/null | ||
268 | +++ b/tests/07revert-shrink.broken | ||
269 | @@ -0,0 +1,9 @@ | ||
270 | +always fails | ||
271 | + | ||
272 | +Fails with errors: | ||
273 | + | ||
274 | + mdadm: this change will reduce the size of the array. | ||
275 | + use --grow --array-size first to truncate array. | ||
276 | + e.g. mdadm --grow /dev/md0 --array-size 53760 | ||
277 | + | ||
278 | + ERROR: active raid5 not found | ||
279 | diff --git a/tests/07testreshape5.broken b/tests/07testreshape5.broken | ||
280 | new file mode 100644 | ||
281 | index 0000000..a8ce03e | ||
282 | --- /dev/null | ||
283 | +++ b/tests/07testreshape5.broken | ||
284 | @@ -0,0 +1,12 @@ | ||
285 | +always fails | ||
286 | + | ||
287 | +Test seems to run 'test_stripe' at $dir directory, but $dir is never | ||
288 | +set. If $dir is adjusted to $PWD, the test still fails with: | ||
289 | + | ||
290 | + mdadm: /dev/loop2 is not suitable for this array. | ||
291 | + mdadm: create aborted | ||
292 | + ++ return 1 | ||
293 | + ++ cmp -s -n 8192 /dev/md0 /tmp/RandFile | ||
294 | + ++ echo cmp failed | ||
295 | + cmp failed | ||
296 | + ++ exit 2 | ||
297 | diff --git a/tests/09imsm-assemble.broken b/tests/09imsm-assemble.broken | ||
298 | new file mode 100644 | ||
299 | index 0000000..a6d4d5c | ||
300 | --- /dev/null | ||
301 | +++ b/tests/09imsm-assemble.broken | ||
302 | @@ -0,0 +1,6 @@ | ||
303 | +fails infrequently | ||
304 | + | ||
305 | +Fails roughly 1 in 10 runs with errors: | ||
306 | + | ||
307 | + mdadm: /dev/loop2 is still in use, cannot remove. | ||
308 | + /dev/loop2 removal from /dev/md/container should have succeeded | ||
309 | diff --git a/tests/09imsm-create-fail-rebuild.broken b/tests/09imsm-create-fail-rebuild.broken | ||
310 | new file mode 100644 | ||
311 | index 0000000..40c4b29 | ||
312 | --- /dev/null | ||
313 | +++ b/tests/09imsm-create-fail-rebuild.broken | ||
314 | @@ -0,0 +1,5 @@ | ||
315 | +always fails | ||
316 | + | ||
317 | +Fails with error: | ||
318 | + | ||
319 | + **Error**: Array size mismatch - expected 3072, actual 16384 | ||
320 | diff --git a/tests/09imsm-overlap.broken b/tests/09imsm-overlap.broken | ||
321 | new file mode 100644 | ||
322 | index 0000000..e7ccab7 | ||
323 | --- /dev/null | ||
324 | +++ b/tests/09imsm-overlap.broken | ||
325 | @@ -0,0 +1,7 @@ | ||
326 | +always fails | ||
327 | + | ||
328 | +Fails with errors: | ||
329 | + | ||
330 | + **Error**: Offset mismatch - expected 15360, actual 0 | ||
331 | + **Error**: Offset mismatch - expected 15360, actual 0 | ||
332 | + /dev/md/vol3 failed check | ||
333 | diff --git a/tests/10ddf-assemble-missing.broken b/tests/10ddf-assemble-missing.broken | ||
334 | new file mode 100644 | ||
335 | index 0000000..bfd8d10 | ||
336 | --- /dev/null | ||
337 | +++ b/tests/10ddf-assemble-missing.broken | ||
338 | @@ -0,0 +1,6 @@ | ||
339 | +always fails | ||
340 | + | ||
341 | +Fails with errors: | ||
342 | + | ||
343 | + ERROR: /dev/md/vol0 has unexpected state on /dev/loop10 | ||
344 | + ERROR: unexpected number of online disks on /dev/loop10 | ||
345 | diff --git a/tests/10ddf-fail-create-race.broken b/tests/10ddf-fail-create-race.broken | ||
346 | new file mode 100644 | ||
347 | index 0000000..6c0df02 | ||
348 | --- /dev/null | ||
349 | +++ b/tests/10ddf-fail-create-race.broken | ||
350 | @@ -0,0 +1,7 @@ | ||
351 | +usually fails | ||
352 | + | ||
353 | +Fails about 9 out of 10 times with many errors: | ||
354 | + | ||
355 | + mdadm: cannot open MISSING: No such file or directory | ||
356 | + ERROR: non-degraded array found | ||
357 | + ERROR: disk 0 not marked as failed in meta data | ||
358 | diff --git a/tests/10ddf-fail-two-spares.broken b/tests/10ddf-fail-two-spares.broken | ||
359 | new file mode 100644 | ||
360 | index 0000000..eeea56d | ||
361 | --- /dev/null | ||
362 | +++ b/tests/10ddf-fail-two-spares.broken | ||
363 | @@ -0,0 +1,5 @@ | ||
364 | +fails infrequently | ||
365 | + | ||
366 | +Fails roughly 1 in 3 with error: | ||
367 | + | ||
368 | + ERROR: /dev/md/vol1 should be optimal in meta data | ||
369 | diff --git a/tests/10ddf-incremental-wrong-order.broken b/tests/10ddf-incremental-wrong-order.broken | ||
370 | new file mode 100644 | ||
371 | index 0000000..a5af3ba | ||
372 | --- /dev/null | ||
373 | +++ b/tests/10ddf-incremental-wrong-order.broken | ||
374 | @@ -0,0 +1,9 @@ | ||
375 | +always fails | ||
376 | + | ||
377 | +Fails with errors: | ||
378 | + ERROR: sha1sum of /dev/md/vol0 has changed | ||
379 | + ERROR: /dev/md/vol0 has unexpected state on /dev/loop10 | ||
380 | + ERROR: unexpected number of online disks on /dev/loop10 | ||
381 | + ERROR: /dev/md/vol0 has unexpected state on /dev/loop8 | ||
382 | + ERROR: unexpected number of online disks on /dev/loop8 | ||
383 | + ERROR: sha1sum of /dev/md/vol0 has changed | ||
384 | diff --git a/tests/14imsm-r1_2d-grow-r1_3d.broken b/tests/14imsm-r1_2d-grow-r1_3d.broken | ||
385 | new file mode 100644 | ||
386 | index 0000000..4ef1d40 | ||
387 | --- /dev/null | ||
388 | +++ b/tests/14imsm-r1_2d-grow-r1_3d.broken | ||
389 | @@ -0,0 +1,5 @@ | ||
390 | +always fails | ||
391 | + | ||
392 | +Fails with error: | ||
393 | + | ||
394 | + mdadm/tests/func.sh: line 325: dvsize/chunk: division by 0 (error token is "chunk") | ||
395 | diff --git a/tests/14imsm-r1_2d-takeover-r0_2d.broken b/tests/14imsm-r1_2d-takeover-r0_2d.broken | ||
396 | new file mode 100644 | ||
397 | index 0000000..89cd4e5 | ||
398 | --- /dev/null | ||
399 | +++ b/tests/14imsm-r1_2d-takeover-r0_2d.broken | ||
400 | @@ -0,0 +1,6 @@ | ||
401 | +always fails | ||
402 | + | ||
403 | +Fails with error: | ||
404 | + | ||
405 | + tests/func.sh: line 325: dvsize/chunk: division by 0 (error token | ||
406 | + is "chunk") | ||
407 | diff --git a/tests/18imsm-r10_4d-takeover-r0_2d.broken b/tests/18imsm-r10_4d-takeover-r0_2d.broken | ||
408 | new file mode 100644 | ||
409 | index 0000000..a27399f | ||
410 | --- /dev/null | ||
411 | +++ b/tests/18imsm-r10_4d-takeover-r0_2d.broken | ||
412 | @@ -0,0 +1,5 @@ | ||
413 | +fails rarely | ||
414 | + | ||
415 | +Fails about 1 run in 100 with message: | ||
416 | + | ||
417 | + ERROR: size is wrong for /dev/md/vol0: 2 * 5120 (chunk=128) = 20480, not 0 | ||
418 | diff --git a/tests/18imsm-r1_2d-takeover-r0_1d.broken b/tests/18imsm-r1_2d-takeover-r0_1d.broken | ||
419 | new file mode 100644 | ||
420 | index 0000000..aa1982e | ||
421 | --- /dev/null | ||
422 | +++ b/tests/18imsm-r1_2d-takeover-r0_1d.broken | ||
423 | @@ -0,0 +1,6 @@ | ||
424 | +always fails | ||
425 | + | ||
426 | +Fails with error: | ||
427 | + | ||
428 | + tests/func.sh: line 325: dvsize/chunk: division by 0 (error token | ||
429 | + is "chunk") | ||
430 | diff --git a/tests/19raid6auto-repair.broken b/tests/19raid6auto-repair.broken | ||
431 | new file mode 100644 | ||
432 | index 0000000..e91a142 | ||
433 | --- /dev/null | ||
434 | +++ b/tests/19raid6auto-repair.broken | ||
435 | @@ -0,0 +1,5 @@ | ||
436 | +always fails | ||
437 | + | ||
438 | +Fails with: | ||
439 | + | ||
440 | + "should detect errors" | ||
441 | diff --git a/tests/19raid6repair.broken b/tests/19raid6repair.broken | ||
442 | new file mode 100644 | ||
443 | index 0000000..e91a142 | ||
444 | --- /dev/null | ||
445 | +++ b/tests/19raid6repair.broken | ||
446 | @@ -0,0 +1,5 @@ | ||
447 | +always fails | ||
448 | + | ||
449 | +Fails with: | ||
450 | + | ||
451 | + "should detect errors" | ||
452 | -- | ||
453 | 2.39.1 | ||
454 | |||
diff --git a/meta/recipes-extended/mdadm/files/run-ptest b/meta/recipes-extended/mdadm/files/run-ptest index fae8071d43..2380c322a9 100644 --- a/meta/recipes-extended/mdadm/files/run-ptest +++ b/meta/recipes-extended/mdadm/files/run-ptest | |||
@@ -2,6 +2,6 @@ | |||
2 | 2 | ||
3 | mkdir -p /mdadm-testing-dir | 3 | mkdir -p /mdadm-testing-dir |
4 | # make the test continue to execute even one fail | 4 | # make the test continue to execute even one fail |
5 | dir=. ./test --keep-going --disable-integrity | 5 | dir=. ./test --keep-going --disable-integrity --skip-broken |
6 | 6 | ||
7 | rm -rf /mdadm-testing-dir/* | 7 | rm -rf /mdadm-testing-dir/* |
diff --git a/meta/recipes-extended/mdadm/mdadm_4.2.bb b/meta/recipes-extended/mdadm/mdadm_4.2.bb index f616746368..50d9548747 100644 --- a/meta/recipes-extended/mdadm/mdadm_4.2.bb +++ b/meta/recipes-extended/mdadm/mdadm_4.2.bb | |||
@@ -36,6 +36,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \ | |||
36 | file://0002-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch \ | 36 | file://0002-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch \ |
37 | file://0003-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch \ | 37 | file://0003-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch \ |
38 | file://0004-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch \ | 38 | file://0004-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch \ |
39 | file://0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch \ | ||
40 | file://0006-tests-Add-broken-files-for-all-broken-tests.patch \ | ||
39 | " | 41 | " |
40 | 42 | ||
41 | SRC_URI[sha256sum] = "461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d" | 43 | SRC_URI[sha256sum] = "461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d" |