Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F7576183
test_ewfexport.sh
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Size
3 KB
Referenced Files
None
Subscribers
None
test_ewfexport.sh
View Options
#!/bin/bash
#
# ewfexport testing script
#
# Copyright (c) 2010-2011, Joachim Metz <jbmetz@users.sourceforge.net>
#
# Refer to AUTHORS for acknowledgements.
#
# This software is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This software 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 Lesser General Public License
# along with this software. If not, see <http://www.gnu.org/licenses/>.
#
EXIT_SUCCESS=0;
EXIT_FAILURE=1;
EXIT_IGNORE=77;
INPUT="input";
TMP="tmp";
LS="ls";
TR="tr";
WC="wc";
test_export_raw()
{
INPUT_FILE=$1;
mkdir ${TMP};
${EWFEXPORT} -q -d sha1 ${INPUT_FILE} <<EOI
raw
${TMP}/export.raw
EOI
RESULT=$?;
rm -rf ${TMP};
echo -n "Testing ewfexport to raw of input: ${INPUT_FILE} ";
if test ${RESULT} -ne ${EXIT_SUCCESS};
then
echo " (FAIL)";
else
echo " (PASS)";
fi
return ${RESULT};
}
test_export_ewf()
{
OUTPUT_FORMAT=$1;
INPUT_FILE=$2;
mkdir ${TMP};
${EWFEXPORT} -q -d sha1 ${INPUT_FILE} <<EOI
${OUTPUT_FORMAT}
${TMP}/export
none
EOI
RESULT=$?;
rm -rf ${TMP};
echo -n "Testing ewfexport to ewf format: ${OUTPUT_FORMAT} of input: ${INPUT_FILE} ";
if test ${RESULT} -ne ${EXIT_SUCCESS};
then
echo " (FAIL)";
else
echo " (PASS)";
fi
return ${RESULT};
}
test_export_unattended()
{
OUTPUT_FORMAT=$1;
INPUT_FILE=$2;
mkdir ${TMP};
${EWFEXPORT} -q -u -d sha1 \
-t ${TMP}/unattended_export \
-f ${OUTPUT_FORMAT} \
${INPUT_FILE}
RESULT=$?;
rm -rf ${TMP};
echo -n "Testing unattended ewfexport to format: ${OUTPUT_FORMAT} of input: ${INPUT_FILE} ";
if test ${RESULT} -ne ${EXIT_SUCCESS};
then
echo " (FAIL)";
else
echo " (PASS)";
fi
return ${RESULT};
}
EWFEXPORT="../ewftools/ewfexport";
if ! test -x ${EWFEXPORT};
then
EWFEXPORT="../ewftools/ewfexport.exe"
fi
if ! test -x ${EWFEXPORT};
then
echo "Missing executable: ${EWFEXPORT}";
exit ${EXIT_FAILURE};
fi
if ! test -d ${INPUT};
then
echo "No ${INPUT} directory found, to test ewfexport create ${INPUT} directory and place EWF test files in directory.";
exit ${EXIT_IGNORE};
fi
RESULT=`${LS} ${INPUT}/*.[esE]01 | ${TR} ' ' '\n' | ${WC} -l`;
if test ${RESULT} -eq 0;
then
echo "No files found in ${INPUT} directory, to test ewfexport place EWF test files in directory.";
exit ${EXIT_IGNORE};
fi
for FILENAME in `${LS} ${INPUT}/*.[esE]01 | ${TR} ' ' '\n'`;
do
if ! test_export_raw "${FILENAME}";
then
exit ${EXIT_FAILURE};
fi
for FORMAT in ewf encase1 encase2 encase3 encase4 encase5 encase6 linen5 linen6 ftk smart ewfx;
do
if ! test_export_ewf "${FORMAT}" "${FILENAME}";
then
exit ${EXIT_FAILURE};
fi
done
done
for FILENAME in `${LS} ${INPUT}/*.[esE]01 | ${TR} ' ' '\n'`;
do
for FORMAT in raw ewf encase1 encase2 encase3 encase4 encase5 encase6 linen5 linen6 ftk smart ewfx;
do
if ! test_export_unattended "${FORMAT}" "${FILENAME}";
then
exit ${EXIT_FAILURE};
fi
done
done
exit ${EXIT_SUCCESS};
File Metadata
Details
Attached
Mime Type
text/x-shellscript
Expires
Fri, Oct 10, 11:30 PM (11 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1339906
Default Alt Text
test_ewfexport.sh (3 KB)
Attached To
Mode
rXMOUNT xmount
Attached
Detach File
Event Timeline
Log In to Comment