diff --git a/acme/challenges_test.py b/acme/challenges_test.py index ab5ddd9aa..0669dd581 100644 --- a/acme/challenges_test.py +++ b/acme/challenges_test.py @@ -454,4 +454,4 @@ class DNSResponseTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/acme/fields_test.py b/acme/fields_test.py index 340e0131e..40f0ad59b 100644 --- a/acme/fields_test.py +++ b/acme/fields_test.py @@ -33,3 +33,7 @@ class RFC3339FieldTest(unittest.TestCase): from acme.fields import RFC3339Field self.assertRaises( jose.DeserializationError, RFC3339Field.default_decoder, '') + + +if __name__ == '__main__': + unittest.main() # pragma: no cover diff --git a/acme/jose/b64_test.py b/acme/jose/b64_test.py index 0e2a726fe..0c243cb2a 100644 --- a/acme/jose/b64_test.py +++ b/acme/jose/b64_test.py @@ -69,4 +69,4 @@ class B64DecodeTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/acme/jose/errors_test.py b/acme/jose/errors_test.py index cafe16e8d..919980920 100644 --- a/acme/jose/errors_test.py +++ b/acme/jose/errors_test.py @@ -14,4 +14,4 @@ class UnrecognizedTypeErrorTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/acme/jose/interfaces_test.py b/acme/jose/interfaces_test.py index 8e4d415ef..1fd1d3362 100644 --- a/acme/jose/interfaces_test.py +++ b/acme/jose/interfaces_test.py @@ -112,4 +112,4 @@ class JSONDeSerializableTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/acme/jose/json_util_test.py b/acme/jose/json_util_test.py index eed72d57f..aed95e070 100644 --- a/acme/jose/json_util_test.py +++ b/acme/jose/json_util_test.py @@ -294,4 +294,4 @@ class TypedJSONObjectWithFieldsTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/acme/jose/jwa_test.py b/acme/jose/jwa_test.py index 083cd0b73..d8b5361b8 100644 --- a/acme/jose/jwa_test.py +++ b/acme/jose/jwa_test.py @@ -102,4 +102,4 @@ class JWARSTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/acme/jose/jwk_test.py b/acme/jose/jwk_test.py index 7b942eca1..39d595f94 100644 --- a/acme/jose/jwk_test.py +++ b/acme/jose/jwk_test.py @@ -104,4 +104,4 @@ class JWKRSATest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/acme/jose/jws_test.py b/acme/jose/jws_test.py index d15d113b7..6ecce63d2 100644 --- a/acme/jose/jws_test.py +++ b/acme/jose/jws_test.py @@ -238,4 +238,4 @@ class CLITest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/acme/jose/util_test.py b/acme/jose/util_test.py index 1c179ee6b..b5592c57e 100644 --- a/acme/jose/util_test.py +++ b/acme/jose/util_test.py @@ -137,4 +137,4 @@ class frozendictTest(unittest.TestCase): # pylint: disable=invalid-name if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/acme/messages2_test.py b/acme/messages2_test.py index d0c7fdea1..5f9441b4f 100644 --- a/acme/messages2_test.py +++ b/acme/messages2_test.py @@ -246,4 +246,4 @@ class RevocationTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/acme/messages_test.py b/acme/messages_test.py index 662de3f1c..4e0823085 100644 --- a/acme/messages_test.py +++ b/acme/messages_test.py @@ -477,4 +477,4 @@ class StatusRequestTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/acme/other_test.py b/acme/other_test.py index d106c50ab..6da7e0de7 100644 --- a/acme/other_test.py +++ b/acme/other_test.py @@ -96,4 +96,4 @@ class SignatureTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/plugins/common_test.py b/letsencrypt/plugins/common_test.py index 348ed9379..12dd18bdf 100644 --- a/letsencrypt/plugins/common_test.py +++ b/letsencrypt/plugins/common_test.py @@ -58,4 +58,4 @@ class PluginTest(unittest.TestCase): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/plugins/disco_test.py b/letsencrypt/plugins/disco_test.py index 6c423d42c..f3cdd43c6 100644 --- a/letsencrypt/plugins/disco_test.py +++ b/letsencrypt/plugins/disco_test.py @@ -239,4 +239,4 @@ class PluginsRegistryTest(unittest.TestCase): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/plugins/standalone/tests/authenticator_test.py b/letsencrypt/plugins/standalone/tests/authenticator_test.py index 5cfae33cc..c6287774b 100644 --- a/letsencrypt/plugins/standalone/tests/authenticator_test.py +++ b/letsencrypt/plugins/standalone/tests/authenticator_test.py @@ -594,4 +594,4 @@ class InitTest(unittest.TestCase): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/account_test.py b/letsencrypt/tests/account_test.py index f0153e18c..d14610252 100644 --- a/letsencrypt/tests/account_test.py +++ b/letsencrypt/tests/account_test.py @@ -208,4 +208,4 @@ class SafeEmailTest(unittest.TestCase): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/achallenges_test.py b/letsencrypt/tests/achallenges_test.py index c22ff6227..b4ed6265b 100644 --- a/letsencrypt/tests/achallenges_test.py +++ b/letsencrypt/tests/achallenges_test.py @@ -43,4 +43,4 @@ class DVSNITest(unittest.TestCase): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/auth_handler_test.py b/letsencrypt/tests/auth_handler_test.py index effc09990..17ac970e2 100644 --- a/letsencrypt/tests/auth_handler_test.py +++ b/letsencrypt/tests/auth_handler_test.py @@ -458,4 +458,4 @@ def gen_path(required, challs): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/cli_test.py b/letsencrypt/tests/cli_test.py index fc6e493ea..5a6418085 100644 --- a/letsencrypt/tests/cli_test.py +++ b/letsencrypt/tests/cli_test.py @@ -32,4 +32,4 @@ class CLITest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/client_test.py b/letsencrypt/tests/client_test.py index 58e95e5cf..3119e1e52 100644 --- a/letsencrypt/tests/client_test.py +++ b/letsencrypt/tests/client_test.py @@ -27,11 +27,11 @@ class DetermineAccountTest(unittest.TestCase): @mock.patch("letsencrypt.account.Account.from_prompts") @mock.patch("letsencrypt.client.display_ops.choose_account") - def determine_account(self, mock_op, mock_prompt): + def test_determine_account(self, mock_op, mock_prompt): """Test determine account""" from letsencrypt import client - key = le_util.Key("file", "pem") + key = le_util.Key(tempfile.mkstemp()[1], "pem") test_acc = account.Account(self.config, key, "email1@gmail.com") mock_op.return_value = test_acc @@ -77,4 +77,4 @@ class RollbackTest(unittest.TestCase): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/configuration_test.py b/letsencrypt/tests/configuration_test.py index ddfc9de23..03f8e5d53 100644 --- a/letsencrypt/tests/configuration_test.py +++ b/letsencrypt/tests/configuration_test.py @@ -49,4 +49,4 @@ class NamespaceConfigTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/continuity_auth_test.py b/letsencrypt/tests/continuity_auth_test.py index 715651f19..72f227bd5 100644 --- a/letsencrypt/tests/continuity_auth_test.py +++ b/letsencrypt/tests/continuity_auth_test.py @@ -80,4 +80,4 @@ def gen_client_resp(chall): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/crypto_util_test.py b/letsencrypt/tests/crypto_util_test.py index 91b3f1c85..bdd67da6a 100644 --- a/letsencrypt/tests/crypto_util_test.py +++ b/letsencrypt/tests/crypto_util_test.py @@ -151,4 +151,4 @@ class MakeSSCertTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/display/enhancements_test.py b/letsencrypt/tests/display/enhancements_test.py index 648eaecb1..54e27aa01 100644 --- a/letsencrypt/tests/display/enhancements_test.py +++ b/letsencrypt/tests/display/enhancements_test.py @@ -55,4 +55,4 @@ class RedirectTest(unittest.TestCase): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/display/ops_test.py b/letsencrypt/tests/display/ops_test.py index 0c0c6e27d..01daf0004 100644 --- a/letsencrypt/tests/display/ops_test.py +++ b/letsencrypt/tests/display/ops_test.py @@ -316,4 +316,4 @@ class SuccessInstallationTest(unittest.TestCase): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/display/revocation_test.py b/letsencrypt/tests/display/revocation_test.py index f07c2cbfd..cb877499a 100644 --- a/letsencrypt/tests/display/revocation_test.py +++ b/letsencrypt/tests/display/revocation_test.py @@ -100,4 +100,4 @@ class ConfirmRevocationTest(unittest.TestCase): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/display/util_test.py b/letsencrypt/tests/display/util_test.py index 6cebf88ba..64ae3b713 100644 --- a/letsencrypt/tests/display/util_test.py +++ b/letsencrypt/tests/display/util_test.py @@ -346,4 +346,4 @@ class PlaceParensTest(unittest.TestCase): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/le_util_test.py b/letsencrypt/tests/le_util_test.py index 0d37a780b..c9da155c5 100644 --- a/letsencrypt/tests/le_util_test.py +++ b/letsencrypt/tests/le_util_test.py @@ -123,4 +123,4 @@ class UniqueFileTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/log_test.py b/letsencrypt/tests/log_test.py index e5760184d..50d0712e7 100644 --- a/letsencrypt/tests/log_test.py +++ b/letsencrypt/tests/log_test.py @@ -45,4 +45,4 @@ class DialogHandlerTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/network2_test.py b/letsencrypt/tests/network2_test.py index 434fafad5..b078c7516 100644 --- a/letsencrypt/tests/network2_test.py +++ b/letsencrypt/tests/network2_test.py @@ -479,4 +479,4 @@ class NetworkTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/recovery_token_test.py b/letsencrypt/tests/recovery_token_test.py index 238aa07a3..8e767d3cf 100644 --- a/letsencrypt/tests/recovery_token_test.py +++ b/letsencrypt/tests/recovery_token_test.py @@ -77,4 +77,4 @@ class RecoveryTokenTest(unittest.TestCase): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/reverter_test.py b/letsencrypt/tests/reverter_test.py index 402866a37..9da584f58 100644 --- a/letsencrypt/tests/reverter_test.py +++ b/letsencrypt/tests/reverter_test.py @@ -441,4 +441,4 @@ def update_file(filename, string): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt/tests/revoker_test.py b/letsencrypt/tests/revoker_test.py index 798f28c50..5f8b5b224 100644 --- a/letsencrypt/tests/revoker_test.py +++ b/letsencrypt/tests/revoker_test.py @@ -399,4 +399,4 @@ def create_revoker_certs(): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt_apache/tests/configurator_test.py b/letsencrypt_apache/tests/configurator_test.py index 5cfa22842..11b88f9e5 100644 --- a/letsencrypt_apache/tests/configurator_test.py +++ b/letsencrypt_apache/tests/configurator_test.py @@ -210,4 +210,4 @@ class TwoVhost80Test(util.ApacheTest): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt_apache/tests/dvsni_test.py b/letsencrypt_apache/tests/dvsni_test.py index 958918529..321dce42c 100644 --- a/letsencrypt_apache/tests/dvsni_test.py +++ b/letsencrypt_apache/tests/dvsni_test.py @@ -171,4 +171,4 @@ class DvsniPerformTest(util.ApacheTest): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt_apache/tests/obj_test.py b/letsencrypt_apache/tests/obj_test.py index 5ad683fae..9387d6d63 100644 --- a/letsencrypt_apache/tests/obj_test.py +++ b/letsencrypt_apache/tests/obj_test.py @@ -65,4 +65,4 @@ class VirtualHostTest(unittest.TestCase): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt_apache/tests/parser_test.py b/letsencrypt_apache/tests/parser_test.py index 17a34cad8..06bb20e2a 100644 --- a/letsencrypt_apache/tests/parser_test.py +++ b/letsencrypt_apache/tests/parser_test.py @@ -125,4 +125,4 @@ class ApacheParserTest(util.ApacheTest): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt_nginx/tests/configurator_test.py b/letsencrypt_nginx/tests/configurator_test.py index 86fe55499..4f51bafeb 100644 --- a/letsencrypt_nginx/tests/configurator_test.py +++ b/letsencrypt_nginx/tests/configurator_test.py @@ -263,4 +263,4 @@ class NginxConfiguratorTest(util.NginxTest): self.assertTrue(self.config.config_test()) if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt_nginx/tests/dvsni_test.py b/letsencrypt_nginx/tests/dvsni_test.py index a13638069..6c57496c9 100644 --- a/letsencrypt_nginx/tests/dvsni_test.py +++ b/letsencrypt_nginx/tests/dvsni_test.py @@ -89,4 +89,4 @@ class DvsniPerformTest(util.NginxTest): self.assertEqual(mock_save.call_count, 1) if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt_nginx/tests/nginxparser_test.py b/letsencrypt_nginx/tests/nginxparser_test.py index e60dc9468..23f46c72a 100644 --- a/letsencrypt_nginx/tests/nginxparser_test.py +++ b/letsencrypt_nginx/tests/nginxparser_test.py @@ -105,4 +105,4 @@ class TestRawNginxParser(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt_nginx/tests/obj_test.py b/letsencrypt_nginx/tests/obj_test.py index bad007973..7b5e99bf7 100644 --- a/letsencrypt_nginx/tests/obj_test.py +++ b/letsencrypt_nginx/tests/obj_test.py @@ -102,4 +102,4 @@ class VirtualHostTest(unittest.TestCase): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/letsencrypt_nginx/tests/parser_test.py b/letsencrypt_nginx/tests/parser_test.py index 2770320a1..02deb01f5 100644 --- a/letsencrypt_nginx/tests/parser_test.py +++ b/letsencrypt_nginx/tests/parser_test.py @@ -204,4 +204,4 @@ class NginxParserTest(util.NginxTest): if __name__ == "__main__": - unittest.main() + unittest.main() # pragma: no cover diff --git a/setup.cfg b/setup.cfg index cd572471c..ca4c1b1ca 100644 --- a/setup.cfg +++ b/setup.cfg @@ -8,3 +8,4 @@ dev = develop easy_install letsencrypt[dev,docs,testing] nocapture=1 cover-package=letsencrypt,acme,letsencrypt_apache,letsencrypt_nginx cover-erase=1 +cover-tests=1 diff --git a/tox.cover.sh b/tox.cover.sh index 2cc2484ed..d707e00ec 100755 --- a/tox.cover.sh +++ b/tox.cover.sh @@ -9,13 +9,14 @@ cover () { # --with-cover add up, --cover-erase must not be set for coveralls # to get all the data); --with-cover scopes coverage to only # specific package, positional argument scopes tests only to - # specific package directory - nosetests -c /dev/null --with-cover --cover-package "$1" \ - --cover-min-percentage="$2" "$1" + # specific package directory; --cover-tests makes sure every tests + # is run (c.f. #403) + nosetests -c /dev/null --with-cover --cover-tests --cover-package \ + "$1" --cover-min-percentage="$2" "$1" } # don't use sequential composition (;), if letsencrypt_nginx returns # 0, coveralls submit will be triggered (c.f. .travis.yml, # after_success) -cover letsencrypt 88 && cover acme 100 && \ - cover letsencrypt_apache 67 && cover letsencrypt_nginx 90 +cover letsencrypt 94 && cover acme 99 && \ + cover letsencrypt_apache 78 && cover letsencrypt_nginx 94