Skip to content

Commit 2021e61

Browse files
Ming Leiaxboe
authored andcommitted
selftests: ublk: track created devices for per-test cleanup
Track device IDs in UBLK_DEVS array when created. Update _cleanup_test() to only delete devices created by this test instead of using 'del -a' which removes all devices. This prepares for running tests concurrently where each test should only clean up its own devices. Signed-off-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent 92734a4 commit 2021e61

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

tools/testing/selftests/ublk/test_common.sh

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,12 @@ _check_add_dev()
164164
}
165165

166166
_cleanup_test() {
167-
"${UBLK_PROG}" del -a
167+
if [ -f "${UBLK_TEST_DIR}/.ublk_devs" ]; then
168+
while read -r dev_id; do
169+
${UBLK_PROG} del -n "${dev_id}"
170+
done < "${UBLK_TEST_DIR}/.ublk_devs"
171+
rm -f "${UBLK_TEST_DIR}/.ublk_devs"
172+
fi
168173

169174
_remove_files
170175
rmdir ${UBLK_TEST_DIR}
@@ -205,6 +210,7 @@ _create_ublk_dev() {
205210
fi
206211

207212
if [[ "$dev_id" =~ ^[0-9]+$ ]]; then
213+
echo "$dev_id" >> "${UBLK_TEST_DIR}/.ublk_devs"
208214
echo "${dev_id}"
209215
else
210216
return 255
@@ -276,6 +282,11 @@ _ublk_del_dev() {
276282
local dev_id=$1
277283

278284
${UBLK_PROG} del -n "${dev_id}"
285+
286+
# Remove from tracking file
287+
if [ -f "${UBLK_TEST_DIR}/.ublk_devs" ]; then
288+
sed -i "/^${dev_id}$/d" "${UBLK_TEST_DIR}/.ublk_devs"
289+
fi
279290
}
280291

281292
__remove_ublk_dev_return() {

0 commit comments

Comments
 (0)