From fb7ec7c9ab38e171bc70f52436abff285ef461a6 Mon Sep 17 00:00:00 2001 From: zanefisher Date: Mon, 22 Jul 2013 17:15:30 -0400 Subject: [PATCH 1/5] Revert "Remove logging to stdout." This reverts commit 5c222797d75bb41947c2b95695045f77f9d554ee. --- tuf/log.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tuf/log.py b/tuf/log.py index 7d6e5a6b..a21fb1e3 100755 --- a/tuf/log.py +++ b/tuf/log.py @@ -52,6 +52,14 @@ _FORMAT_STRING = "[%(asctime)s] [%(name)s] [%(levelname)s] [%(funcName)s:%(lineno)s@%(filename)s] %(message)s" formatter = logging.Formatter(_FORMAT_STRING) +# Set the handlers for the logger. +# The built-in stream handler will log +# messages to 'sys.stderr' and capture +# '_DEFAULT_LOG_LEVEL' messages. +stream_handler = logging.StreamHandler() +stream_handler.setLevel(_DEFAULT_LOG_LEVEL) +stream_handler.setFormatter(formatter) + # Set the built-in file handler. Messages # will be logged to '_DEFAULT_LOG_FILENAME' # and use the logger's default log level. @@ -62,6 +70,7 @@ # Set the logger and its settings. logger = logging.getLogger('tuf') logger.setLevel(_DEFAULT_LOG_LEVEL) +logger.addHandler(stream_handler) logger.addHandler(file_handler) # Silently ignore logger exceptions. @@ -94,3 +103,4 @@ def set_log_level(log_level): """ logger.setLevel(log_level) + stream_handler.setLevel(log_level) From 13b418a00816cac5f0b4ab3635b15e110b001247 Mon Sep 17 00:00:00 2001 From: zanefisher Date: Tue, 23 Jul 2013 15:09:33 -0400 Subject: [PATCH 2/5] Revert "Print, and log, messages in command-line utilities." --- tuf/repo/signercli.py | 20 ++++---------------- tuf/tests/system_tests/util_test_tools.py | 4 ++-- tuf/tests/test_download.py | 11 +++++++---- tuf/tests/test_push.py | 4 ++-- tuf/tests/test_signerlib.py | 2 +- 5 files changed, 16 insertions(+), 25 deletions(-) diff --git a/tuf/repo/signercli.py b/tuf/repo/signercli.py index 4aaed950..106d2af5 100755 --- a/tuf/repo/signercli.py +++ b/tuf/repo/signercli.py @@ -103,7 +103,6 @@ def _get_password(prompt='Password: ', confirm=False): else: message = 'Mismatch; try again.' logger.info(message) - print(message) @@ -211,15 +210,13 @@ def _list_keyids(keystore_directory, metadata_directory): if keyid in keyids: keyids_dict[keyid].append(targets_role) - # Print the keyids without the '.key' extension and the roles + # Log the keyids without the '.key' extension and the roles # associated with them. message = 'Listing the keyids in '+repr(keystore_directory) logger.info(message) - print(message) for keyid in keyids_dict: message = keyid+' : '+str(keyids_dict[keyid]) logger.info(message) - print(message) @@ -262,7 +259,6 @@ def _get_keyids(keystore_directory): if keyid not in loaded_keyid: message = 'Could not load keyid: '+keyid logger.error(message) - print(message) continue # Append 'keyid' to the loaded list of keyids. @@ -314,7 +310,6 @@ def _get_all_config_keyids(config_filepath, keystore_directory): if not loaded_key or keyid not in loaded_key: message = 'Could not load keyid: '+keyid logger.error(message) - print(message) continue loaded_keyids[key].append(keyid) break @@ -363,7 +358,6 @@ def _get_role_config_keyids(config_filepath, keystore_directory, role): if not loaded_key or keyid not in loaded_key: message = 'Could not load keyid: '+keyid logger.error(message) - print(message) continue role_keyids.append(keyid) break @@ -524,7 +518,7 @@ def generate_rsa_key(keystore_directory): try: rsa_key = save_rsa_key(keystore_directory=keystore_directory, password=password, bits=rsa_key_bits) - print('Generated a new key: '+rsa_key['keyid']) + logger.info('Generated a new key: '+rsa_key['keyid']) except (tuf.FormatError, tuf.CryptoError), e: message = 'The RSA key could not be generated. '+str(e)+'\n' raise tuf.RepositoryError(message) @@ -639,7 +633,6 @@ def dump_key(keystore_directory): message = '*WARNING* Printing the private key reveals' \ ' sensitive information *WARNING*' logger.warning(message) - print(message) input = _prompt(prompt, str) if input.lower() == 'private': show_private = True @@ -653,7 +646,7 @@ def dump_key(keystore_directory): raise tuf.RepositoryError(message) # Print the contents of the key metadata. - print(json.dumps(key_metadata, indent=2, sort_keys=True)) + logger.info(json.dumps(key_metadata, indent=2, sort_keys=True)) @@ -935,7 +928,6 @@ def sign_metadata_file(keystore_directory): # Retrieve the keyids of the signing keys from the user. message = 'The keyids that will sign the metadata file must be loaded.' logger.info(message) - print(message) loaded_keyids = _get_keyids(keystore_directory) if len(loaded_keyids) == 0: @@ -1016,7 +1008,7 @@ def make_delegation(keystore_directory): elif recursive_walk == 'N': recursive_walk = False else: - print("Sorry, I could not understand that; please try again.") + logger.warn("Sorry, I could not understand that; please try again.") # Get all the target roles and their respective keyids. # These keyids will let the user know which roles are currently known. @@ -1088,7 +1080,6 @@ def _load_parent_role(metadata_directory, keystore_directory, targets_roles): if parent_role not in targets_roles: message = 'Invalid role name entered' logger.info(message) - print(message) parent_role = None continue else: @@ -1110,7 +1101,6 @@ def _load_parent_role(metadata_directory, keystore_directory, targets_roles): if keyid not in loaded_keyid: message = 'The keyid could not be loaded.' logger.info(message) - print(message) continue parent_keyids.append(loaded_keyid[0]) break @@ -1140,7 +1130,6 @@ def _get_delegated_role(keystore_directory, metadata_directory): # Retrieve the delegated role\'s keyids from the user. message = 'The keyid of the delegated role must be loaded.' logger.info(message) - print(message) delegated_keyids = _get_keyids(keystore_directory) # Ensure at least one delegated key was loaded. @@ -1168,7 +1157,6 @@ def _make_delegated_metadata(metadata_directory, delegated_paths, parent_role, message = 'There are '+str(len(delegated_paths))+' target paths for '+\ str(delegated_role) logger.info(message) - print(message) # Create, sign, and write the delegated role's metadata file. # The first time a parent role creates a delegation, a directory diff --git a/tuf/tests/system_tests/util_test_tools.py b/tuf/tests/system_tests/util_test_tools.py index 7fc79c93..7b23ff1b 100755 --- a/tuf/tests/system_tests/util_test_tools.py +++ b/tuf/tests/system_tests/util_test_tools.py @@ -144,7 +144,7 @@ import tuf.repo.signerlib as signerlib import tuf.repo.keystore as keystore - +logger = logging.getLogger('tuf') # Disable logging for cleaner output. def disable_logging(): @@ -199,7 +199,7 @@ def cleanup(root_repo, server_process=None): if server_process.returncode is None: server_process.kill() - print 'Server terminated.\n' + logger.info('Server terminated.\n') # Clear the keystore. keystore.clear_keystore() diff --git a/tuf/tests/test_download.py b/tuf/tests/test_download.py index cb773e78..44b3c732 100755 --- a/tuf/tests/test_download.py +++ b/tuf/tests/test_download.py @@ -22,6 +22,7 @@ """ import tuf +import tuf.log import tuf.download as download import tuf.tests.unittest_toolbox as unittest_toolbox @@ -36,6 +37,8 @@ import SocketServer import SimpleHTTPServer +logger = logging.getLogger('tuf') + # Disable/Enable logging. Comment-out to Enable logging. logging.getLogger('tuf') logging.disable(logging.CRITICAL) @@ -61,9 +64,9 @@ def setUp(self): self.PORT = random.randint(30000, 45000) command = ['python', 'simple_server.py', str(self.PORT)] self.server_proc = subprocess.Popen(command, stderr=subprocess.PIPE) - print '\n\tServer process started.' - print '\tServer process id: '+str(self.server_proc.pid) - print '\tServing on port: '+str(self.PORT) + logger.info('\n\tServer process started.') + logger.info('\tServer process id: '+str(self.server_proc.pid)) + logger.info('\tServing on port: '+str(self.PORT)) junk, rel_target_filepath = os.path.split(target_filepath) self.url = 'http://localhost:'+str(self.PORT)+'/'+rel_target_filepath @@ -83,7 +86,7 @@ def setUp(self): def tearDown(self): unittest_toolbox.Modified_TestCase.tearDown(self) if self.server_proc.returncode is None: - print '\tServer process '+str(self.server_proc.pid)+' terminated.' + logger.info('\tServer process '+str(self.server_proc.pid)+' terminated.') self.server_proc.kill() self.target_fileobj.close() diff --git a/tuf/tests/test_push.py b/tuf/tests/test_push.py index ef5d7bfc..6b3b0609 100644 --- a/tuf/tests/test_push.py +++ b/tuf/tests/test_push.py @@ -32,7 +32,7 @@ class TestPush(unittest.TestCase): src_push_dict = {} - print scp.transfer + logger.info(scp.transfer) ORIGINAL_PUSH_CONFIG = pushtoolslib.PUSH_CONFIG @@ -161,4 +161,4 @@ def test_expected_behaviour_of_push_with_scp(self): # Run the unittests suite = unittest.TestLoader().loadTestsFromTestCase(TestPush) -unittest.TextTestRunner(verbosity=2).run(suite) \ No newline at end of file +unittest.TextTestRunner(verbosity=2).run(suite) diff --git a/tuf/tests/test_signerlib.py b/tuf/tests/test_signerlib.py index ececc08e..efdf208b 100755 --- a/tuf/tests/test_signerlib.py +++ b/tuf/tests/test_signerlib.py @@ -880,7 +880,7 @@ def _get_role_info(self, role, directory=None): return timestamp_meta, role_keyids, meta_dir else: - print '\nUnrecognized top-level role.' + logger.warning('\nUnrecognized top-level role.') From 4fd99750152d777903d66cce3125f061f1775f1d Mon Sep 17 00:00:00 2001 From: zanefisher Date: Tue, 30 Jul 2013 14:41:07 -0400 Subject: [PATCH 3/5] Fixed various tests. --- setup.py | 2 +- quickstart.py => tuf/repo/quickstart.py | 0 tuf/tests/aggregate_tests.py | 27 ++++++++----------------- tuf/tests/test_hash.py | 15 +++++++++++--- tuf/tests/test_push.py | 7 ++++++- tuf/tests/test_quickstart.py | 2 +- 6 files changed, 28 insertions(+), 25 deletions(-) rename quickstart.py => tuf/repo/quickstart.py (100%) diff --git a/setup.py b/setup.py index 83e9e87c..4175561b 100755 --- a/setup.py +++ b/setup.py @@ -79,7 +79,7 @@ 'tuf.tests' ], scripts=[ - 'quickstart.py', + 'tuf/repo/quickstart.py', 'tuf/pushtools/push.py', 'tuf/pushtools/receivetools/receive.py', 'tuf/repo/signercli.py' diff --git a/quickstart.py b/tuf/repo/quickstart.py similarity index 100% rename from quickstart.py rename to tuf/repo/quickstart.py diff --git a/tuf/tests/aggregate_tests.py b/tuf/tests/aggregate_tests.py index df1305d8..cf65a398 100755 --- a/tuf/tests/aggregate_tests.py +++ b/tuf/tests/aggregate_tests.py @@ -16,22 +16,11 @@ """ -# The unit tests listed below should provide their respective test suites -# and run on import. -import tuf.tests.test_download -import tuf.tests.test_formats -import tuf.tests.test_hash -import tuf.tests.test_keydb -import tuf.tests.test_keystore -import tuf.tests.test_mirrors -import tuf.tests.test_quickstart -import tuf.tests.test_roledb -import tuf.tests.test_rsa_key -import tuf.tests.test_schema -import tuf.tests.test_signercli -import tuf.tests.test_signerlib -import tuf.tests.test_sig -import tuf.tests.test_util -import tuf.tests.test_updater -import tuf.tests.system_tests.test_util_test_tools -import tuf.tests.system_tests.test_replay_attack +import glob + +tests_list = glob.glob('test_*.py') +for test in tests_list: + __import__(test[:-3]) + +import system_tests.test_util_test_tools +import system_tests.test_replay_attack diff --git a/tuf/tests/test_hash.py b/tuf/tests/test_hash.py index ba47f2d1..38537ec7 100755 --- a/tuf/tests/test_hash.py +++ b/tuf/tests/test_hash.py @@ -19,17 +19,26 @@ import os import StringIO +import logging import tempfile import unittest import tuf.hash +logger = logging.getLogger('tuf') + +if not 'hashlib' in tuf.hash._supported_libraries: + logger.warn('Not testing hashlib: could not be imported.') +if not 'pycrypto' in tuf.hash._supported_libraries: + logger.warn('Not testing pycrypto: could not be imported.') class TestHash(unittest.TestCase): def _run_with_all_hash_libraries(self, test_func): - test_func('hashlib') - test_func('pycrypto') + if 'hashlib' in tuf.hash._supported_libraries: + test_func('hashlib') + if 'pycrypto' in tuf.hash._supported_libraries: + test_func('pycrypto') def test_md5_update(self): @@ -217,4 +226,4 @@ def _do_update_file_obj(self, library): # Run unit test. suite = unittest.TestLoader().loadTestsFromTestCase(TestHash) -unittest.TextTestRunner(verbosity=2).run(suite) +unittest.TextTestRunner(verbosity=3).run(suite) diff --git a/tuf/tests/test_push.py b/tuf/tests/test_push.py index 6b3b0609..4de06b1e 100644 --- a/tuf/tests/test_push.py +++ b/tuf/tests/test_push.py @@ -18,6 +18,7 @@ import os import getpass +import logging import tempfile import unittest import ConfigParser @@ -26,9 +27,13 @@ import tuf.pushtools.push as push import tuf.pushtools.transfer.scp as scp import tuf.pushtools.pushtoolslib as pushtoolslib -import tuf.tests.system_tests.util_test_tools as util_test_tools +import system_tests.util_test_tools as util_test_tools +logger = logging.getLogger('tuf') +# Disable all logging calls of level CRITICAL and below. +# Comment the line below to enable logging. +logging.disable(logging.CRITICAL) class TestPush(unittest.TestCase): src_push_dict = {} diff --git a/tuf/tests/test_quickstart.py b/tuf/tests/test_quickstart.py index 2c2220af..831941d6 100755 --- a/tuf/tests/test_quickstart.py +++ b/tuf/tests/test_quickstart.py @@ -25,8 +25,8 @@ import shutil import unittest import logging +import tuf.repo.quickstart as quickstart -import quickstart import tuf.util import tuf.tests.unittest_toolbox From 61e94847af59acbb772ef6c89a2c29f42b9c174a Mon Sep 17 00:00:00 2001 From: zanefisher Date: Wed, 31 Jul 2013 19:01:19 -0400 Subject: [PATCH 4/5] Tests no longer run automatically when imported. aggregate_tests now loads all the unit tests into one suite and runs them together, so that any failures and errors show up together in a concise report. --- tuf/tests/aggregate_tests.py | 17 ++++++++++++----- tuf/tests/test_download.py | 4 ++-- tuf/tests/test_formats.py | 4 ++-- tuf/tests/test_hash.py | 4 ++-- tuf/tests/test_keydb.py | 4 ++-- tuf/tests/test_keystore.py | 4 ++-- tuf/tests/test_mirrors.py | 4 ++-- tuf/tests/test_push.py | 4 ++-- tuf/tests/test_pushtoolslib.py | 4 ++-- tuf/tests/test_quickstart.py | 4 ++-- tuf/tests/test_roledb.py | 5 +++-- tuf/tests/test_rsa_key.py | 4 ++-- tuf/tests/test_schema.py | 4 ++-- tuf/tests/test_sig.py | 4 ++-- tuf/tests/test_signercli.py | 15 +++++++++------ tuf/tests/test_signerlib.py | 15 +++++++++------ tuf/tests/test_updater.py | 30 +++++++++++++++++------------- tuf/tests/test_util.py | 4 ++-- 18 files changed, 76 insertions(+), 58 deletions(-) diff --git a/tuf/tests/aggregate_tests.py b/tuf/tests/aggregate_tests.py index cf65a398..39fe8457 100755 --- a/tuf/tests/aggregate_tests.py +++ b/tuf/tests/aggregate_tests.py @@ -4,6 +4,7 @@ Konstantin Andrianov + Zane Fisher January 26, 2013 @@ -12,15 +13,21 @@ See LICENSE for licensing information. - Run all the unit tests in 'tuf/tests'. + Run all the unit tests from every .py file beginning with "test_" in 'tuf/tests'. """ +import unittest import glob +import tuf.keydb as keydb +import tuf.repo.keystore as keystore +import tuf.roledb as roledb tests_list = glob.glob('test_*.py') -for test in tests_list: - __import__(test[:-3]) -import system_tests.test_util_test_tools -import system_tests.test_replay_attack +# Remove '.py' from each filename. +tests_list = [test[:-3] for test in tests_list] + +suite = unittest.TestLoader().loadTestsFromNames(tests_list) + +unittest.TextTestRunner(verbosity=2).run(suite) diff --git a/tuf/tests/test_download.py b/tuf/tests/test_download.py index 44b3c732..96716875 100755 --- a/tuf/tests/test_download.py +++ b/tuf/tests/test_download.py @@ -186,5 +186,5 @@ def test_download_url_to_tempfileobj(self): # Run unit test. -suite = unittest.TestLoader().loadTestsFromTestCase(TestDownload) -unittest.TextTestRunner(verbosity=2).run(suite) +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_formats.py b/tuf/tests/test_formats.py index 2e41e2f6..14b5281d 100755 --- a/tuf/tests/test_formats.py +++ b/tuf/tests/test_formats.py @@ -628,5 +628,5 @@ def test_encode_canonical(self): # Run unit test. -suite = unittest.TestLoader().loadTestsFromTestCase(TestFormats) -unittest.TextTestRunner(verbosity=2).run(suite) +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_hash.py b/tuf/tests/test_hash.py index 38537ec7..0a56c175 100755 --- a/tuf/tests/test_hash.py +++ b/tuf/tests/test_hash.py @@ -225,5 +225,5 @@ def _do_update_file_obj(self, library): # Run unit test. -suite = unittest.TestLoader().loadTestsFromTestCase(TestHash) -unittest.TextTestRunner(verbosity=3).run(suite) +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_keydb.py b/tuf/tests/test_keydb.py index fe61a976..5dedc411 100755 --- a/tuf/tests/test_keydb.py +++ b/tuf/tests/test_keydb.py @@ -217,5 +217,5 @@ def test_create_keydb_from_root_metadata(self): # Run unit test. -suite = unittest.TestLoader().loadTestsFromTestCase(TestKeydb) -unittest.TextTestRunner(verbosity=2).run(suite) +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_keystore.py b/tuf/tests/test_keystore.py index a78acbb6..196bb7d4 100755 --- a/tuf/tests/test_keystore.py +++ b/tuf/tests/test_keystore.py @@ -321,5 +321,5 @@ def test_internal_decrypt(self): # Run the unit tests. -suite = unittest.TestLoader().loadTestsFromTestCase(TestKeystore) -unittest.TextTestRunner(verbosity=2).run(suite) +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_mirrors.py b/tuf/tests/test_mirrors.py index 2c2e0e9d..4afca814 100755 --- a/tuf/tests/test_mirrors.py +++ b/tuf/tests/test_mirrors.py @@ -97,5 +97,5 @@ def test_get_list_of_mirrors(self): # Run the unittests -suite = unittest.TestLoader().loadTestsFromTestCase(TestMirrors) -unittest.TextTestRunner(verbosity=2).run(suite) +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_push.py b/tuf/tests/test_push.py index 4de06b1e..699881c0 100644 --- a/tuf/tests/test_push.py +++ b/tuf/tests/test_push.py @@ -165,5 +165,5 @@ def test_expected_behaviour_of_push_with_scp(self): # Run the unittests -suite = unittest.TestLoader().loadTestsFromTestCase(TestPush) -unittest.TextTestRunner(verbosity=2).run(suite) +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_pushtoolslib.py b/tuf/tests/test_pushtoolslib.py index a1938cd6..60c4975f 100644 --- a/tuf/tests/test_pushtoolslib.py +++ b/tuf/tests/test_pushtoolslib.py @@ -165,5 +165,5 @@ def test_exceptions_handeling_of_read_config_file(self): # Run the unittests -suite = unittest.TestLoader().loadTestsFromTestCase(TestPushtoolslib) -unittest.TextTestRunner(verbosity=2).run(suite) \ No newline at end of file +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_quickstart.py b/tuf/tests/test_quickstart.py index 831941d6..771f397e 100755 --- a/tuf/tests/test_quickstart.py +++ b/tuf/tests/test_quickstart.py @@ -191,5 +191,5 @@ def _remove_repository_directories(repo_dir, keystore_dir, client_dir): # Run the unit tests. -suite = unittest.TestLoader().loadTestsFromTestCase(TestQuickstart) -unittest.TextTestRunner(verbosity=2).run(suite) +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_roledb.py b/tuf/tests/test_roledb.py index 63a34198..1154dc57 100755 --- a/tuf/tests/test_roledb.py +++ b/tuf/tests/test_roledb.py @@ -65,6 +65,7 @@ def test_clear_roledb(self): def test_add_role(self): # Test conditions where the arguments are valid. + print('ROLES: '+str(tuf.roledb._roledb_dict.keys())) self.assertEqual(0, len(tuf.roledb._roledb_dict)) rolename = 'targets' roleinfo = {'keyids': ['123'], 'threshold': 1} @@ -396,5 +397,5 @@ def _test_rolename(self, test_function): # Run the unit tests. -suite = unittest.TestLoader().loadTestsFromTestCase(TestRoledb) -unittest.TextTestRunner(verbosity=2).run(suite) +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_rsa_key.py b/tuf/tests/test_rsa_key.py index e63cca7d..d6543378 100755 --- a/tuf/tests/test_rsa_key.py +++ b/tuf/tests/test_rsa_key.py @@ -180,5 +180,5 @@ def test_verify_signature(self): # Run the unit tests. -suite = unittest.TestLoader().loadTestsFromTestCase(TestRsa_key) -unittest.TextTestRunner(verbosity=2).run(suite) +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_schema.py b/tuf/tests/test_schema.py index d263fe03..f72ae02b 100755 --- a/tuf/tests/test_schema.py +++ b/tuf/tests/test_schema.py @@ -326,5 +326,5 @@ def test_RegularExpression(self): # Run the unit tests. -suite = unittest.TestLoader().loadTestsFromTestCase(TestSchema) -unittest.TextTestRunner(verbosity=2).run(suite) +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_sig.py b/tuf/tests/test_sig.py index f60acfa3..dd302748 100755 --- a/tuf/tests/test_sig.py +++ b/tuf/tests/test_sig.py @@ -391,5 +391,5 @@ def test_signable_has_invalid_format(self): # Run unit test. -suite = unittest.TestLoader().loadTestsFromTestCase(TestSig) -unittest.TextTestRunner(verbosity=2).run(suite) +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_signercli.py b/tuf/tests/test_signercli.py index 97a56f25..ccf07741 100755 --- a/tuf/tests/test_signercli.py +++ b/tuf/tests/test_signercli.py @@ -1484,9 +1484,12 @@ def _mock_get_keyids(junk): # Run unit tests. -loader = unittest_toolbox.unittest.TestLoader -suite = loader().loadTestsFromTestCase(TestSignercli) -try: - unittest_toolbox.unittest.TextTestRunner(verbosity=2).run(suite) -finally: - unittest_toolbox.Modified_TestCase.clear_toolbox() +#loader = unittest_toolbox.unittest.TestLoader +#suite = loader().loadTestsFromTestCase(TestSignercli) +#try: +# unittest_toolbox.unittest.TextTestRunner(verbosity=2).run(suite) +#finally: +# unittest_toolbox.Modified_TestCase.clear_toolbox() + +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_signerlib.py b/tuf/tests/test_signerlib.py index efdf208b..cdda3bbe 100755 --- a/tuf/tests/test_signerlib.py +++ b/tuf/tests/test_signerlib.py @@ -898,9 +898,12 @@ def _get_signed_role_info(self, role, directory=None): # Run unit test. -suite = unittest.TestLoader().loadTestsFromTestCase(TestSignerlib) -try: - unittest.TextTestRunner(verbosity=2).run(suite) -finally: - unit_tbox.clear_toolbox() - tuf.repo.keystore.clear_keystore() +#suite = unittest.TestLoader().loadTestsFromTestCase(TestSignerlib) +#try: +# unittest.TextTestRunner(verbosity=2).run(suite) +#finally: +# unit_tbox.clear_toolbox() +# tuf.repo.keystore.clear_keystore() + +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_updater.py b/tuf/tests/test_updater.py index 75c7dc77..74a1d19a 100755 --- a/tuf/tests/test_updater.py +++ b/tuf/tests/test_updater.py @@ -408,7 +408,7 @@ def test_2__import_delegations(self): # Verify that there was no change in roledb and keydb dictionaries # by checking the number of elements in the dictionaries. - self.assertEqual(len(roledb._roledb_dict), 5) + self.assertEqual(len(roledb._roledb_dict), 5) self.assertEqual(len(keydb._keydb_dict), 5) # Test: normal case, first level delegation. @@ -1142,18 +1142,22 @@ def test_8_remove_obsolete_targets(self): # Run all unit tests. -loader = unittest_toolbox.unittest.TestLoader() -suite = unittest_toolbox.unittest.TestSuite() +#loader = unittest_toolbox.unittest.TestLoader() +#suite = unittest_toolbox.unittest.TestSuite() -class1_tests = loader.loadTestsFromTestCase(TestUpdater_init_) -class2_tests = loader.loadTestsFromTestCase(TestUpdater) +#class1_tests = loader.loadTestsFromTestCase(TestUpdater_init_) +#class2_tests = loader.loadTestsFromTestCase(TestUpdater) -suite.addTest(class1_tests) -suite.addTest(class2_tests) +#suite.addTest(class1_tests) +#suite.addTest(class2_tests) -try: - unittest_toolbox.unittest.TextTestRunner(verbosity=2).run(suite) -finally: - # Removing repositories. - setup.remove_all_repositories(TestUpdater.repositories['main_repository']) - unittest_toolbox.Modified_TestCase.clear_toolbox() +#try: +# unittest_toolbox.unittest.TextTestRunner(verbosity=2).run(suite) +#finally: +# # Removing repositories. +# setup.remove_all_repositories(TestUpdater.repositories['main_repository']) +# unittest_toolbox.Modified_TestCase.clear_toolbox() + + +if __name__ == '__main__': + unittest.main() diff --git a/tuf/tests/test_util.py b/tuf/tests/test_util.py index ec0ccfb2..9636d606 100755 --- a/tuf/tests/test_util.py +++ b/tuf/tests/test_util.py @@ -302,5 +302,5 @@ def test_B6_load_json_file(self): # Run unit test. -suite = unittest.TestLoader().loadTestsFromTestCase(TestUtil) -unittest.TextTestRunner(verbosity=2).run(suite) +if __name__ == '__main__': + unittest.main() From c2eec3e42f0a47cd2af232cbdc04d50a4f195af5 Mon Sep 17 00:00:00 2001 From: vladdd Date: Tue, 6 Aug 2013 13:42:44 -0400 Subject: [PATCH 5/5] Minor changes following review --- tuf/repo/quickstart.py | 4 ---- tuf/tests/aggregate_tests.py | 3 +++ tuf/tests/test_roledb.py | 1 - tuf/tests/test_signercli.py | 8 -------- tuf/tests/test_signerlib.py | 9 --------- tuf/tests/test_updater.py | 20 -------------------- 6 files changed, 3 insertions(+), 42 deletions(-) diff --git a/tuf/repo/quickstart.py b/tuf/repo/quickstart.py index 2215995f..c04df034 100755 --- a/tuf/repo/quickstart.py +++ b/tuf/repo/quickstart.py @@ -214,7 +214,6 @@ def build_repository(project_directory): except ValueError, e: message = 'Invalid expiration date entered' logger.error(message) - print(message) timeout = None continue @@ -273,7 +272,6 @@ def build_repository(project_directory): metadata_directory = os.path.join(repository_directory, 'metadata') message = 'Creating '+repr(metadata_directory) logger.info(message) - print(message) os.mkdir(metadata_directory) except OSError, e: if e.errno == errno.EEXIST: @@ -312,7 +310,6 @@ def build_repository(project_directory): except ValueError, e: message = 'Invalid role threshold entered' logger.warning(message) - print(message) role_threshold = None continue @@ -371,7 +368,6 @@ def build_repository(project_directory): repr(client_metadata_directory)+'. The client metadata '+\ 'will need to be manually created. See the README file.' logger.warn(message) - print(message) else: raise diff --git a/tuf/tests/aggregate_tests.py b/tuf/tests/aggregate_tests.py index 39fe8457..e71896b0 100755 --- a/tuf/tests/aggregate_tests.py +++ b/tuf/tests/aggregate_tests.py @@ -8,6 +8,9 @@ January 26, 2013 + + August 2013. Modified previous behavior that explicitly imported individual + unit tests. -Zane Fisher See LICENSE for licensing information. diff --git a/tuf/tests/test_roledb.py b/tuf/tests/test_roledb.py index 1154dc57..94e6c25b 100755 --- a/tuf/tests/test_roledb.py +++ b/tuf/tests/test_roledb.py @@ -65,7 +65,6 @@ def test_clear_roledb(self): def test_add_role(self): # Test conditions where the arguments are valid. - print('ROLES: '+str(tuf.roledb._roledb_dict.keys())) self.assertEqual(0, len(tuf.roledb._roledb_dict)) rolename = 'targets' roleinfo = {'keyids': ['123'], 'threshold': 1} diff --git a/tuf/tests/test_signercli.py b/tuf/tests/test_signercli.py index ccf07741..2183f6a3 100755 --- a/tuf/tests/test_signercli.py +++ b/tuf/tests/test_signercli.py @@ -1483,13 +1483,5 @@ def _mock_get_keyids(junk): signercli._get_metadata_directory = original_get_metadata_directory -# Run unit tests. -#loader = unittest_toolbox.unittest.TestLoader -#suite = loader().loadTestsFromTestCase(TestSignercli) -#try: -# unittest_toolbox.unittest.TextTestRunner(verbosity=2).run(suite) -#finally: -# unittest_toolbox.Modified_TestCase.clear_toolbox() - if __name__ == '__main__': unittest.main() diff --git a/tuf/tests/test_signerlib.py b/tuf/tests/test_signerlib.py index cdda3bbe..b5c71f35 100755 --- a/tuf/tests/test_signerlib.py +++ b/tuf/tests/test_signerlib.py @@ -896,14 +896,5 @@ def _get_signed_role_info(self, role, directory=None): return signed_meta, role_info - -# Run unit test. -#suite = unittest.TestLoader().loadTestsFromTestCase(TestSignerlib) -#try: -# unittest.TextTestRunner(verbosity=2).run(suite) -#finally: -# unit_tbox.clear_toolbox() -# tuf.repo.keystore.clear_keystore() - if __name__ == '__main__': unittest.main() diff --git a/tuf/tests/test_updater.py b/tuf/tests/test_updater.py index 74a1d19a..5c3bff2b 100755 --- a/tuf/tests/test_updater.py +++ b/tuf/tests/test_updater.py @@ -1139,25 +1139,5 @@ def test_8_remove_obsolete_targets(self): tuf.download.download_url_to_tempfileobj = original_download - - -# Run all unit tests. -#loader = unittest_toolbox.unittest.TestLoader() -#suite = unittest_toolbox.unittest.TestSuite() - -#class1_tests = loader.loadTestsFromTestCase(TestUpdater_init_) -#class2_tests = loader.loadTestsFromTestCase(TestUpdater) - -#suite.addTest(class1_tests) -#suite.addTest(class2_tests) - -#try: -# unittest_toolbox.unittest.TextTestRunner(verbosity=2).run(suite) -#finally: -# # Removing repositories. -# setup.remove_all_repositories(TestUpdater.repositories['main_repository']) -# unittest_toolbox.Modified_TestCase.clear_toolbox() - - if __name__ == '__main__': unittest.main()