diff options
Diffstat (limited to 'osmopy/osmotestconfig.py')
-rw-r--r--[-rwxr-xr-x] | osmopy/osmotestconfig.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/osmopy/osmotestconfig.py b/osmopy/osmotestconfig.py index f04f534..8a18f84 100755..100644 --- a/osmopy/osmotestconfig.py +++ b/osmopy/osmotestconfig.py @@ -56,6 +56,7 @@ def test_config_atest(app_desc, config, run_test, verbose=True): except IOError as se: print >> sys.stderr, "Failed to verify %s" % ' '.join(cmd) + print >> sys.stderr, "Current directory: %s" % os.getcwd() print >> sys.stderr, "Error was %s" % se raise se @@ -147,7 +148,7 @@ def check_configs_tested(basedir, app_configs): def test_all_apps(apps, app_configs, tmpdir="writtenconfig", verbose=True, - rmtmp=False): + confpath=".", rmtmp=False): check_configs_tested("doc/examples/", app_configs) errors = 0 for app in apps: @@ -157,9 +158,10 @@ def test_all_apps(apps, app_configs, tmpdir="writtenconfig", verbose=True, configs = app_configs[app[3]] for config in configs: + config = os.path.join(confpath, config) errors |= test_config(app, config, tmpdir, verbose) - if rmtmp: + if rmtmp or not errors: remove_tmpdir(tmpdir) return errors @@ -169,6 +171,7 @@ if __name__ == '__main__': import argparse confpath = "." + wordir = "." parser = argparse.ArgumentParser() parser.add_argument("--e1nitb", action="store_true", dest="e1nitb") @@ -176,11 +179,17 @@ if __name__ == '__main__': action="store_true", help="verbose mode") parser.add_argument("-p", "--pythonconfpath", dest="p", help="searchpath for config") + parser.add_argument("-w", "--workdir", dest="w", + help="Working directory to run in") + args = parser.parse_args() if args.p: confpath = args.p + if args.w: + workdir = args.w + osmoappdesc = None try: osmoappdesc = osmoutil.importappconf(confpath, "osmoappdesc") @@ -194,4 +203,6 @@ if __name__ == '__main__': if args.e1nitb: configs['nitb'].extend(osmoappdesc.nitb_e1_configs) - sys.exit(test_all_apps(apps, configs, verbose=args.verbose)) + os.chdir(workdir) + sys.exit(test_all_apps(apps, configs, confpath=confpath, + verbose=args.verbose)) |