[Bf-blender-cvs] [b5b34bc2c0a] master: Tests: Avoid access globals from abstract base class
Sergey Sharybin
noreply at git.blender.org
Fri Mar 2 11:23:16 CET 2018
Commit: b5b34bc2c0ae4004bd4f04a4f46a85f347a92214
Author: Sergey Sharybin
Date: Fri Mar 2 11:16:59 2018 +0100
Branches: master
https://developer.blender.org/rBb5b34bc2c0ae4004bd4f04a4f46a85f347a92214
Tests: Avoid access globals from abstract base class
Delegate functionality to subclasses, assert when subclasses didn't do
job the are supposed to do.
Thanks Sybren for pointing to a proper solution.
===================================================================
M tests/python/modules/test_utils.py
===================================================================
diff --git a/tests/python/modules/test_utils.py b/tests/python/modules/test_utils.py
index 489f36c913f..6ca498d8cdf 100755
--- a/tests/python/modules/test_utils.py
+++ b/tests/python/modules/test_utils.py
@@ -58,11 +58,10 @@ def with_tempdir(wrapped):
class AbstractBlenderRunnerTest(unittest.TestCase):
"""Base class for all test suites which needs to run Blender"""
- @classmethod
- def setUpClass(cls):
- global args
- cls.blender = args.blender
- cls.testdir = pathlib.Path(args.testdir)
+ # Set in a subclass
+ blender: pathlib.Path = None
+ testdir: pathlib.Path = None
+
def run_blender(self, filepath: str, python_script: str, timeout: int=300) -> str:
"""Runs Blender by opening a blendfile and executing a script.
@@ -73,6 +72,9 @@ class AbstractBlenderRunnerTest(unittest.TestCase):
:param timeout: in seconds
"""
+ assert self.blender, "Path to Blender binary is to be set in setUpClass()"
+ assert self.testdir, "Path to tests binary is to be set in setUpClass()"
+
blendfile = self.testdir / filepath
command = (
More information about the Bf-blender-cvs
mailing list