OpenStructure
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Functions
ost.testutils Namespace Reference

Functions

def RunTests
 
def SetDefaultCompoundLib
 

Function Documentation

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.