Merged 1996

This commit is contained in:
Moritz Bunkus 2004-08-19 19:37:07 +00:00
parent 9ad679db3b
commit 9c61fce553
11 changed files with 182 additions and 4 deletions

24
tests/new_test Executable file
View File

@ -0,0 +1,24 @@
#!/bin/sh
if [ "$1" == "" ]; then
echo 'Name?'
exit 1
fi
N=`echo $1 | sed -e 's/\.rb//'`
cat > test-$N.rb <<EOF
#!/usr/bin/ruby -w
class T_${1} < Test
def initialize
@description = "INSERT DESCRIPTION"
end
def run
# INSERT COMMANDS
return nil
end
end
EOF
chmod +x test-$N.rb

View File

@ -1,7 +1,15 @@
T_001mp3:defa82b22a7ad558d5d3a75ec53297fc:passed
T_002aac:87ed03942cb053bc32cae5e257a1bd0e:passed
T_003ac3:23b2e90aa92489116d47e98fa7234e52:passed
T_004aacmp4:c633509cd6c25b720fcb3c8e7efd3343:new
T_004aacmp4:c633509cd6c25b720fcb3c8e7efd3343:passed
T_005flac:d7a51f3f703a3469c4d9bd481c32de5c:passed
T_006oggflac:5ef6c9831164346f8d1e0d3258d93ef7:passed
T_007oggvorbis:23126cb920fe1eccd3741c542aa39f2d:passed
T_008avi_divx3_mp3:0b2557b32bb9b627187aaaa73c530bc2:passed
T_009realvideo_3:92ab5fb3fe82b71a806f6b24b9ed8a9b:passed
T_010realvideo_4:ba6d745eed67937183f619251a7471bd:passed
T_011srt:9832b76a3ccc57ef115bbc3794c95027:passed
T_012ssa:d4df338adc32ca76fbff08a62e8de3f5:passed
T_013vobsubs:424f0b6d9dca1b8b7e34320b5ff832c3:passed
T_014splitting_by_size:ad00f65bd27bdf110b15adfc87365b8b-5a6e6eeea02af14a78361a7032228c2a:passed
T_015splitting_by_time:ad00f65bd27bdf110b15adfc87365b8b-5a6e6eeea02af14a78361a7032228c2a:passed

View File

@ -5,6 +5,7 @@ class Test
def initialize
@description = "dummy test class"
@tmp_num = 0
end
def run
@ -15,6 +16,10 @@ class Test
begin
return run
rescue
n = "mkvtoolnix-auto-test-" + $$.to_s + "-"
Dir.entries("/tmp").each do |e|
File.unlink("/tmp/#{e}") if (e =~ /^#{n}/)
end
return nil
end
end
@ -32,12 +37,19 @@ class Test
end
end
def tmp_name
@tmp_num ||= 0
@tmp_num += 1
return "/tmp/mkvtoolnix-auto-test-" + $$.to_s + "-" + @tmp_num.to_s
end
def tmp
@tmp ||= "/tmp/mkvtoolnix-auto-test-" + $$.to_s
@tmp ||= tmp_name
return @tmp
end
def hash_file(name)
return `md5sum #{file}`.chomp.gsub(/\s+.*/, "")
return `md5sum #{name}`.chomp.gsub(/\s+.*/, "")
end
def hash_tmp(erase = true)
@ -120,6 +132,7 @@ def main
num_tests = 0
num_failed = 0
start = Time.now
Dir.entries(".").sort.each do |entry|
next unless (FileTest.file?(entry) and (entry =~ /^test-.*\.rb$/))
@ -168,12 +181,16 @@ def main
results.set(class_name, "passed")
end
else
puts(" FAILED: no result from test")
results.set(class_name, "failed")
num_failed += 1
end
end
duration = Time.now - start
puts("#{num_failed}/#{num_tests} failed (" +
(num_tests > 0 ? (num_failed * 100 / num_tests).to_s : "0") + "%)")
(num_tests > 0 ? (num_failed * 100 / num_tests).to_s : "0") + "%). " +
"Tests took #{duration}s.")
exit(num_failed > 0 ? 1 : 0)
end

