diff options
author | Marius Kintel <marius@kintel.net> | 2013-03-09 16:05:29 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2013-03-09 16:05:29 (GMT) |
commit | e868b4a5a178ceb6b340e16151b0f82ec322fc9a (patch) | |
tree | 49ed68a853999c832265b4dda856107b59f2dd5b /tests/test_cmdline_tool.py | |
parent | b308ec270d69ef2981b4c89a55f3549aecc9b603 (diff) | |
parent | a7ee238a51fbf0dc6b24b2cbfec0a3f82407175c (diff) |
Merge pull request #299 from openscad/testdriver-fix
Testdriver fix
Diffstat (limited to 'tests/test_cmdline_tool.py')
-rwxr-xr-x | tests/test_cmdline_tool.py | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/tests/test_cmdline_tool.py b/tests/test_cmdline_tool.py index 5314921..81a7795 100755 --- a/tests/test_cmdline_tool.py +++ b/tests/test_cmdline_tool.py @@ -28,22 +28,20 @@ import shutil import platform import string -share_expected_imgs = {} -share_expected_imgs["guicgalpngtest"] = "cgalpngtest" -share_expected_imgs["guiopencsgtest"] = "opencsgtest" - def initialize_environment(): if not options.generate: options.generate = bool(os.getenv("TEST_GENERATE")) return True def init_expected_filename(testname, cmd): global expecteddir, expectedfilename - testbinary_filename = os.path.split(cmd)[1] - if testbinary_filename in share_expected_imgs: - testbinary_filename = share_expected_imgs[testbinary_filename] - expecteddir = os.path.join(options.regressiondir, testbinary_filename ) + if hasattr(options, "expecteddir"): + expected_basename = options.expecteddir + else: + expected_basename = os.path.split(cmd)[1] + + expecteddir = os.path.join(options.regressiondir, expected_basename) expectedfilename = os.path.join(expecteddir, testname + "-expected." + options.suffix) - expectedfilename = os.path.normpath( expectedfilename ) + expectedfilename = os.path.normpath(expectedfilename) def verify_test(testname, cmd): global expectedfilename @@ -108,7 +106,7 @@ def compare_png(resultfilename): msg += '\n expected image: ' + expectedfilename + '\n' print >> sys.stderr, msg if not resultfilename: - print >> sys.stderr, "Error: OpenSCAD error during test image generation" + print >> sys.stderr, "Error: Error during test image generation" return False print >> sys.stderr, ' actual image: ', resultfilename @@ -152,6 +150,8 @@ def run_test(testname, cmd, args): try: if os.path.isfile(cmd+'.exe') and options.mingw_cross_env: cmdline = ['wine']+[cmd+'.exe'] + args + [outputname] + elif cmd[-4:].lower() == '.exe' and options.mingw_cross_env: + cmdline = ['wine']+[cmd] + args + [outputname] else: cmdline = [cmd] + args + [outputname] proc = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stderr=subprocess.PIPE) @@ -179,15 +179,17 @@ class Options: def usage(): print >> sys.stderr, "Usage: " + sys.argv[0] + " [<options>] <cmdline-tool> <argument>" print >> sys.stderr, "Options:" - print >> sys.stderr, " -g, --generate Generate expected output for the given tests" - print >> sys.stderr, " -s, --suffix=<suffix> Write -expected and -actual files with the given suffix instead of .txt" - print >> sys.stderr, " -t, --test=<name> Specify test name instead of deducting it from the argument" - print >> sys.stderr, " -c, --convexec=<name> Path to ImageMagick 'convert' executable" - print >> sys.stderr, " -x, --mingw-cross-env Mingw-cross-env cross compilation" + print >> sys.stderr, " -g, --generate Generate expected output for the given tests" + print >> sys.stderr, " -s, --suffix=<suffix> Write -expected and -actual files with the given suffix instead of .txt" + print >> sys.stderr, " -e, --expected-dir=<dir> Use -expected files from the given dir (to share files between test drivers)" + print >> sys.stderr, " -t, --test=<name> Specify test name instead of deducting it from the argument" + print >> sys.stderr, " -c, --convexec=<name> Path to ImageMagick 'convert' executable" + print >> sys.stderr, " -x, --mingw-cross-env Mingw-cross-env cross compilation" + if __name__ == '__main__': # Handle command-line arguments try: - opts, args = getopt.getopt(sys.argv[1:], "gs:c:t:m:x", ["generate", "convexec=", "suffix=", "test=", "comparator=", "mingw-cross-env"]) + opts, args = getopt.getopt(sys.argv[1:], "gs:e:c:t:m:x", ["generate", "convexec=", "suffix=", "expected_dir=", "test=", "comparator=", "mingw-cross-env"]) except getopt.GetoptError, err: usage() sys.exit(2) @@ -203,6 +205,8 @@ if __name__ == '__main__': elif o in ("-s", "--suffix"): if a[0] == '.': options.suffix = a[1:] else: options.suffix = a + elif o in ("-e", "--expected-dir"): + options.expecteddir = a elif o in ("-t", "--test"): options.testname = a elif o in ("-c", "--convexec"): |