diff options
| author | 2023-10-03 18:31:58 -0400 | |
|---|---|---|
| committer | 2023-10-03 18:31:58 -0400 | |
| commit | b8758ecd073910ce3220b2e68399147b425c37b8 (patch) | |
| tree | d6aee20213508c8f425cbacb3d714367eca904c5 /test/test_postprocessor.py | |
| parent | e2f67519f8c1750a71aab3dc56b8345fff21bac5 (diff) | |
New upstream version 1.26.0.upstream/1.26.0
Diffstat (limited to 'test/test_postprocessor.py')
| -rw-r--r-- | test/test_postprocessor.py | 42 |
1 files changed, 38 insertions, 4 deletions
diff --git a/test/test_postprocessor.py b/test/test_postprocessor.py index 554a51e..c00144e 100644 --- a/test/test_postprocessor.py +++ b/test/test_postprocessor.py @@ -102,10 +102,10 @@ class BasePostprocessorTest(unittest.TestCase): pp = postprocessor.find(self.__class__.__name__[:-4].lower()) return pp(self.job, options) - def _trigger(self, events=None, *args): + def _trigger(self, events=None): for event in (events or ("prepare", "file")): for callback in self.job.hooks[event]: - callback(self.pathfmt, *args) + callback(self.pathfmt) class ClassifyTest(BasePostprocessorTest): @@ -579,6 +579,40 @@ class MtimeTest(BasePostprocessorTest): self.assertEqual(self.pathfmt.kwdict["_mtime"], 315532800) +class PythonTest(BasePostprocessorTest): + + def test_module(self): + path = os.path.join(self.dir.name, "module.py") + self._write_module(path) + + sys.path.insert(0, self.dir.name) + try: + self._create({"function": "module:calc"}, {"_value": 123}) + finally: + del sys.path[0] + + self.assertNotIn("_result", self.pathfmt.kwdict) + self._trigger() + self.assertEqual(self.pathfmt.kwdict["_result"], 246) + + def test_path(self): + path = os.path.join(self.dir.name, "module.py") + self._write_module(path) + + self._create({"function": path + ":calc"}, {"_value": 12}) + + self.assertNotIn("_result", self.pathfmt.kwdict) + self._trigger() + self.assertEqual(self.pathfmt.kwdict["_result"], 24) + + def _write_module(self, path): + with open(path, "w") as fp: + fp.write(""" +def calc(kwdict): + kwdict["_result"] = kwdict["_value"] * 2 +""") + + class ZipTest(BasePostprocessorTest): def test_zip_default(self): @@ -645,7 +679,7 @@ class ZipTest(BasePostprocessorTest): self.assertEqual(len(pp.zfile.NameToInfo), 4) # close file - self._trigger(("finalize",), 0) + self._trigger(("finalize",)) # reopen to check persistence with zipfile.ZipFile(pp.zfile.filename) as file: @@ -678,7 +712,7 @@ class ZipTest(BasePostprocessorTest): self._trigger() # close file - self._trigger(("finalize",), 0) + self._trigger(("finalize",)) self.assertEqual(pp.zfile.write.call_count, 3) for call in pp.zfile.write.call_args_list: |
