Josh Coalson | d09958f | 2002-06-14 06:31:35 +0000 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| 3 | # FLAC - Free Lossless Audio Codec |
Josh Coalson | afae69f | 2003-01-02 07:03:16 +0000 | [diff] [blame] | 4 | # Copyright (C) 2002,2003 Josh Coalson |
Josh Coalson | d09958f | 2002-06-14 06:31:35 +0000 | [diff] [blame] | 5 | # |
| 6 | # This program is part of FLAC; you can redistribute it and/or |
| 7 | # modify it under the terms of the GNU General Public License |
| 8 | # as published by the Free Software Foundation; either version 2 |
| 9 | # of the License, or (at your option) any later version. |
| 10 | # |
| 11 | # This program is distributed in the hope that it will be useful, |
| 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 14 | # GNU General Public License for more details. |
| 15 | # |
| 16 | # You should have received a copy of the GNU General Public License |
| 17 | # along with this program; if not, write to the Free Software |
| 18 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| 19 | |
Josh Coalson | 6218b34 | 2002-12-12 03:58:18 +0000 | [diff] [blame] | 20 | die () |
| 21 | { |
| 22 | echo $* 1>&2 |
| 23 | exit 1 |
| 24 | } |
| 25 | |
Josh Coalson | 48404ff | 2002-11-21 08:58:52 +0000 | [diff] [blame] | 26 | LD_LIBRARY_PATH=../src/libFLAC/.libs:../obj/release/lib:../obj/debug/lib:$LD_LIBRARY_PATH |
Josh Coalson | d09958f | 2002-06-14 06:31:35 +0000 | [diff] [blame] | 27 | export LD_LIBRARY_PATH |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 28 | PATH=../src/flac:../src/metaflac:../obj/release/bin:../obj/debug/bin:$PATH |
Josh Coalson | d09958f | 2002-06-14 06:31:35 +0000 | [diff] [blame] | 29 | |
| 30 | flacfile=metaflac.flac |
| 31 | |
Josh Coalson | 6218b34 | 2002-12-12 03:58:18 +0000 | [diff] [blame] | 32 | flac --help 1>/dev/null 2>/dev/null || die "ERROR can't find flac executable" |
| 33 | metaflac --help 1>/dev/null 2>/dev/null || die "ERROR can't find metaflac executable" |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 34 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 35 | run_flac () |
| 36 | { |
Josh Coalson | ecf57b7 | 2003-01-14 09:00:25 +0000 | [diff] [blame] | 37 | if [ x"$FLAC__VALGRIND" = xyes ] ; then |
Josh Coalson | 80936c5 | 2002-12-30 23:31:47 +0000 | [diff] [blame] | 38 | valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --logfile-fd=4 flac $* 4>>test_metaflac.valgrind.log |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 39 | else |
| 40 | flac $* |
| 41 | fi |
| 42 | } |
| 43 | |
| 44 | run_metaflac () |
| 45 | { |
Josh Coalson | ecf57b7 | 2003-01-14 09:00:25 +0000 | [diff] [blame] | 46 | if [ x"$FLAC__VALGRIND" = xyes ] ; then |
Josh Coalson | 80936c5 | 2002-12-30 23:31:47 +0000 | [diff] [blame] | 47 | valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --logfile-fd=4 metaflac $* 4>>test_metaflac.valgrind.log |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 48 | else |
| 49 | metaflac $* |
| 50 | fi |
| 51 | } |
Josh Coalson | 2858ff3 | 2002-10-11 06:22:43 +0000 | [diff] [blame] | 52 | |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 53 | echo "Generating stream..." |
Josh Coalson | 5f39e9f | 2002-08-21 05:27:01 +0000 | [diff] [blame] | 54 | if [ -f /bin/sh.exe ] ; then |
| 55 | inputfile=/bin/sh.exe |
| 56 | else |
| 57 | inputfile=/bin/sh |
| 58 | fi |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 59 | if run_flac --verify -0 --output-name=$flacfile --force-raw-format --endian=big --sign=signed --channels=1 --bps=8 --sample-rate=44100 $inputfile ; then |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 60 | chmod +w $flacfile |
| 61 | else |
Josh Coalson | 6218b34 | 2002-12-12 03:58:18 +0000 | [diff] [blame] | 62 | die "ERROR during generation" |
Josh Coalson | d09958f | 2002-06-14 06:31:35 +0000 | [diff] [blame] | 63 | fi |
| 64 | |
| 65 | check_exit () |
| 66 | { |
| 67 | exit_code=$? |
Josh Coalson | 6218b34 | 2002-12-12 03:58:18 +0000 | [diff] [blame] | 68 | [ $exit_code = 0 ] || die "ERROR, exit code = $exit_code" |
Josh Coalson | d09958f | 2002-06-14 06:31:35 +0000 | [diff] [blame] | 69 | } |
| 70 | |
| 71 | check_flac () |
| 72 | { |
Josh Coalson | 6218b34 | 2002-12-12 03:58:18 +0000 | [diff] [blame] | 73 | run_flac --silent --test $flacfile || die "ERROR in $flacfile" 1>&2 |
Josh Coalson | d09958f | 2002-06-14 06:31:35 +0000 | [diff] [blame] | 74 | } |
| 75 | |
| 76 | check_flac |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 77 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 78 | (set -x && run_metaflac --list $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 79 | check_exit |
| 80 | |
| 81 | (set -x && |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 82 | run_metaflac \ |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 83 | --show-md5sum \ |
| 84 | --show-min-blocksize \ |
| 85 | --show-max-blocksize \ |
| 86 | --show-min-framesize \ |
| 87 | --show-max-framesize \ |
| 88 | --show-sample-rate \ |
| 89 | --show-channels \ |
| 90 | --show-bps \ |
| 91 | --show-total-samples \ |
| 92 | $flacfile |
| 93 | ) |
| 94 | check_exit |
| 95 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 96 | (set -x && run_metaflac --preserve-modtime --add-padding=12345 $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 97 | check_exit |
| 98 | check_flac |
| 99 | |
Josh Coalson | c6ea43b | 2002-10-26 04:28:11 +0000 | [diff] [blame] | 100 | # some flavors of /bin/sh (e.g. Darwin's) won't even handle quoted spaces, so we underscore: |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 101 | (set -x && run_metaflac --set-vc-field="ARTIST=The_artist_formerly_known_as_the_artist..." $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 102 | check_exit |
| 103 | check_flac |
| 104 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 105 | (set -x && run_metaflac --list --block-type=VORBIS_COMMENT $flacfile) |
Josh Coalson | c6ea43b | 2002-10-26 04:28:11 +0000 | [diff] [blame] | 106 | check_exit |
| 107 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 108 | (set -x && run_metaflac --set-vc-field="ARTIST=Chuck_Woolery" $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 109 | check_exit |
| 110 | check_flac |
| 111 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 112 | (set -x && run_metaflac --list --block-type=VORBIS_COMMENT $flacfile) |
Josh Coalson | c6ea43b | 2002-10-26 04:28:11 +0000 | [diff] [blame] | 113 | check_exit |
| 114 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 115 | (set -x && run_metaflac --list --block-type=VORBIS_COMMENT $flacfile) |
Josh Coalson | c6ea43b | 2002-10-26 04:28:11 +0000 | [diff] [blame] | 116 | check_exit |
| 117 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 118 | (set -x && run_metaflac --set-vc-field="ARTIST=Vern" $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 119 | check_exit |
| 120 | check_flac |
| 121 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 122 | (set -x && run_metaflac --list --block-type=VORBIS_COMMENT $flacfile) |
Josh Coalson | c6ea43b | 2002-10-26 04:28:11 +0000 | [diff] [blame] | 123 | check_exit |
| 124 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 125 | (set -x && run_metaflac --set-vc-field="TITLE=He_who_smelt_it_dealt_it" $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 126 | check_exit |
| 127 | check_flac |
| 128 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 129 | (set -x && run_metaflac --list --block-type=VORBIS_COMMENT $flacfile) |
Josh Coalson | c6ea43b | 2002-10-26 04:28:11 +0000 | [diff] [blame] | 130 | check_exit |
| 131 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 132 | (set -x && run_metaflac --show-vc-vendor --show-vc-field=ARTIST $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 133 | check_exit |
| 134 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 135 | (set -x && run_metaflac --remove-vc-firstfield=ARTIST $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 136 | check_exit |
| 137 | check_flac |
| 138 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 139 | (set -x && run_metaflac --list --block-type=VORBIS_COMMENT $flacfile) |
Josh Coalson | c6ea43b | 2002-10-26 04:28:11 +0000 | [diff] [blame] | 140 | check_exit |
| 141 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 142 | (set -x && run_metaflac --remove-vc-field=ARTIST $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 143 | check_exit |
| 144 | check_flac |
| 145 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 146 | (set -x && run_metaflac --list --block-type=VORBIS_COMMENT $flacfile) |
Josh Coalson | c6ea43b | 2002-10-26 04:28:11 +0000 | [diff] [blame] | 147 | check_exit |
| 148 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 149 | (set -x && run_metaflac --list --block-number=0 $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 150 | check_exit |
| 151 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 152 | (set -x && run_metaflac --list --block-number=1,2,999 $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 153 | check_exit |
| 154 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 155 | (set -x && run_metaflac --list --block-type=VORBIS_COMMENT,PADDING $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 156 | check_exit |
| 157 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 158 | (set -x && run_metaflac --list --except-block-type=SEEKTABLE,VORBIS_COMMENT $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 159 | check_exit |
| 160 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 161 | (set -x && run_metaflac --add-padding=4321 $flacfile $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 162 | check_exit |
| 163 | check_flac |
| 164 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 165 | (set -x && run_metaflac --merge-padding $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 166 | check_exit |
| 167 | check_flac |
| 168 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 169 | (set -x && run_metaflac --add-padding=0 $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 170 | check_exit |
| 171 | check_flac |
| 172 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 173 | (set -x && run_metaflac --sort-padding $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 174 | check_exit |
| 175 | check_flac |
| 176 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 177 | (set -x && run_metaflac --add-padding=0 $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 178 | check_exit |
| 179 | check_flac |
| 180 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 181 | (set -x && run_metaflac --remove-vc-all $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 182 | check_exit |
| 183 | check_flac |
| 184 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 185 | (set -x && run_metaflac --remove --block-number=1,99 --dont-use-padding $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 186 | check_exit |
| 187 | check_flac |
| 188 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 189 | (set -x && run_metaflac --remove --block-number=99 --dont-use-padding $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 190 | check_exit |
| 191 | check_flac |
| 192 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 193 | (set -x && run_metaflac --remove --block-type=PADDING $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 194 | check_exit |
| 195 | check_flac |
| 196 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 197 | (set -x && run_metaflac --remove --block-type=PADDING --dont-use-padding $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 198 | check_exit |
| 199 | check_flac |
| 200 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 201 | (set -x && run_metaflac --add-padding=0 $flacfile $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 202 | check_exit |
| 203 | check_flac |
| 204 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 205 | (set -x && run_metaflac --remove --except-block-type=PADDING $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 206 | check_exit |
| 207 | check_flac |
| 208 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 209 | (set -x && run_metaflac --remove-all $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 210 | check_exit |
| 211 | check_flac |
| 212 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 213 | (set -x && run_metaflac --remove-all --dont-use-padding $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 214 | check_exit |
| 215 | check_flac |
| 216 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 217 | (set -x && run_metaflac --remove-all --dont-use-padding $flacfile) |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 218 | check_exit |
| 219 | check_flac |
| 220 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 221 | (set -x && run_metaflac --set-vc-field="f=0123456789abcdefghij" $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 222 | check_exit |
| 223 | check_flac |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 224 | (set -x && run_metaflac --list --except-block-type=STREAMINFO $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 225 | check_exit |
Josh Coalson | 16a16e2 | 2002-06-15 05:14:04 +0000 | [diff] [blame] | 226 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 227 | (set -x && run_metaflac --remove-vc-all --set-vc-field="f=0123456789abcdefghi" $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 228 | check_exit |
| 229 | check_flac |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 230 | (set -x && run_metaflac --list --except-block-type=STREAMINFO $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 231 | check_exit |
| 232 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 233 | (set -x && run_metaflac --remove-vc-all --set-vc-field="f=0123456789abcde" $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 234 | check_exit |
| 235 | check_flac |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 236 | (set -x && run_metaflac --list --except-block-type=STREAMINFO $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 237 | check_exit |
| 238 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 239 | (set -x && run_metaflac --remove-vc-all --set-vc-field="f=0" $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 240 | check_exit |
| 241 | check_flac |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 242 | (set -x && run_metaflac --list --except-block-type=STREAMINFO $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 243 | check_exit |
| 244 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 245 | (set -x && run_metaflac --remove-vc-all --set-vc-field="f=0123456789" $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 246 | check_exit |
| 247 | check_flac |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 248 | (set -x && run_metaflac --list --except-block-type=STREAMINFO $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 249 | check_exit |
| 250 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 251 | (set -x && run_metaflac --remove-vc-all --set-vc-field="f=0123456789abcdefghi" $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 252 | check_exit |
| 253 | check_flac |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 254 | (set -x && run_metaflac --list --except-block-type=STREAMINFO $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 255 | check_exit |
| 256 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 257 | (set -x && run_metaflac --remove-vc-all --set-vc-field="f=0123456789" $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 258 | check_exit |
| 259 | check_flac |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 260 | (set -x && run_metaflac --list --except-block-type=STREAMINFO $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 261 | check_exit |
| 262 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 263 | (set -x && run_metaflac --remove-vc-all --set-vc-field="f=0123456789abcdefghij" $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 264 | check_exit |
| 265 | check_flac |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 266 | (set -x && run_metaflac --list --except-block-type=STREAMINFO $flacfile) |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 267 | check_exit |
| 268 | |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 269 | (set -x && echo "TITLE=Tittle" | run_metaflac --import-vc-from=- $flacfile) |
Josh Coalson | d4f6234 | 2002-09-05 05:38:22 +0000 | [diff] [blame] | 270 | check_exit |
| 271 | check_flac |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 272 | (set -x && run_metaflac --list --block-type=VORBIS_COMMENT $flacfile) |
Josh Coalson | d4f6234 | 2002-09-05 05:38:22 +0000 | [diff] [blame] | 273 | check_exit |
| 274 | |
| 275 | cat > vc.txt << EOF |
| 276 | artist=Fartist |
| 277 | artist=artits |
| 278 | EOF |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 279 | (set -x && run_metaflac --import-vc-from=vc.txt $flacfile) |
Josh Coalson | d4f6234 | 2002-09-05 05:38:22 +0000 | [diff] [blame] | 280 | check_exit |
| 281 | check_flac |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 282 | (set -x && run_metaflac --list --block-type=VORBIS_COMMENT $flacfile) |
Josh Coalson | d4f6234 | 2002-09-05 05:38:22 +0000 | [diff] [blame] | 283 | check_exit |
| 284 | |
| 285 | rm vc.txt |
| 286 | |
Josh Coalson | 3c75a39 | 2002-11-27 04:46:14 +0000 | [diff] [blame] | 287 | cs_in=cuesheets/good.000.cue |
| 288 | cs_out=metaflac.cue |
| 289 | cs_out2=metaflac2.cue |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 290 | (set -x && run_metaflac --import-cuesheet-from="$cs_in" $flacfile) |
Josh Coalson | 3c75a39 | 2002-11-27 04:46:14 +0000 | [diff] [blame] | 291 | check_exit |
| 292 | check_flac |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 293 | (set -x && run_metaflac --export-cuesheet-to=$cs_out $flacfile) |
Josh Coalson | 3c75a39 | 2002-11-27 04:46:14 +0000 | [diff] [blame] | 294 | check_exit |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 295 | (set -x && run_metaflac --remove --block-type=CUESHEET $flacfile) |
Josh Coalson | 3c75a39 | 2002-11-27 04:46:14 +0000 | [diff] [blame] | 296 | check_exit |
| 297 | check_flac |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 298 | (set -x && run_metaflac --import-cuesheet-from=$cs_out $flacfile) |
Josh Coalson | 3c75a39 | 2002-11-27 04:46:14 +0000 | [diff] [blame] | 299 | check_exit |
| 300 | check_flac |
Josh Coalson | 34c1ea8 | 2002-12-04 04:57:33 +0000 | [diff] [blame] | 301 | (set -x && run_metaflac --export-cuesheet-to=$cs_out2 $flacfile) |
Josh Coalson | 3c75a39 | 2002-11-27 04:46:14 +0000 | [diff] [blame] | 302 | check_exit |
| 303 | echo "comparing cuesheets:" |
Josh Coalson | 6218b34 | 2002-12-12 03:58:18 +0000 | [diff] [blame] | 304 | diff $cs_out $cs_out2 || die "ERROR, cuesheets should be identical" |
Josh Coalson | 3c75a39 | 2002-11-27 04:46:14 +0000 | [diff] [blame] | 305 | echo identical |
| 306 | |
| 307 | rm -f $cs_out $cs_out2 |
| 308 | |
Josh Coalson | 6b4dfd0 | 2003-01-11 06:23:16 +0000 | [diff] [blame] | 309 | echo -n "Testing FLAC file with unknown metadata... " |
| 310 | cp -p metaflac.flac.in $flacfile |
Josh Coalson | 43bb14d | 2003-01-16 07:21:20 +0000 | [diff] [blame] | 311 | # remove the VORBIS_COMMENT block so vendor string changes don't interfere with the comparison: |
| 312 | run_metaflac --remove --block-type=VORBIS_COMMENT --dont-use-padding $flacfile |
Josh Coalson | 6b4dfd0 | 2003-01-11 06:23:16 +0000 | [diff] [blame] | 313 | cmp $flacfile metaflac.flac.ok || die "ERROR, $flacfile and metaflac.flac.ok differ" |
| 314 | echo OK |
| 315 | |
Josh Coalson | daaf0a4 | 2002-06-18 05:25:41 +0000 | [diff] [blame] | 316 | exit 0 |