Suppress all UserWarnings, not just ones with known messages. refs #2248

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
travis-tahoe 2014-09-01 19:39:57 +01:00
parent cc223d08fa
commit 036c325d35
2 changed files with 25 additions and 26 deletions

View File

@ -155,7 +155,7 @@ def normalized_version(verstr, what=None):
def get_package_versions_and_locations():
import warnings
from _auto_deps import package_imports, global_deprecation_messages, deprecation_messages, \
user_warning_messages, runtime_warning_messages, warning_imports
runtime_warning_messages, warning_imports
def package_dir(srcfile):
return os.path.dirname(os.path.dirname(os.path.normcase(os.path.realpath(srcfile))))
@ -165,13 +165,13 @@ def get_package_versions_and_locations():
# or any other bug that causes sys.path to be set up incorrectly. Therefore we
# must import the packages in order to check their versions and paths.
# This is to suppress various DeprecationWarnings, UserWarnings, and RuntimeWarnings
# This is to suppress all UserWarnings and various DeprecationWarnings and RuntimeWarnings
# (listed in _auto_deps.py).
warnings.filterwarnings("ignore", category=UserWarning, append=True)
for msg in global_deprecation_messages + deprecation_messages:
warnings.filterwarnings("ignore", category=DeprecationWarning, message=msg, append=True)
for msg in user_warning_messages:
warnings.filterwarnings("ignore", category=UserWarning, message=msg, append=True)
for msg in runtime_warning_messages:
warnings.filterwarnings("ignore", category=RuntimeWarning, message=msg, append=True)
try:
@ -181,8 +181,8 @@ def get_package_versions_and_locations():
except ImportError:
pass
finally:
# Leave suppressions for global_deprecation_messages active.
for ign in runtime_warning_messages + user_warning_messages + deprecation_messages:
# Leave suppressions for UserWarnings and global_deprecation_messages active.
for ign in runtime_warning_messages + deprecation_messages:
warnings.filters.pop()
packages = []

View File

@ -29,7 +29,11 @@ install_requires = [
# * The SFTP frontend depends on Twisted 11.0.0 to fix the SSH server
# rekeying bug http://twistedmatrix.com/trac/ticket/4395
#
# service-identity is necessary for Twisted and pyOpenSSL to be able to
# verify PKI certificates.
#
"Twisted >= 11.0.0",
"service-identity",
# * foolscap < 0.5.1 had a performance bug which spent O(N**2) CPU for
# transferring large mutable files of size N.
@ -71,20 +75,21 @@ install_requires = [
# Includes some indirect dependencies, but does not include allmydata.
# These are in the order they should be listed by --version, etc.
package_imports = [
# package name module name
('foolscap', 'foolscap'),
('pycryptopp', 'pycryptopp'),
('zfec', 'zfec'),
('Twisted', 'twisted'),
('Nevow', 'nevow'),
('zope.interface', 'zope.interface'),
('python', None),
('platform', None),
('pyOpenSSL', 'OpenSSL'),
('simplejson', 'simplejson'),
('pycrypto', 'Crypto'),
('pyasn1', 'pyasn1'),
('mock', 'mock'),
# package name module name
('foolscap', 'foolscap'),
('pycryptopp', 'pycryptopp'),
('zfec', 'zfec'),
('Twisted', 'twisted'),
('Nevow', 'nevow'),
('zope.interface', 'zope.interface'),
('python', None),
('platform', None),
('pyOpenSSL', 'OpenSSL'),
('simplejson', 'simplejson'),
('pycrypto', 'Crypto'),
('pyasn1', 'pyasn1'),
('mock', 'mock'),
('service-identity', 'service_identity')
]
def require_more():
@ -118,12 +123,6 @@ deprecation_messages = [
"the sets module is deprecated",
]
user_warning_messages = [
"Hashing uninitialized InterfaceClass instance",
"Reliable disconnection notification requires pywin32 215 or later",
'You do not have the service_identity module installed. Please install it from <https://pypi.python.org/pypi/service_identity>. Without the service_identity module and a recent enough pyOpenSSL tosupport it, Twisted can perform only rudimentary TLS client hostnameverification. Many valid certificate/hostname mappings may be rejected.',
]
runtime_warning_messages = [
"Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.",
]