|
OpenStructure
|
Functions | |
| def | RunTests |
| def | SetDefaultCompoundLib |
| def ost.testutils.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:
.. code-block:: python
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()
Definition at line 1 of file testutils.py.
| def ost.testutils.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
:ref:`configuring the compilation <cmake-flags>`.
It tries the following:
- get it with :func:`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 :func:`RunTests` call to read:
.. code-block:: python
if __name__ == "__main__":
from ost import testutils
if testutils.SetDefaultCompoundLib():
testutils.RunTests()
else:
print 'No compound library available. Ignoring test_XXX.py tests.'
:return: True, if a compound library was found and set to be accessed with
:func:`ost.conop.GetDefaultLib`. False otherwise.
Definition at line 57 of file testutils.py.
1.8.5