tests: make it more flexible for the ebuild
The current code requires rootdev to be in $PWD which fails when we
build out of tree (like the ebuild).
BUG=chromium:441571
TEST=`FEATURES=test emerge-link rootdev` passes
Change-Id: I99173ceb557099c20b43f5a31b87107a144efa20
Reviewed-on: https://chromium-review.googlesource.com/234921
Trybot-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/rootdev_test.sh b/rootdev_test.sh
index 8c188c3..d236b2b 100755
--- a/rootdev_test.sh
+++ b/rootdev_test.sh
@@ -1,5 +1,5 @@
-#!/bin/sh
-# Copyright (C) 2010 The Chromium OS Authors. All rights reserved.
+#!/bin/bash
+# Copyright 2010 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
@@ -70,16 +70,17 @@
return 0
}
-if [ ! -e ./rootdev ]; then
- error "rootdev must be in the cwd"
+ROOTDEV=${1:-./rootdev}
+if [[ ! -e ${ROOTDEV} ]]; then
+ error "could not find rootdev '${ROOTDEV}'"
fi
-if [ "$USER" != "root" ]; then
- error "Must be run as root to use mknod ($USER)"
+if [ "${USER:-}" != "root" ]; then
+ error "Must be run as root to use mknod (${USER:-})"
fi
t00_bad_sys_dir () {
- out=$(./rootdev --block $WORKDIR 2>/dev/null)
+ out=$("${ROOTDEV}" --block $WORKDIR 2>/dev/null)
expect "$? -ne 0" || return 1
expect "-z '$out'" || return 1
}
@@ -105,7 +106,7 @@
local dev=$WORKDIR/dev
h00_setup_sda_tree $block $dev
- out=$(./rootdev --dev $dev --block $block --major 10 --minor 1 2>/dev/null)
+ out=$("${ROOTDEV}" --dev $dev --block $block --major 10 --minor 1 2>/dev/null)
expect "$? -eq 0" || return 1
expect "'$dev/sda1' = '$out'" || return 1
}
@@ -116,7 +117,7 @@
local dev=$WORKDIR/dev
h00_setup_sda_tree $block $dev
- out=$(./rootdev --dev $dev --block $block --major 10 --minor 0 2>/dev/null)
+ out=$("${ROOTDEV}" --dev $dev --block $block --major 10 --minor 0 2>/dev/null)
expect "$? -eq 0" || return 1
expect "'$dev/sda' = '$out'" || return 1
}
@@ -128,7 +129,7 @@
h00_setup_sda_tree $block $dev
rm $dev/sda
- out=$(./rootdev --dev $dev --block $block --major 10 --minor 0 2>/dev/null)
+ out=$("${ROOTDEV}" --dev $dev --block $block --major 10 --minor 0 2>/dev/null)
expect "$? -eq 1" || return 1
expect "'$dev/sda' = '$out'" || return 1
}
@@ -140,7 +141,7 @@
h00_setup_sda_tree $block $dev
rm $dev/sda
- out=$(./rootdev -i --dev $dev --block $block --major 10 --minor 0 2>/dev/null)
+ out=$("${ROOTDEV}" -i --dev $dev --block $block --major 10 --minor 0 2>/dev/null)
expect "$? -eq 0" || return 1
expect "'$dev/sda' = '$out'" || return 1
}
@@ -165,7 +166,7 @@
h00_setup_sda_tree $block $dev
h01_setup_dm_tree $block $dev
- out=$(./rootdev --dev $dev --block $block --major 254 --minor 0 \
+ out=$("${ROOTDEV}" --dev $dev --block $block --major 254 --minor 0 \
2>/dev/null)
expect "$? -eq 0" || return 1
expect "'$dev/dm-0' = '$out'" || return 1
@@ -178,7 +179,7 @@
h00_setup_sda_tree $block $dev
h01_setup_dm_tree $block $dev
- out=$(./rootdev -s --dev $dev --block $block --major 254 --minor 0 \
+ out=$("${ROOTDEV}" -s --dev $dev --block $block --major 254 --minor 0 \
2>/dev/null)
expect "$? -eq 0" || return 1
expect "'$dev/sda1' = '$out'" || return 1
@@ -191,7 +192,7 @@
h00_setup_sda_tree $block $dev
h01_setup_dm_tree $block $dev
- out=$(./rootdev -s --dev $dev --block $block --major 10 --minor 1 \
+ out=$("${ROOTDEV}" -s --dev $dev --block $block --major 10 --minor 1 \
2>/dev/null)
expect "$? -eq 0" || return 1
expect "'$dev/sda1' = '$out'" || return 1
@@ -207,7 +208,7 @@
# but the path will still represent the slave.
rm $dev/sda1
- out=$(./rootdev -s --dev $dev --block $block --major 254 --minor 0 \
+ out=$("${ROOTDEV}" -s --dev $dev --block $block --major 254 --minor 0 \
2>/dev/null)
expect "$? -eq 1" || return 1
expect "'$dev/sda1' = '$out'" || return 1
@@ -223,7 +224,7 @@
# but the path will still represent the slave.
rm $dev/sda1
- out=$(./rootdev -i -s --dev $dev --block $block --major 254 --minor 0 \
+ out=$("${ROOTDEV}" -i -s --dev $dev --block $block --major 254 --minor 0 \
2>/dev/null)
expect "$? -eq 0" || return 1
expect "'$dev/sda1' = '$out'" || return 1
@@ -249,7 +250,7 @@
local block=$WORKDIR/sys/block
local dev=$WORKDIR/dev
h02_setup_mmc_tree $block $dev
- out=$(./rootdev --dev $dev --block $block --major 11 --minor 2 \
+ out=$("${ROOTDEV}" --dev $dev --block $block --major 11 --minor 2 \
2>/dev/null)
expect "$? -eq 0" || return 1
expect "'$dev/mmcblk0p2' = '$out'" || return 1
@@ -260,7 +261,7 @@
local block=$WORKDIR/sys/block
local dev=$WORKDIR/dev
h02_setup_mmc_tree $block $dev
- out=$(./rootdev -d --dev $dev --block $block --major 11 --minor 2 \
+ out=$("${ROOTDEV}" -d --dev $dev --block $block --major 11 --minor 2 \
2>/dev/null)
expect "$? -eq 0" || return 1
expect "'$dev/mmcblk0' = '$out'" || return 1
@@ -271,7 +272,7 @@
local block=$WORKDIR/sys/block
local dev=$WORKDIR/dev
h00_setup_sda_tree $block $dev
- out=$(./rootdev -d --dev $dev --block $block --major 10 --minor 2 \
+ out=$("${ROOTDEV}" -d --dev $dev --block $block --major 10 --minor 2 \
2>/dev/null)
expect "$? -eq 0" || return 1
expect "'$dev/sda' = '$out'" || return 1