13
tests/test-008avi_divx3_mp3.rb Executable file
View File

@ -0,0 +1,13 @@
#!/usr/bin/ruby -w
class T_008avi_divx3_mp3 < Test
def initialize
@description = "mkvmerge / audio and video / in(divx3 + mp3 from AVI)"
end
def run
sys("mkvmerge --engage no_variable_data -o " + tmp + " data/v.avi")
return hash_tmp
end
end

13
tests/test-009realvideo_3.rb Executable file
View File

@ -0,0 +1,13 @@
#!/usr/bin/ruby -w
class T_009realvideo_3 < Test
def initialize
@description = "mkvmerge / audio and video / in(RealVideo 3 and RealAudio)"
end
def run
sys("mkvmerge --engage no_variable_data -o " + tmp + " data/rv3.rm")
return hash_tmp
end
end

13
tests/test-010realvideo_4.rb Executable file
View File

@ -0,0 +1,13 @@
#!/usr/bin/ruby -w
class T_010realvideo_4 < Test
def initialize
@description = "mkvmerge / audio and video / in(RealVideo 4 and RealAudio)"
end
def run
sys("mkvmerge --engage no_variable_data -o " + tmp + " data/rv4.rm")
return hash_tmp
end
end

13
tests/test-011srt.rb Executable file
View File

@ -0,0 +1,13 @@
#!/usr/bin/ruby -w
class T_011srt < Test
def initialize
@description = "mkvmerge / subtitles / in(SRT)"
end
def run
sys("mkvmerge --engage no_variable_data -o " + tmp + " data/vde.srt")
return hash_tmp
end
end

13
tests/test-012ssa.rb Executable file
View File

@ -0,0 +1,13 @@
#!/usr/bin/ruby -w
class T_012ssa < Test
def initialize
@description = "mkvmerge / subtitles / in(SSA)"
end
def run
sys("mkvmerge --engage no_variable_data -o " + tmp + " data/fe.ssa")
return hash_tmp
end
end

14
tests/test-013vobsubs.rb Executable file
View File

@ -0,0 +1,14 @@
#!/usr/bin/ruby -w
class T_013vobsubs < Test
def initialize
@description = "mkvmerge / subtitles / in(VobSub)"
end
def run
sys("mkvmerge --engage no_variable_data -o " + tmp +
" data/ally1-short.idx")
return hash_tmp
end
end

View File

@ -0,0 +1,25 @@
#!/usr/bin/ruby -w
class T_014splitting_by_size < Test
def initialize
@description = "mkvmerge / splitting by file size / in(AVI)"
end
def run
sys("mkvmerge --engage no_variable_data -o " + tmp + "-%03d " +
"--split-max-files 2 --split 4m data/v.avi")
if (!FileTest.exist?(tmp + "-001"))
error("First split file does not exist.")
end
if (!FileTest.exist?(tmp + "-002"))
File.unlink(tmp + "-001")
error("Second split file does not exist.")
end
hash = hash_file(tmp + "-001") + "-" + hash_file(tmp + "-002")
File.unlink(tmp + "-001")
File.unlink(tmp + "-002")
return hash
end
end

View File

@ -0,0 +1,25 @@
#!/usr/bin/ruby -w
class T_015splitting_by_time < Test
def initialize
@description = "mkvmerge / splitting by time / in(AVI)"
end
def run
sys("mkvmerge --engage no_variable_data -o " + tmp + "-%03d " +
"--split-max-files 2 --split 20s data/v.avi")
if (!FileTest.exist?(tmp + "-001"))
error("First split file does not exist.")
end
if (!FileTest.exist?(tmp + "-002"))
File.unlink(tmp + "-001")
error("Second split file does not exist.")
end
hash = hash_file(tmp + "-001") + "-" + hash_file(tmp + "-002")
File.unlink(tmp + "-001")
File.unlink(tmp + "-002")
return hash
end
end