mirror of
https://github.com/claunia/flac.git
synced 2025-12-16 18:54:26 +00:00
add tests for -f and flac default behavior when the output file already exists
This commit is contained in:
@@ -53,6 +53,42 @@ if [ ! -f wacky1.wav ] ; then
|
||||
test_streams || die "ERROR during test_streams"
|
||||
fi
|
||||
|
||||
############################################################################
|
||||
# test that flac doesn't automatically overwrite files unless -f is used
|
||||
############################################################################
|
||||
|
||||
echo "Try encoding to a file that exists; should fail"
|
||||
cp wacky1.wav exist.wav
|
||||
touch exist.flac
|
||||
if run_flac -s -0 exist.wav ; then
|
||||
die "ERROR: it should have failed but didn't"
|
||||
else
|
||||
echo "OK, it failed as it should"
|
||||
fi
|
||||
|
||||
echo "Try encoding with -f to a file that exists; should succeed"
|
||||
if run_flac -s -0 --force exist.wav ; then
|
||||
echo "OK, it succeeded as it should"
|
||||
else
|
||||
die "ERROR: it should have succeeded but didn't"
|
||||
fi
|
||||
|
||||
echo "Try decoding to a file that exists; should fail"
|
||||
if run_flac -s -d exist.flac ; then
|
||||
die "ERROR: it should have failed but didn't"
|
||||
else
|
||||
echo "OK, it failed as it should"
|
||||
fi
|
||||
|
||||
echo "Try decoding with -f to a file that exists; should succeed"
|
||||
if run_flac -s -d -f exist.flac ; then
|
||||
echo "OK, it succeeded as it should"
|
||||
else
|
||||
die "ERROR: it should have succeeded but didn't"
|
||||
fi
|
||||
|
||||
rm -f exist.wav exist.flac
|
||||
|
||||
############################################################################
|
||||
# basic 'round-trip' tests of various kinds of streams
|
||||
############################################################################
|
||||
@@ -64,9 +100,9 @@ rt_test_raw ()
|
||||
bytes_per_sample=`echo $f | awk -F- '{print $3}'`
|
||||
bps=`expr $bytes_per_sample '*' 8`
|
||||
echo -n "round-trip test ($f) encode... "
|
||||
run_flac --silent --verify --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $f -o rt.flac || die "ERROR"
|
||||
run_flac --silent --force --verify --force-raw-format --endian=little --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $f -o rt.flac || die "ERROR"
|
||||
echo -n "decode... "
|
||||
run_flac --silent --decode --force-raw-format --endian=little --sign=signed -o rt.raw rt.flac || die "ERROR"
|
||||
run_flac --silent --force --decode --force-raw-format --endian=little --sign=signed -o rt.raw rt.flac || die "ERROR"
|
||||
echo -n "compare... "
|
||||
cmp $f rt.raw || die "ERROR: file mismatch"
|
||||
echo "OK"
|
||||
@@ -77,9 +113,9 @@ rt_test_wav ()
|
||||
{
|
||||
f="$1"
|
||||
echo -n "round-trip test ($f) encode... "
|
||||
run_flac --silent --verify $f -o rt.flac || die "ERROR"
|
||||
run_flac --silent --force --verify $f -o rt.flac || die "ERROR"
|
||||
echo -n "decode... "
|
||||
run_flac --silent --decode -o rt.wav rt.flac || die "ERROR"
|
||||
run_flac --silent --force --decode -o rt.wav rt.flac || die "ERROR"
|
||||
echo -n "compare... "
|
||||
cmp $f rt.wav || die "ERROR: file mismatch"
|
||||
echo "OK"
|
||||
@@ -90,9 +126,9 @@ rt_test_aiff ()
|
||||
{
|
||||
f="$1"
|
||||
echo -n "round-trip test ($f) encode... "
|
||||
run_flac --silent --verify $f -o rt.flac || die "ERROR"
|
||||
run_flac --silent --force --verify $f -o rt.flac || die "ERROR"
|
||||
echo -n "decode... "
|
||||
run_flac --silent --decode -o rt.aiff rt.flac || die "ERROR"
|
||||
run_flac --silent --force --decode -o rt.aiff rt.flac || die "ERROR"
|
||||
echo -n "compare... "
|
||||
cmp $f rt.aiff || die "ERROR: file mismatch"
|
||||
echo "OK"
|
||||
@@ -126,8 +162,8 @@ dd if=master.raw ibs=1 count=39 of=50c.until39.raw 2>/dev/null || $dddie
|
||||
dd if=master.raw ibs=1 skip=10 count=30 of=50c.skip10.until40.raw 2>/dev/null || $dddie
|
||||
dd if=master.raw ibs=1 skip=10 count=29 of=50c.skip10.until39.raw 2>/dev/null || $dddie
|
||||
|
||||
wav_eopt="--silent --verify --lax"
|
||||
wav_dopt="--silent --decode"
|
||||
wav_eopt="--silent --force --verify --lax"
|
||||
wav_dopt="--silent --force --decode"
|
||||
|
||||
raw_eopt="$wav_eopt --force-raw-format --endian=big --sign=signed --sample-rate=10 --bps=8 --channels=1"
|
||||
raw_dopt="$wav_dopt --force-raw-format --endian=big --sign=signed"
|
||||
@@ -482,8 +518,8 @@ rm -f noise.aiff fixup.aiff fixup.flac
|
||||
############################################################################
|
||||
|
||||
echo "Generating multiple input files from noise..."
|
||||
run_flac --verify --silent --force-raw-format --endian=big --sign=signed --sample-rate=44100 --bps=16 --channels=2 noise.raw || die "ERROR generating FLAC file"
|
||||
run_flac --decode --silent noise.flac || die "ERROR generating WAVE file"
|
||||
run_flac --verify --force --silent --force-raw-format --endian=big --sign=signed --sample-rate=44100 --bps=16 --channels=2 noise.raw || die "ERROR generating FLAC file"
|
||||
run_flac --decode --force --silent noise.flac || die "ERROR generating WAVE file"
|
||||
rm -f noise.flac
|
||||
mv noise.wav file0.wav
|
||||
cp file0.wav file1.wav
|
||||
@@ -506,11 +542,11 @@ test_multifile ()
|
||||
encode_options="$encode_options --sector-align"
|
||||
fi
|
||||
|
||||
run_flac $encode_options file0.wav file1.wav file2.wav || die "ERROR"
|
||||
run_flac --force $encode_options file0.wav file1.wav file2.wav || die "ERROR"
|
||||
for n in 0 1 2 ; do
|
||||
mv file$n.$suffix file${n}x.$suffix
|
||||
done
|
||||
run_flac --decode file0x.$suffix file1x.$suffix file2x.$suffix || die "ERROR"
|
||||
run_flac --force --decode file0x.$suffix file1x.$suffix file2x.$suffix || die "ERROR"
|
||||
if [ $sector_align != sector_align ] ; then
|
||||
for n in 0 1 2 ; do
|
||||
cmp file$n.wav file${n}x.wav || die "ERROR: file mismatch on file #$n"
|
||||
|
||||
Reference in New Issue
Block a user