1226031Sstas#!/usr/bin/env python 2226031Sstas# -*- coding: utf-8 -*- 3226031Sstas# 4226031Sstas# Copyright 2020, Data61, CSIRO (ABN 41 687 119 230) 5226031Sstas# 6226031Sstas# SPDX-License-Identifier: BSD-2-Clause 7226031Sstas# 8226031Sstas 9226031Sstas""" 10226031SstasThis script is a quick way to execute the tests for all capdl-python modules. 11226031Sstas""" 12226031Sstas 13226031Sstasfrom __future__ import absolute_import, division, print_function, \ 14226031Sstas unicode_literals 15226031Sstasfrom concurrencytest import ConcurrentTestSuite, fork_for_tests 16226031Sstas 17226031Sstasimport argparse 18226031Sstasimport multiprocessing 19226031Sstasimport os 20226031Sstasimport sys 21226031Sstasimport unittest 22226031Sstas 23226031SstasME = os.path.abspath(__file__) 24226031Sstas 25226031Sstas 26226031Sstasdef main(argv): 27226031Sstas parser = argparse.ArgumentParser(prog=argv[0], 28226031Sstas description='Run capdl tests') 29226031Sstas parser.add_argument('--verbosity', '-v', default=1, type=int, 30226031Sstas help="Verbosity to run tests. 0 = quiet. 1 = default. 2 = verbose") 31226031Sstas options = parser.parse_args(argv[1:]) 32226031Sstas 33226031Sstas # load the tests we want to run 34226031Sstas loader = unittest.TestLoader() 35226031Sstas test_suite = unittest.TestSuite() 36226031Sstas print("Looking for tests in {0}".format(os.path.dirname(ME))) 37226031Sstas test_suite.addTests(loader.discover(os.path.dirname(ME), pattern="*.py")) 38226031Sstas 39226031Sstas concurrent_suite = ConcurrentTestSuite(test_suite, fork_for_tests(multiprocessing.cpu_count())) 40226031Sstas runner = unittest.TextTestRunner(verbosity=options.verbosity) 41226031Sstas result = runner.run(concurrent_suite) 42226031Sstas if result.wasSuccessful(): 43226031Sstas return 0 44226031Sstas return 1 45226031Sstas 46226031Sstas 47226031Sstasif __name__ == '__main__': 48226031Sstas sys.exit(main(sys.argv)) 49226031Sstas