2011-06-28 20:58:56 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2011-07-11 09:40:23 +00:00
|
|
|
# Copyright 2011 George Danchev <danchev@spnet.net>
|
2011-07-11 09:44:01 +00:00
|
|
|
# Licensed under GNU GPL version 2
|
2011-07-11 09:40:23 +00:00
|
|
|
|
2011-06-28 20:58:56 +00:00
|
|
|
set -e
|
|
|
|
|
2011-07-13 11:24:32 +00:00
|
|
|
not_in_releng_exit() {
|
|
|
|
printf "\nPlease execute the tests from releng directory.\n\n"
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
2011-07-08 14:18:54 +00:00
|
|
|
# Include common bits
|
2011-07-13 11:24:32 +00:00
|
|
|
. inc/releng_getopts.inc || not_in_releng_exit
|
2011-07-08 14:18:54 +00:00
|
|
|
|
2011-07-10 20:02:07 +00:00
|
|
|
# Each releng_ test should decide whether or not it needs
|
2011-07-08 14:18:54 +00:00
|
|
|
# a xorriso binary to test, since some do compilations only.
|
|
|
|
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
|
|
|
|
|
|
|
|
# check data dir, if any and after checking -x xorriso
|
|
|
|
if [ -d "${GEN_DATA_DIR}" ]; then
|
|
|
|
printf "\n${SELF}: directory %s exists!" ${GEN_DATA_DIR}
|
|
|
|
printf "\n${SELF}: use '${SELF} -c1' to remove.\n"
|
|
|
|
exit 8
|
|
|
|
else
|
|
|
|
mkdir "${GEN_DATA_DIR}"
|
|
|
|
fi
|
|
|
|
|
2011-07-09 14:42:18 +00:00
|
|
|
#
|
2011-06-29 17:44:03 +00:00
|
|
|
UPPER=40
|
2011-07-08 14:18:54 +00:00
|
|
|
|
|
|
|
# All must be set at this point
|
2011-07-10 20:02:07 +00:00
|
|
|
# TODO: work out a smarter way to quickly generate different
|
|
|
|
# types of trees (long, deep, etc)
|
2011-07-09 09:58:57 +00:00
|
|
|
printf "\n${SELF}: Generating sample tree in ${GEN_DATA_DIR}..."
|
2011-06-28 20:58:56 +00:00
|
|
|
for ((i1=0; i1 < ${UPPER}/4; i1++))
|
|
|
|
do
|
|
|
|
for ((i2=0; i2 < ${UPPER}/2; i2++))
|
|
|
|
do
|
|
|
|
for ((i3=0; i3 < ${UPPER}; i3++))
|
|
|
|
do
|
|
|
|
mkdir -p ${GEN_DATA_DIR}/DirOne$i1/DirTwo$i2/DirThree$i3
|
|
|
|
touch ${GEN_DATA_DIR}/DirOne$i1/DirTwo$i2/DirThree$i3/FileOne
|
|
|
|
done
|
|
|
|
done
|
|
|
|
done
|
2011-07-06 11:30:10 +00:00
|
|
|
printf "done.\n"
|
2011-06-28 20:58:56 +00:00
|
|
|
|
2011-07-09 10:17:29 +00:00
|
|
|
printf "\n${SELF}: Performing several print size runs to neutralize possible disk cache impact.\n"
|
|
|
|
|
2011-07-09 14:42:18 +00:00
|
|
|
# run xorriso
|
2011-06-28 20:58:56 +00:00
|
|
|
if [ -x ${RELENG_XORRISO} ]; then
|
2011-07-09 10:17:29 +00:00
|
|
|
for run in 1 2 3; do
|
|
|
|
printf "\n${SELF}: Running ${RELENG_XORRISO} -as mkisofs -quiet -print-size ${GEN_DATA_DIR}. Trial: ${run}.\n"
|
|
|
|
time ${RELENG_XORRISO} -as mkisofs -quiet -print-size ${GEN_DATA_DIR}
|
|
|
|
done
|
2011-06-28 20:58:56 +00:00
|
|
|
fi
|
|
|
|
|
2011-07-09 14:42:18 +00:00
|
|
|
# try to run genisoimage
|
|
|
|
if which genisoimage >/dev/null 2>&1; then
|
|
|
|
RELENG_GENISOIMAGE=`which genisoimage`
|
2011-07-09 10:17:29 +00:00
|
|
|
for run in 1 2 3; do
|
|
|
|
printf "\n${SELF}: Running ${RELENG_GENISOIMAGE} -quiet -print-size ${GEN_DATA_DIR}. Trial: ${run}.\n"
|
|
|
|
time ${RELENG_GENISOIMAGE} -quiet -print-size ${GEN_DATA_DIR}
|
|
|
|
done
|
2011-06-28 20:58:56 +00:00
|
|
|
fi
|
|
|
|
|
2011-07-09 14:42:18 +00:00
|
|
|
# try to run mkisofs
|
|
|
|
if which mkisofs >/dev/null 2>&1; then
|
|
|
|
RELENG_MKISOFS=`which mkisofs`
|
2011-07-09 10:17:29 +00:00
|
|
|
for run in 1 2 3; do
|
|
|
|
printf "\n${SELF}: Running ${RELENG_MKISOFS} -quiet -print-size ${GEN_DATA_DIR}. Trial: ${run}.\n"
|
|
|
|
time ${RELENG_MKISOFS} -quiet -print-size ${GEN_DATA_DIR}
|
|
|
|
done
|
2011-06-28 20:58:56 +00:00
|
|
|
fi
|
|
|
|
|
2011-07-09 09:27:12 +00:00
|
|
|
#
|
|
|
|
cleanup
|
2011-06-28 20:58:56 +00:00
|
|
|
|
2011-07-09 09:27:12 +00:00
|
|
|
#
|
2011-06-29 17:44:03 +00:00
|
|
|
exit 0
|