From 23989a1c92f7b44337882198fa3b7e618c05fa4b Mon Sep 17 00:00:00 2001 From: Andrei Fokau Date: Wed, 25 Oct 2017 18:56:17 +0200 Subject: [PATCH] Support running tests via setup.py; install PyCrypto for testing. --- run_tests.py | 24 ++++++++++++++++++++---- setup.py | 2 ++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/run_tests.py b/run_tests.py index d99cfb56..627550fc 100755 --- a/run_tests.py +++ b/run_tests.py @@ -1,14 +1,22 @@ #!/usr/bin/env python3 +import argparse +import logging import unittest -if __name__ == '__main__': +logging.basicConfig(level=logging.DEBUG) +__log__ = logging.getLogger(__name__) + + +def test_suite(skip_network=False): from telethon_tests import \ CryptoTests, ParserTests, TLTests, UtilsTests, NetworkTests test_classes = [CryptoTests, ParserTests, TLTests, UtilsTests] - network = input('Run network tests (y/n)?: ').lower() == 'y' - if network: + if skip_network: + __log__.warning("Skipping network tests") + else: + __log__.info("Running with network tests") test_classes.append(NetworkTests) loader = unittest.TestLoader() @@ -18,7 +26,15 @@ if __name__ == '__main__': suite = loader.loadTestsFromTestCase(test_class) suites_list.append(suite) - big_suite = unittest.TestSuite(suites_list) + return unittest.TestSuite(suites_list) + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('-n,--skip-network', dest='skip_network', + action='store_true') + args = parser.parse_args() + + big_suite = test_suite(skip_network=args.skip_network) runner = unittest.TextTestRunner() results = runner.run(big_suite) diff --git a/setup.py b/setup.py index 3f8ee7a6..4885d5ae 100755 --- a/setup.py +++ b/setup.py @@ -133,6 +133,8 @@ def main(): 'telethon_generator', 'telethon_tests', 'run_tests.py', 'try_telethon.py' ]), + test_suite='run_tests.test_suite', + tests_require=['PyCrypto'], install_requires=['pyaes', 'rsa'] )