summaryrefslogtreecommitdiff
path: root/t/t0001-oggdec-correctness.bash
blob: c837745309e7402127bb200f36dabc6e78a11236 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/env bash

test_description='Check correctness of oggdec output.

Executes para_filter -f oggdec on the test files provided by the test
suite and compares the output against the output of the reference
implementation.'

. ${0%/*}/test-lib.bash

test_require_objects "oggdec_filter"
missing_objects="$result"

test_require_executables oggdec shasum
missing_executables="$result"

get_audio_file_paths ogg
oggs="$result"

for ogg in $oggs; do
	if [[ -n "$missing_objects" ]]; then
		test_skip "${ogg##*/}" "missing object(s): $missing_objects"
		continue
	fi
	if [[ -n "$missing_executables" ]]; then
		test_skip "${ogg##*/}" \
			"missing executables(s): $missing_executables"
		continue
	fi
	test_expect_success "${ogg##*/}" "
		$PARA_FILTER -f oggdec < $ogg | shasum > filter.sha &&
		oggdec --quiet --raw --output - -  < $ogg | shasum > oggdec.sha &&
		diff -u filter.sha oggdec.sha
	"
done
test_done