import os
import sys
import unittest
import coverage
import warnings
cur_path = os.path.abspath(os.path.dirname(__file__))
sys.path.append(os.path.join(cur_path))
src_path = os.path.join(cur_path, '..', '..', 'deploy', 'action')
sys.path.append(src_path)
cov = coverage.coverage(branch=True,
source=[src_path],
omit=["__init__.py", "test_*", "*config.py", "*log.py", "*constant.py"])
warnings.filterwarnings("ignore", category=SyntaxWarning)
def main():
cov.start()
suite = unittest.TestLoader().discover(cur_path, pattern="test_*.py")
runner = unittest.TextTestRunner(verbosity=2)
result = runner.run(suite)
cov.stop()
cov.save()
cov.report()
cov.xml_report(outfile=os.path.join(cur_path, 'coverage.xml'))
return result.wasSuccessful()
if __name__ == '__main__':
ret = main()
sys.exit(0 if ret else 1)