Index: tools/telemetry/third_party/coverage/tests/goldtest.py |
diff --git a/tools/telemetry/third_party/coverage/tests/goldtest.py b/tools/telemetry/third_party/coverage/tests/goldtest.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4ad4742423c42805acc0e3c4a99c34d1d64c9700 |
--- /dev/null |
+++ b/tools/telemetry/third_party/coverage/tests/goldtest.py |
@@ -0,0 +1,42 @@ |
+# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 |
+# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt |
+ |
+"""A test base class for tests based on gold file comparison.""" |
+ |
+import os |
+import sys |
+ |
+from tests.coveragetest import CoverageTest |
+ |
+from coverage.test_helpers import change_dir # pylint: disable=unused-import |
+from tests.test_farm import clean |
+# Import helpers, eventually test_farm.py will go away. |
+from tests.test_farm import ( # pylint: disable=unused-import |
+ compare, contains, doesnt_contain, contains_any, |
+) |
+ |
+ |
+class CoverageGoldTest(CoverageTest): |
+ """A test based on gold files.""" |
+ |
+ run_in_temp_dir = False |
+ |
+ def setUp(self): |
+ super(CoverageGoldTest, self).setUp() |
+ self.chdir(self.root_dir) |
+ # Modules should be importable from the current directory. |
+ sys.path.insert(0, '') |
+ |
+ def output_dir(self, the_dir): |
+ """Declare where the output directory is. |
+ |
+ The output directory is deleted at the end of the test, unless the |
+ COVERAGE_KEEP_OUTPUT environment variable is set. |
+ |
+ """ |
+ self.addCleanup(self.cleanup_output_dir, the_dir) |
+ |
+ def cleanup_output_dir(self, the_dir): |
+ """Clean up the output directory of the test.""" |
+ if not os.environ.get("COVERAGE_KEEP_OUTPUT"): # pragma: partial |
+ clean(the_dir) |