Unit tests for Cantera's Cython-based Python module. This script gathers all the tests defined 'cantera.test' module, runs them, and prints a report. """ from __future__ import print_function import sys import os cantera_root = os.getcwd().split(os.sep)[:-2] if sys.version_info[0] == 3: sys.path.insert(0, os.sep.join(cantera_root + ['build', 'python3'])) else: sys.path.insert(0, os.sep.join(cantera_root + ['build', 'python2'])) from cantera.test.utilities import unittest import cantera if __name__ == '__main__': print('\n* INFO: using Cantera module found at this location:') print('* ', repr(cantera.__file__), '\n') sys.stdout.flush() loader = unittest.TestLoader() runner = unittest.TextTestRunner(verbosity=2) suite = loader.loadTestsFromName('cantera.test') results = runner.run(suite) sys.exit(len(results.errors) + len(results.failures))
def addFailure(self, test, err): with open(self.outName, 'a') as f: f.write('FAIL: %s\n' % self.reformat(str(test))) unittest.TextTestResult.addFailure(self, test, err) def addError(self, test, err): with open(self.outName, 'a') as f: f.write('ERROR: %s\n' % self.reformat(str(test))) unittest.TextTestResult.addFailure(self, test, err) if __name__ == '__main__': print('\n* INFO: using Cantera module found at this location:') print('* ', repr(cantera.__file__), '\n') sys.stdout.flush() loader = unittest.TestLoader() runner = unittest.TextTestRunner(verbosity=2, resultclass=TestResult) suite = unittest.TestSuite() subsets = [] for name in sys.argv[1:]: subsets.append('cantera.test.test_' + name) if not subsets: subsets.append('cantera.test') suite = loader.loadTestsFromNames(subsets) results = runner.run(suite) sys.exit(len(results.errors) + len(results.failures))
if __name__ == '__main__': print('\n* INFO: using Cantera module found at this location:') print('* ', repr(cantera.__file__)) print('* INFO: Cantera version:', cantera.__version__) print('* INFO: Git commit:', cantera.__git_commit__, '\n') sys.stdout.flush() if len(sys.argv) > 1 and sys.argv[1] == "fast_fail": fast_fail = True subset_start = 2 else: fast_fail = False subset_start = 1 loader = unittest.TestLoader() runner = unittest.TextTestRunner( verbosity=2, resultclass=TestResult, failfast=fast_fail ) suite = unittest.TestSuite() subsets = [] for name in sys.argv[subset_start:]: subsets.append('cantera.test.test_' + name) if not subsets: subsets.append('cantera.test') suite = loader.loadTestsFromNames(subsets) results = runner.run(suite) sys.exit(len(results.errors) + len(results.failures))