libisoburn/releng/manual_devices_ts

104 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# Copyright 2011 George Danchev <danchev@spnet.net>
# Copyright 2011 Thomas Schmitt <scdbackup@gmx.net>
# Licensed under GNU GPL version 2
# set -e
# Include common bits
if test -e inc/releng_getopts.inc
then
. inc/releng_getopts.inc
else
echo >&2
echo "File not found: inc/releng_getopts.inc" >&2
echo "Are we in the ./releng directory of a libisoburn SVN checkout ?" >&2
echo "(Please execute the tests from that ./releng directory.)" >&2
echo >&2
exit 2
fi
# Insist in having a xorriso
if [ ! -x $RELENG_XORRISO ]; then
print_help
printf "\n${SELF}: -x absolute or relative path to binary to be run.\n\n"
exit 31
fi
#
get_speeds() {
echo -e "\n${SELF}: Running: ${RELENG_XORRISO} -outdev ${1} -list_speeds"
${RELENG_XORRISO} -outdev ${1} -list_speeds
}
cat_var() {
# $1 = variable to put out with line feeds
cat <<+
$1
+
}
get_devices() {
# $1 =
if test -n "$1"
then
DEVICES="$1"
else
DEVICES=$("$RELENG_XORRISO" -devices 2>/dev/null | grep "\-dev")
fi
NUM_DEV=$(cat_var "$DEVICES" | wc -l)
case "${NUM_DEV}" in
0)
echo -e "\n${SELF}: No drives found."
exit 1
;;
1)
echo -e "\n${SELF}: 1 drive found:\n"
;;
*)
echo -e "\n${SELF}: ${NUM_DEV} drives found:\n"
;;
esac
echo =================================================================
echo "$DEVICES"
echo =================================================================
OUTDEV=$( cat_var "$DEVICES" | head -1 | \
sed -e "s/[0-9] *-dev '\//\//" -e "s/'.*$//" )
echo >&2
echo "WARNING: The following tests might pull in the drive tray." >&2
echo " Best is if you now put in a suitable media and load it" >&2
echo " manually, so nobody gets surprised. :))" >&2
echo >&2
echo "Which drive to examine ? (Empty input = ${OUTDEV})" >&2
read x
if test -n "$x"
then
OUTDEV="$x"
fi
get_speeds "$OUTDEV"
}
# main
"$RELENG_XORRISO" -version
echo -e "\n${SELF}: Running: $RELENG_XORRISO -devices..."
devices=$("$RELENG_XORRISO" -devices 2>/dev/null | grep "\-dev")
RET="$?"
case ${RET} in
0)
get_devices "$devices"
;;
*)
boldify
echo -ne "\n${SELF}: ${RELENG_XORRISO} -devices returned ${RET}."
unboldify
echo -e "\n${SELF}: Already mounted?"
df -kh
esac
exit 0