From 51dc2266063988b3268ccfba2b0b68ef8046cc1a Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Mon, 20 Sep 2004 17:25:37 +0000 Subject: [PATCH] Merged 2188 --- tests/results.txt | 14 +++++++ tests/run.rb | 63 ++++++++++++++++++---------- tests/test-035X_vfw_video.rb | 12 ++++++ tests/test-036X_mp3.rb | 12 ++++++ tests/test-037X_aac.rb | 12 ++++++ tests/test-038X_ac3.rb | 12 ++++++ tests/test-039X_flac.rb | 12 ++++++ tests/test-040X_oggflac.rb | 12 ++++++ tests/test-041X_mp2.rb | 12 ++++++ tests/test-042X_vorbis.rb | 12 ++++++ tests/test-043X_wav.rb | 12 ++++++ tests/test-044X_srt.rb | 12 ++++++ tests/test-045X_ssa.rb | 12 ++++++ tests/test-046X_chapters.rb | 13 ++++++ tests/test-047X_tags.rb | 13 ++++++ tests/test-048X_chapters_ogmstyle.rb | 13 ++++++ 16 files changed, 225 insertions(+), 23 deletions(-) create mode 100644 tests/test-035X_vfw_video.rb create mode 100644 tests/test-036X_mp3.rb create mode 100644 tests/test-037X_aac.rb create mode 100644 tests/test-038X_ac3.rb create mode 100644 tests/test-039X_flac.rb create mode 100644 tests/test-040X_oggflac.rb create mode 100644 tests/test-041X_mp2.rb create mode 100644 tests/test-042X_vorbis.rb create mode 100644 tests/test-043X_wav.rb create mode 100644 tests/test-044X_srt.rb create mode 100644 tests/test-045X_ssa.rb create mode 100644 tests/test-046X_chapters.rb create mode 100644 tests/test-047X_tags.rb create mode 100644 tests/test-048X_chapters_ogmstyle.rb diff --git a/tests/results.txt b/tests/results.txt index 3ddd40281..959a01bcb 100644 --- a/tests/results.txt +++ b/tests/results.txt @@ -30,4 +30,18 @@ T_029link:b3076d997bcdb4202de374ba77a2a5c6:passed:20040825-235039 T_032cues:2d852a5c1ee169ddc713318c86a0b616:passed:20040825-235040 T_033timecode_scale:ba6bc8dff27d7d9fd433670067fa716d-d54414d993caad6cea47ef7913cb13db:passed:20040825-235040 T_034ac3misdetected_as_mp2:f6765afb6d86ae09e0859f32ba65ced4:passed:20040920-100447 +T_035X_vfw_video:8b5ff6d70e8ac38e9f037f5baf4f0a04:passed:20040920-185358 +T_036X_mp3:b3bb67d316e20da12926d5c1d628f6e5:passed:20040920-190109 +T_037X_aac:66ccc4dde4eb9b3109b810b5a2be99ee:passed:20040920-190110 +T_038X_ac3:6ca341797c5f93e273c8502f4d6f4fba:passed:20040920-185449 +T_039X_flac:e0d2c003502fd5eddfc71f63d62b8072:passed:20040920-185252 +T_040X_oggflac:7ccf555651573104a8af2ab98a89f400:passed:20040920-190111 +T_041X_mp2:a2b37e3016b664cf96f75fa27d23b997:passed:20040920-190645 +T_042X_vorbis:f9f1da1ae997494a7377a2667f453f96:passed:20040920-190645 +T_043X_wav:4484dfcd1a07358fd0d6be8aed81af00:passed:20040920-190646 +T_044X_srt:e811bbfaa7fabc16d14310db3092dbe3:passed:20040920-190646 +T_045X_ssa:702cb49d23f4d1985471c1dc46053576:passed:20040920-190646 +T_046X_chapters:f240df9a576de2cc683e1f4ef0fa6e23:passed:20040920-192348 +T_047X_tags:3f151ff52e43ed1df3c173e5b0c78ee2:passed:20040920-192348 +T_048X_chapters_ogmstyle:5ecb42d20d78b4f73fc2340a2e4f0803:passed:20040920-192349 T_200mp2_from_mp4:d8b1beaaec801d787389ff210b605948:passed:20040917-185156 diff --git a/tests/run.rb b/tests/run.rb index 6658a6899..44319dc58 100755 --- a/tests/run.rb +++ b/tests/run.rb @@ -36,7 +36,9 @@ class Test def sys(command, *arg) @commands.push(command) - if (!system(command + " &> /dev/null")) + command += "&> /dev/null" unless (command =~ />/) + puts("[running #{command}]") if (ENV["DEBUG"] == "yes") + if (!system(command)) if ((arg.size == 0) || ((arg[0] << 8) != $?)) error("system command failed: #{command} (" + ($? >> 8).to_s + ")") end @@ -55,6 +57,7 @@ class Test end def hash_file(name) + puts("[running md5sum #{name}]") if (ENV["DEBUG"] == "yes") return `md5sum #{name}`.chomp.gsub(/\s+.*/, "") end @@ -66,6 +69,42 @@ class Test end return output end + + def merge(*args) + command = "../src/mkvmerge --engage no_variable_data " + string_args = Array.new + retcode = 0 + args.each do |a| + if (a.class == String) + string_args.push(a) + else + retcode = a + end + end + + if ((string_args.size == 0) or (string_args.size > 2)) + raise "Wrong use of the 'merge' function." + elsif (string_args.size == 1) + command += "-o " + tmp + " " + string_args[0] + else + command += "-o " + string_args[0] + " " + string_args[1] + end + sys(command, retcode) + end + + def xtr_tracks_s(*args) + command = "../src/mkvextract tracks data/mkv/complex.mkv " + command += args.join(" ") + command += ":#{tmp}" + sys(command, 0) + return hash_tmp + end + + def xtr_tracks(*args) + command = "../src/mkvextract tracks " + command += args.join(" ") + sys(command, 0) + end end class Results @@ -134,28 +173,6 @@ class Results end end -def merge(*args) - command = "../src/mkvmerge --engage no_variable_data " - string_args = Array.new - retcode = 0 - args.each do |a| - if (a.class == String) - string_args.push(a) - else - retcode = a - end - end - - if ((string_args.size == 0) or (string_args.size > 2)) - raise "Wrong use of the 'merge' function." - elsif (string_args.size == 1) - command += "-o " + tmp + " " + string_args[0] - else - command += "-o " + string_args[0] + " " + string_args[1] - end - sys(command, retcode) -end - def main ENV['LC_ALL'] = "en_US.ISO-8859-1" diff --git a/tests/test-035X_vfw_video.rb b/tests/test-035X_vfw_video.rb new file mode 100644 index 000000000..0587cf407 --- /dev/null +++ b/tests/test-035X_vfw_video.rb @@ -0,0 +1,12 @@ +#!/usr/bin/ruby -w + +class T_035X_vfw_video < Test + def description + return "mkvextract / Video (V_MS/VFW/FOURCC) to AVI / out(AVI)" + end + + def run + return xtr_tracks_s(1) + end +end + diff --git a/tests/test-036X_mp3.rb b/tests/test-036X_mp3.rb new file mode 100644 index 000000000..0adf5405c --- /dev/null +++ b/tests/test-036X_mp3.rb @@ -0,0 +1,12 @@ +#!/usr/bin/ruby -w + +class T_036X_mp3 < Test + def description + return "mkvextract / raw MP3 / out(MP3)" + end + + def run + return xtr_tracks_s(2) + end +end + diff --git a/tests/test-037X_aac.rb b/tests/test-037X_aac.rb new file mode 100644 index 000000000..39a418e56 --- /dev/null +++ b/tests/test-037X_aac.rb @@ -0,0 +1,12 @@ +#!/usr/bin/ruby -w + +class T_037X_aac < Test + def description + return "mkvextract / AAC with ADTS headers / out(AAC)" + end + + def run + return xtr_tracks_s(3) + end +end + diff --git a/tests/test-038X_ac3.rb b/tests/test-038X_ac3.rb new file mode 100644 index 000000000..ea88ad828 --- /dev/null +++ b/tests/test-038X_ac3.rb @@ -0,0 +1,12 @@ +#!/usr/bin/ruby -w + +class T_038X_ac3 < Test + def description + return "mkvextract / raw AC3 / out(AC3)" + end + + def run + return xtr_tracks_s(4) + end +end + diff --git a/tests/test-039X_flac.rb b/tests/test-039X_flac.rb new file mode 100644 index 000000000..e9cf03c8e --- /dev/null +++ b/tests/test-039X_flac.rb @@ -0,0 +1,12 @@ +#!/usr/bin/ruby -w + +class T_039X_flac < Test + def description + return "mkvextract / FLAC (native) / out(FLAC)" + end + + def run + return xtr_tracks_s("--no-ogg", 5) + end +end + diff --git a/tests/test-040X_oggflac.rb b/tests/test-040X_oggflac.rb new file mode 100644 index 000000000..e411443b4 --- /dev/null +++ b/tests/test-040X_oggflac.rb @@ -0,0 +1,12 @@ +#!/usr/bin/ruby -w + +class T_040X_oggflac < Test + def description + return "mkvextract / FLAC to OggFLAC / out(OggFLAC)" + end + + def run + return xtr_tracks_s(5) + end +end + diff --git a/tests/test-041X_mp2.rb b/tests/test-041X_mp2.rb new file mode 100644 index 000000000..4ac69bb0f --- /dev/null +++ b/tests/test-041X_mp2.rb @@ -0,0 +1,12 @@ +#!/usr/bin/ruby -w + +class T_041X_mp2 < Test + def description + return "mkvextract / raw MP2 / out(MP2)" + end + + def run + return xtr_tracks_s(6) + end +end + diff --git a/tests/test-042X_vorbis.rb b/tests/test-042X_vorbis.rb new file mode 100644 index 000000000..78654746d --- /dev/null +++ b/tests/test-042X_vorbis.rb @@ -0,0 +1,12 @@ +#!/usr/bin/ruby -w + +class T_042X_vorbis < Test + def description + return "mkvextract / Vorbis to Ogg / out(OggVorbis)" + end + + def run + return xtr_tracks_s(7) + end +end + diff --git a/tests/test-043X_wav.rb b/tests/test-043X_wav.rb new file mode 100644 index 000000000..4c426d023 --- /dev/null +++ b/tests/test-043X_wav.rb @@ -0,0 +1,12 @@ +#!/usr/bin/ruby -w + +class T_043X_wav < Test + def description + return "mkvextract / PCM to WAV / out(WAV)" + end + + def run + return xtr_tracks_s(8) + end +end + diff --git a/tests/test-044X_srt.rb b/tests/test-044X_srt.rb new file mode 100644 index 000000000..b9b1bf689 --- /dev/null +++ b/tests/test-044X_srt.rb @@ -0,0 +1,12 @@ +#!/usr/bin/ruby -w + +class T_044X_srt < Test + def description + return "mkvextract / SRT text subs / out(SRT)" + end + + def run + return xtr_tracks_s(9) + end +end + diff --git a/tests/test-045X_ssa.rb b/tests/test-045X_ssa.rb new file mode 100644 index 000000000..091fa97af --- /dev/null +++ b/tests/test-045X_ssa.rb @@ -0,0 +1,12 @@ +#!/usr/bin/ruby -w + +class T_045X_ssa < Test + def description + return "mkvextract / SSA subs / out(SSA)" + end + + def run + return xtr_tracks_s(10) + end +end + diff --git a/tests/test-046X_chapters.rb b/tests/test-046X_chapters.rb new file mode 100644 index 000000000..3d6f7d980 --- /dev/null +++ b/tests/test-046X_chapters.rb @@ -0,0 +1,13 @@ +#!/usr/bin/ruby -w + +class T_046X_chapters < Test + def description + return "mkvextract / chapters / out(XML)" + end + + def run + sys("../src/mkvextract chapters data/mkv/complex.mkv &> #{tmp}") + return hash_tmp + end +end + diff --git a/tests/test-047X_tags.rb b/tests/test-047X_tags.rb new file mode 100644 index 000000000..3fba9bc4d --- /dev/null +++ b/tests/test-047X_tags.rb @@ -0,0 +1,13 @@ +#!/usr/bin/ruby -w + +class T_047X_tags < Test + def description + return "mkvextract / tags / out(XML)" + end + + def run + sys("../src/mkvextract tags data/mkv/complex.mkv &> #{tmp}") + return hash_tmp + end +end + diff --git a/tests/test-048X_chapters_ogmstyle.rb b/tests/test-048X_chapters_ogmstyle.rb new file mode 100644 index 000000000..642fee24b --- /dev/null +++ b/tests/test-048X_chapters_ogmstyle.rb @@ -0,0 +1,13 @@ +#!/usr/bin/ruby -w + +class T_048X_chapters_ogmstyle < Test + def description + return "mkvextract / chapters (OGM style) / out(TXT)" + end + + def run + sys("../src/mkvextract chapters data/mkv/complex.mkv -s &> #{tmp}") + return hash_tmp + end +end +