|
Packit |
cb6d3d |
#!/bin/sh
|
|
Packit |
cb6d3d |
#
|
|
Packit |
cb6d3d |
# Perform a round-trip test between big-endian and little-endian
|
|
Packit |
cb6d3d |
# BIN/CUE to see if we can read both files correctly.
|
|
Packit |
cb6d3d |
#
|
|
Packit |
cb6d3d |
set -e
|
|
Packit |
cb6d3d |
: ${CMP:="@CMP@"}
|
|
Packit |
cb6d3d |
: ${WC:="@WC@"}
|
|
Packit |
cb6d3d |
: ${abs_builddir:="@abs_builddir@"}
|
|
Packit |
cb6d3d |
: ${abs_srcdir:="@abs_srcdir@"}
|
|
Packit |
cb6d3d |
: ${abs_top_builddir:="@abs_top_builddir@"}
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
cd_paranoia="${abs_top_builddir}/src/cd-paranoia@EXEEXT@"
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
orig_le_cue_file="${abs_srcdir}/data/cdda.cue"
|
|
Packit |
cb6d3d |
orig_le_bin_file="${abs_srcdir}/data/cdda.bin"
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
be_cue_file="${abs_builddir}/cdda-be.cue"
|
|
Packit |
cb6d3d |
be_bin_file="${abs_builddir}/cdda-be.bin"
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
le_cue_file="${abs_builddir}/cdda-le.cue"
|
|
Packit |
cb6d3d |
le_bin_file="${abs_builddir}/cdda-le.bin"
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
if test "${CMP}" = no; then
|
|
Packit |
cb6d3d |
echo "Don't see 'cmp' program. Test skipped."
|
|
Packit |
cb6d3d |
exit 77
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
elif test "${WC}" = no; then
|
|
Packit |
cb6d3d |
echo "Don't see 'wc' program. Test skipped."
|
|
Packit |
cb6d3d |
exit 77
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
# Convert from little-endian to big-endian.
|
|
Packit |
cb6d3d |
cat "${orig_le_cue_file}" > "${be_cue_file}"
|
|
Packit |
cb6d3d |
${cd_paranoia} -d "${orig_le_cue_file}" -v -R -- "1-" "${be_bin_file}"
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
# The contents of these two .bin files should differ, but they should
|
|
Packit |
cb6d3d |
# have the same length.
|
|
Packit |
cb6d3d |
if test `${WC} -c < "${orig_le_bin_file}"` -ne `${WC} -c < "${be_bin_file}"`; then
|
|
Packit |
cb6d3d |
echo "** File sizes differ after byte swap"
|
|
Packit |
cb6d3d |
exit 3
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
elif ${CMP} -s "${orig_le_bin_file}" "${be_bin_file}"; then
|
|
Packit |
cb6d3d |
echo "** Identical raw file after byte swap"
|
|
Packit |
cb6d3d |
exit 3
|
|
Packit |
cb6d3d |
fi
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
# Convert it back to little-endian.
|
|
Packit |
cb6d3d |
cat "${be_cue_file}" > "${le_cue_file}"
|
|
Packit |
cb6d3d |
${cd_paranoia} -d "${be_cue_file}" -v -r -- "1-" "${le_bin_file}"
|
|
Packit |
cb6d3d |
|
|
Packit |
cb6d3d |
# It should round-trip to the original file.
|
|
Packit |
cb6d3d |
if ${CMP} "${le_bin_file}" "${orig_le_bin_file}"; then
|
|
Packit |
cb6d3d |
echo "** Identical raw file after round-trip"
|
|
Packit |
cb6d3d |
exit 0
|
|
Packit |
cb6d3d |
else
|
|
Packit |
cb6d3d |
echo "** Raw files differ after round-trip"
|
|
Packit |
cb6d3d |
exit 3
|
|
Packit |
cb6d3d |
fi
|