1#!/bin/sh 2 3LC_ALL=POSIX 4LC_NUMERIC=POSIX 5export LC_ALL LC_NUMERIC 6 7# correct answers 8MONO_BEFORE=1f6586aa8a849a3bd8b24b42eb9e3f63 9STEREO_BEFORE=24d9a4de01f11c0a4e37c1f0fedb1675 10LVL_MONO="-6.0206dBFS -3.0104dBFS -5.9794dB mono.wav" 11LVL_STEREO="-6.0206dBFS -3.0104dBFS -5.9794dB stereo.wav" 12MONO_AFTER=1553f2c735477f1de783365db1bec012 13STEREO_AFTER=cf7581a8924eb3b29b93e93bc6a9f7dc 14 15exec 3>> test.log 16echo "Testing 24-bit wavs..." >&3 17 18../src/mktestwav -a 0.5 -b 3 -c 1 mono.wav 19../src/mktestwav -a 0.5 -b 3 -c 2 stereo.wav 20 21# Check that the files written by mktestwav are correct 22CHKSUM=`tail -c +44 mono.wav | md5sum` 23case "$CHKSUM" in 24 $MONO_BEFORE*) ;; 25 *) echo "FAIL: created mono.wav has bad checksum!" >&3; exit 1 ;; 26esac 27CHKSUM=`tail -c +44 stereo.wav | md5sum` 28case "$CHKSUM" in 29 $STEREO_BEFORE*) ;; 30 *) echo "FAIL: created stereo.wav has bad checksum!" >&3; exit 1 ;; 31esac 32 33echo "mono.wav and stereo.wav created..." >&3 34 35# Check that normalize correctly measures the volume of the files 36NORM=`../src/normalize -qn mono.wav` 37if test x"$NORM" != x"$LVL_MONO"; then 38 echo "FAIL: measured volume of mono.wav is incorrect:" >&3 39 echo " should be: $LVL_MONO" >&3 40 echo " got: $NORM" >&3 41 exit 1 42fi 43NORM=`../src/normalize -qn stereo.wav` 44if test x"$NORM" != x"$LVL_STEREO"; then 45 echo "FAIL: measured volume of stereo.wav is incorrect:" >&3 46 echo " should be: $LVL_STEREO" >&3 47 echo " got: $NORM" >&3 48 exit 1 49fi 50 51echo "mono.wav and stereo.wav measured successfully..." >&3 52 53# Check that normalize correctly normalizes the volume of the files 54../src/normalize -q mono.wav 55../src/normalize -q stereo.wav 56CHKSUM=`tail -c +44 mono.wav | md5sum` 57case "$CHKSUM" in 58 $MONO_AFTER*) ;; 59 *) echo "FAIL: adjusted mono.wav has bad checksum!" >&3; exit 1 ;; 60esac 61CHKSUM=`tail -c +44 stereo.wav | md5sum` 62case "$CHKSUM" in 63 $STEREO_AFTER*) ;; 64 *) echo "FAIL: adjusted stereo.wav has bad checksum!" >&3; exit 1 ;; 65esac 66 67echo "mono.wav and stereo.wav adjusted successfully..." >&3 68echo "PASSED!" >&3 69 70exit 0 71