Support running tests via setup.py; install PyCrypto for testing.

This commit is contained in:
Andrei Fokau 2017-10-25 18:56:17 +02:00
parent ef794bf75d
commit 23989a1c92
No known key found for this signature in database
GPG Key ID: F2BC8AF1CE23A98E
2 changed files with 22 additions and 4 deletions

View File

@ -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)

View File

@ -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']
)