libisoburn/releng/releng_printsize

158 lines
3.9 KiB
Bash
Executable File

#!/bin/bash
set -e
# Include common bits
. inc/releng_getopts.inc
# Each releng_ test should decide whether or not it need
# 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
#START_DIR_DONT_CHANGE=`pwd`
#SELF=$(basename "$0")
# required config items
#RELENG_XORRISO=""
RELENG_GENISOIMAGE=/usr/bin/genisoimage
RELENG_MKISOFS=/usr/bin/mkisofs
# config file
# CONFFILE=${HOME}/.libburnia-releng/${SELF}.conf
# GEN_DATA_DIR=releng_generated_data/${SELF}
UPPER=40
# KEEP=0
#####################################################################
#print_help() {
# cat << HLP
#Usage:
# $0 -help
# using a config file ${CONFFILE}
# $0 -rc [-keep]
# without using a config file
# $0 xorriso_cmd
# cleanup test generated data directory and exit
# $0 -cleanup
#HLP
#}
#####################################################################
# cleanup
#if [ "${1}" == "-cleanup" ]; then
# cd "${START_DIR_DONT_CHANGE}" || exit 2
# if [ -d "${GEN_DATA_DIR}" ]; then
# rm -rf ${GEN_DATA_DIR}
# printf "${SELF}: removed %s\n" ${GEN_DATA_DIR}
# else
# printf "${SELF}: ${GEN_DATA_DIR} does not exist.\n"
# fi
# exit 0
#fi
# help
#if [ ! "${1}" ]; then print_help && exit 3; fi
# config file
#if [ "${1}" == "-rc" ]; then
# if [ -e ${CONFFILE} ]; then
# . ${CONFFILE}
# printf "${SELF}: Using config file %s\n" ${CONFFILE}
# else
# echo -e "\n${SELF}: Config file ${CONFFILE} not found.\n" && exit 4
# fi
# if [ "${2}" == "-keep" ]; then KEEP=1; fi
# command line args
#elif [ "${1}" ]; then
# RELENG_XORRISO="${1}"
# if [ "${2}" == "-keep" ]; then KEEP=1; fi
# the rest
#else
# print_help && exit 5
#fi
# data dir
#if [ -d "${GEN_DATA_DIR}" ]; then
# printf "\n${SELF}: directory %s exists!" ${GEN_DATA_DIR}
# printf "\n${SELF}: use '${SELF} -cleanup' to remove.\n"
# exit 6
#else
# mkdir "${GEN_DATA_DIR}"
#fi
#if [ "${RELENG_XORRISO}" == "" ]; then
# echo -e "\n${SELF}: xorriso_cmd is required\n"
# exit 7
# fi
#if [ ! -x "${RELENG_XORRISO}" ]; then
# printf "${SELF}: Not found or not an executable: $RELENG_XORRISO\n"
# exit 8
#fi
# All must be set at this point
printf "${SELF}: Config items:"
printf "\n\txorriso_cmd=${RELENG_XORRISO}\n"
# xorriso version details, incl. underlying libraries
"${RELENG_XORRISO}" -version
if ! "${RELENG_XORRISO}" -version | grep libjte >/dev/null 2>&1; then
printf "\n${SELF}: JTE not supported with this xorriso build. Install jigit and rebuild."
printf "\n${SELF}: See http://www.einval.com/~steve/software/JTE/\n"
exit 9
fi
################################################
printf "${SELF}: Generating sample tree..."
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
printf "done.\n"
# Disk cache might play dirty games, so re-run these several times?
if [ -x ${RELENG_XORRISO} ]; then
printf "\n${SELF}: Running ${RELENG_XORRISO} -as mkisofs -quiet -print-size ${GEN_DATA_DIR}\n"
time ${RELENG_XORRISO} -as mkisofs -quiet -print-size ${GEN_DATA_DIR}
fi
if [ -x ${RELENG_GENISOIMAGE} ]; then
printf "\n${SELF}: Running ${RELENG_GENISOIMAGE} -quiet -print-size ${GEN_DATA_DIR}\n"
time ${RELENG_GENISOIMAGE} -quiet -print-size ${GEN_DATA_DIR}
fi
if [ -x ${RELENG_MKISOFS} ]; then
printf "\n${SELF}: Running ${RELENG_MKISOFS} -quiet -print-size ${GEN_DATA_DIR}\n"
time ${RELENG_MKISOFS} -quiet -print-size ${GEN_DATA_DIR}
fi
if [ ${KEEP} -eq 0 ]; then
cd ${START_DIR_DONT_CHANGE} || exit 10
rm -rf ${GEN_DATA_DIR}
fi
exit 0