testutils – Utils for Running Python Unittests
-
RunTests ()
This function behaves as a custom TestLoader for python unittests.
With no system arguments, the default unittest TestRunner is used.
If the first system argument (sys.argv[1]) is set to ‘xml’, a XMLTestRunner
is used, which produces a JUnit compatible XML output file. Within the current
module, each function is identified which is a subclass of unittest.TestCase
and for each TestCase, a test suite is executed, producing an individual
output file for each TestCase. The output file has the name,
‘PYTEST-<TestCaseName>.xml’.
Example of a Python testcase:
import unittest
class TestRenumber(unittest.TestCase):
def setUp(self):
# prepare stuff"
pass
def testSomeFunction(self):
# do some asserts
pass
if __name__ == "__main__":
from ost import testutils
testutils.RunTests()
-
SetDefaultCompoundLib ()
This function tries to ensure that a default compound library is set.
When calling scripts with ost this is not needed, but since unit tests are
called with python we need to ensure that it is set. The function is only
expected to succeed (and return True) if COMPOUND_LIB was set when
configuring the compilation.
It tries the following:
- get it with
ost.conop.GetDefaultLib()
- look for
compounds.chemlib in $OST_ROOT/share/openstructure
- if
OST_ROOT not set in the above, try to guess it based on the path of
the conop module
To use this check modify the RunTests() call to read:
if __name__ == "__main__":
from ost import testutils
if testutils.SetDefaultCompoundLib():
testutils.RunTests()
else:
print 'No compound library available. Ignoring test_XXX.py tests.'
|