diff options
| author | Ajax <commial@gmail.com> | 2015-04-02 13:12:25 +0200 |
|---|---|---|
| committer | Ajax <commial@gmail.com> | 2015-04-02 13:12:25 +0200 |
| commit | ecf1063ace17a55b49bf8abb40b79f7c640f017d (patch) | |
| tree | 2a426e0632625c99e22d002bfc65dd973205555b | |
| parent | 466d3bcb9ec045e35d827cb26fbee52b77fad069 (diff) | |
| download | miasm-ecf1063ace17a55b49bf8abb40b79f7c640f017d.tar.gz miasm-ecf1063ace17a55b49bf8abb40b79f7c640f017d.zip | |
TestAll: Add a "do-not-clean" option
| -rw-r--r-- | test/test_all.py | 5 | ||||
| -rw-r--r-- | test/utils/testset.py | 12 |
2 files changed, 14 insertions, 3 deletions
diff --git a/test/test_all.py b/test/test_all.py index ecf9a63b..e6a97f49 100644 --- a/test/test_all.py +++ b/test/test_all.py @@ -371,6 +371,8 @@ if __name__ == "__main__": parser.add_argument("-t", "--ommit-tags", help="Ommit tests based on tags \ (tag1,tag2). Available tags are %s. \ By default, no tag is ommited." % ", ".join(TAGS.keys()), default="") + parser.add_argument("-n", "--do-not-clean", + help="Do not clean tests products", action="store_true") args = parser.parse_args() ## Parse multiproc argument @@ -471,5 +473,8 @@ By default, no tag is ommited." % ", ".join(TAGS.keys()), default="") # Run tests testset.run() + # Finalize + testset.end(clean=not args.do_not_clean) + # Exit with an error if at least a test failed exit(testset.tests_passed()) diff --git a/test/utils/testset.py b/test/utils/testset.py index 92b5dfb0..97ebeb3d 100644 --- a/test/utils/testset.py +++ b/test/utils/testset.py @@ -208,7 +208,7 @@ class TestSet(object): "Launch tests" # Go in the right directory - current_directory = os.getcwd() + self.current_directory = os.getcwd() os.chdir(self.base_dir) # Launch workers @@ -237,11 +237,17 @@ class TestSet(object): for p in processes: p.join() + def end(self, clean=True): + """End a testset run + @clean: (optional) if set, remove tests products + PRE: run() + """ # Clean - self._clean() + if clean: + self._clean() # Restore directory - os.chdir(current_directory) + os.chdir(self.current_directory) def tests_passed(self): "Return a non zero value if at least one test failed" |