summaryrefslogtreecommitdiff
path: root/ffmpeg-fas/test/run_test.py
diff options
context:
space:
mode:
authorComment <tim@gray.(none)>2013-05-20 22:42:45 +0100
committerComment <tim@gray.(none)>2013-05-20 22:42:45 +0100
commit1099cec06b35a5b401a30fed9a13a5b448834b7e (patch)
treedd0a904d7a4114069d289056b5d71283f15ea2cc /ffmpeg-fas/test/run_test.py
parent7a3d7d2779a99fda5362ca341c965ddff826b2b7 (diff)
ffmpeg-fas
Diffstat (limited to 'ffmpeg-fas/test/run_test.py')
-rwxr-xr-xffmpeg-fas/test/run_test.py56
1 files changed, 56 insertions, 0 deletions
diff --git a/ffmpeg-fas/test/run_test.py b/ffmpeg-fas/test/run_test.py
new file mode 100755
index 0000000..38dbb21
--- /dev/null
+++ b/ffmpeg-fas/test/run_test.py
@@ -0,0 +1,56 @@
+#!/usr/bin/python
+
+import sys
+import os
+
+def readFilelist(filename):
+ try:
+ f = open(filename, 'r')
+ except:
+ return []
+ return [ele[:-1] for ele in f.readlines()]
+
+def create_filter_func(cmd, log_file):
+ if log_file == "":
+ return lambda filename : 0 == os.system(cmd + " " + filename)
+ else:
+ return lambda filename : 0 == os.system(cmd + " " + filename + " 2>> " + log_file)
+
+def write_filelist(files, filename):
+ f = open(filename, 'w')
+ for arg in files:
+ f.write(arg + '\n')
+ f.close()
+
+if __name__ == "__main__":
+ if len(sys.argv) < 3 or len(sys.argv) > 4:
+ print "Usage: " + sys.argv[0] + " <test_executable> <file_list>"
+ raise SystemExit
+
+
+ if not os.path.isfile(sys.argv[1]):
+ print sys.argv[1] + " not found"
+ raise SystemExit
+
+ cmd = sys.argv[1]
+ base_name = cmd.split('/')[-1]
+
+ success_file = base_name + ".pass"
+ fail_file = base_name + ".fail"
+
+ if len(sys.argv) == 4:
+ log_file = sys.argv[3]
+ if os.path.isfile(log_file):
+ os.system("rm " + log_file)
+ else:
+ log_file = ""
+
+ files = readFilelist(sys.argv[2])
+
+ filterfunc = create_filter_func(cmd, log_file)
+ successful = filter(filterfunc, files)
+ failed = list(set(files) - set(successful))
+
+ write_filelist(failed, fail_file)
+ write_filelist(successful, success_file)
+