From fafc091696d3022f7b1d6bf5df719a465e8e1cf7 Mon Sep 17 00:00:00 2001 From: Joel Granados Moreno Date: Wed, 10 Jun 2009 19:05:49 +0200 Subject: [PATCH] tests: verify that "md" devices are not listed * tests/t6001-dm-ignored.sh: New test file. * tests/Makefile.am (TESTS): Add it. --- tests/Makefile.am | 1 + tests/t6001-dm-ignoremd.sh | 85 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100755 tests/t6001-dm-ignoremd.sh diff --git a/tests/Makefile.am b/tests/Makefile.am index 2931e98..de09d38 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -19,6 +19,7 @@ TESTS = \ t4200-partprobe.sh \ t5000-tags.sh \ t6000-dm.sh \ + t6001-dm-ignoremd.sh \ t7000-scripting.sh \ t8000-loop.sh diff --git a/tests/t6001-dm-ignoremd.sh b/tests/t6001-dm-ignoremd.sh new file mode 100755 index 0000000..4fd9763 --- /dev/null +++ b/tests/t6001-dm-ignoremd.sh @@ -0,0 +1,85 @@ +#!/bin/sh + +# Copyright (C) 2008 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +test_description='Ignore devices that start with md from /sys/block.' + +privileges_required_=1 +# This will setup private /dev and /etc +device_mapper_required_=1 + +: ${srcdir=.} +. $srcdir/test-lib.sh + +test "x$ENABLE_DEVICE_MAPPER" = xyes || + { + say "skipping $0: no device-mapper support" + test_done + exit + } + +test -d /sys/block || + { + say "skipping $0: system does not have /sys/block" + test_done + exit + } + +which mdadm > /dev/null 2>&1 || + { + say "skipping $0: could not find mdadm executable" + test_done + exit + } + +# The md device. +mddev_= + +cleanup_() { + mdadm --stop $mddev_ > /dev/null 2>&1 + test -n "$d1" && losetup -d "$d1" + rm -f "$f1"; +} + +md_dev_create_() +{ + lo_dev=$1 + mdd=$G_dev_/md0 + for i in 0 1 2 3 4 5 6 7 8 9 ; do + mdd=$G_dev_/md$i + mdadm --create --force $mdd --level=linear --raid-devices=1 $lo_dev > /dev/null 2>&1 \ + && break + + if [ $i -eq 9 ]; then echo $mdd ; return 1 ; fi + done + + echo $mdd + return 0 +} + +test_expect_success \ + 'setup: create loop devices' \ + 'f1=$(pwd)/1 && d1=$(loop_setup_ "$f1")' + +test_expect_success \ + 'setup: create md# device' \ + 'mddev_=$(md_dev_create_ "$d1")' + +test_expect_failure \ + 'grep for the created md device' \ + 'parted -s -m -l | grep "Error:.*: unrecognised disk label"' + +test_done -- 2.11.0