PYTHON-2927 PYTHON-2937 Skip failing tests on PyPy (#753)
Cleanup test clients more eagerly.
This commit is contained in:
parent
a4ccfa5b3f
commit
df6f6496a4
@ -1552,6 +1552,7 @@ class TestClient(IntegrationTest):
|
||||
|
||||
@unittest.skipIf(sys.platform.startswith('java'),
|
||||
'Jython does not support gc.get_objects')
|
||||
@unittest.skipIf('PyPy' in sys.version, 'PYTHON-2927 fails often on PyPy')
|
||||
def test_continuous_network_errors(self):
|
||||
def server_description_count():
|
||||
i = 0
|
||||
|
||||
@ -421,6 +421,7 @@ class TestPoolMaxSize(_TestPoolingBase):
|
||||
def test_max_pool_size(self):
|
||||
max_pool_size = 4
|
||||
c = rs_or_single_client(maxPoolSize=max_pool_size)
|
||||
self.addCleanup(c.close)
|
||||
collection = c[DB].test
|
||||
|
||||
# Need one document.
|
||||
@ -456,6 +457,7 @@ class TestPoolMaxSize(_TestPoolingBase):
|
||||
|
||||
def test_max_pool_size_none(self):
|
||||
c = rs_or_single_client(maxPoolSize=None)
|
||||
self.addCleanup(c.close)
|
||||
collection = c[DB].test
|
||||
|
||||
# Need one document.
|
||||
|
||||
@ -52,6 +52,7 @@ class TestReadWriteConcernSpec(IntegrationTest):
|
||||
listener = EventListener()
|
||||
# Client with default readConcern and writeConcern
|
||||
client = rs_or_single_client(event_listeners=[listener])
|
||||
self.addCleanup(client.close)
|
||||
collection = client.pymongo_test.collection
|
||||
# Prepare for tests of find() and aggregate().
|
||||
collection.insert_many([{} for _ in range(10)])
|
||||
@ -209,6 +210,7 @@ class TestReadWriteConcernSpec(IntegrationTest):
|
||||
def test_write_error_details_exposes_errinfo(self):
|
||||
listener = EventListener()
|
||||
client = rs_or_single_client(event_listeners=[listener])
|
||||
self.addCleanup(client.close)
|
||||
db = client.errinfotest
|
||||
self.addCleanup(client.drop_database, "errinfotest")
|
||||
validator = {"x": {"$type": "string"}}
|
||||
|
||||
@ -573,6 +573,7 @@ class TestRetryableWritesTxnNumber(IgnoreDeprecationsTest):
|
||||
listener = OvertCommandListener()
|
||||
client = rs_or_single_client(
|
||||
retryWrites=True, event_listeners=[listener])
|
||||
self.addCleanup(client.close)
|
||||
topology = client._topology
|
||||
select_server = topology.select_server
|
||||
|
||||
|
||||
@ -500,6 +500,7 @@ class TestSSL(IntegrationTest):
|
||||
ssl=True,
|
||||
tlsAllowInvalidCertificates=True,
|
||||
tlsCertificateKeyFile=CLIENT_PEM)
|
||||
self.addCleanup(noauth.close)
|
||||
|
||||
with self.assertRaises(OperationFailure):
|
||||
noauth.pymongo_test.test.find_one()
|
||||
@ -512,6 +513,7 @@ class TestSSL(IntegrationTest):
|
||||
tlsAllowInvalidCertificates=True,
|
||||
tlsCertificateKeyFile=CLIENT_PEM,
|
||||
event_listeners=[listener])
|
||||
self.addCleanup(auth.close)
|
||||
|
||||
# No error
|
||||
auth.pymongo_test.test.find_one()
|
||||
@ -529,6 +531,7 @@ class TestSSL(IntegrationTest):
|
||||
ssl=True,
|
||||
tlsAllowInvalidCertificates=True,
|
||||
tlsCertificateKeyFile=CLIENT_PEM)
|
||||
self.addCleanup(client.close)
|
||||
# No error
|
||||
client.pymongo_test.test.find_one()
|
||||
|
||||
@ -537,6 +540,7 @@ class TestSSL(IntegrationTest):
|
||||
ssl=True,
|
||||
tlsAllowInvalidCertificates=True,
|
||||
tlsCertificateKeyFile=CLIENT_PEM)
|
||||
self.addCleanup(client.close)
|
||||
# No error
|
||||
client.pymongo_test.test.find_one()
|
||||
# Auth should fail if username and certificate do not match
|
||||
@ -545,7 +549,9 @@ class TestSSL(IntegrationTest):
|
||||
quote_plus("not the username"), host, port))
|
||||
|
||||
bad_client = MongoClient(
|
||||
uri, ssl=True, tlsAllowInvalidCertificates=True, tlsCertificateKeyFile=CLIENT_PEM)
|
||||
uri, ssl=True, tlsAllowInvalidCertificates=True,
|
||||
tlsCertificateKeyFile=CLIENT_PEM)
|
||||
self.addCleanup(bad_client.close)
|
||||
|
||||
with self.assertRaises(OperationFailure):
|
||||
bad_client.pymongo_test.test.find_one()
|
||||
@ -557,6 +563,7 @@ class TestSSL(IntegrationTest):
|
||||
ssl=True,
|
||||
tlsAllowInvalidCertificates=True,
|
||||
tlsCertificateKeyFile=CLIENT_PEM)
|
||||
self.addCleanup(bad_client.close)
|
||||
|
||||
with self.assertRaises(OperationFailure):
|
||||
bad_client.pymongo_test.test.find_one()
|
||||
|
||||
@ -290,6 +290,9 @@ class TestTransactions(TransactionsBase):
|
||||
@client_context.require_version_min(4, 2)
|
||||
@client_context.require_transactions
|
||||
def test_transaction_starts_with_batched_write(self):
|
||||
if 'PyPy' in sys.version and client_context.tls:
|
||||
self.skipTest('PYTHON-2937 PyPy is so slow sending large '
|
||||
'messages over TLS that this test fails')
|
||||
# Start a transaction with a batch of operations that needs to be
|
||||
# split.
|
||||
listener = OvertCommandListener()
|
||||
@ -299,7 +302,8 @@ class TestTransactions(TransactionsBase):
|
||||
listener.reset()
|
||||
self.addCleanup(client.close)
|
||||
self.addCleanup(coll.drop)
|
||||
ops = [InsertOne({'a': '1'*(10*1024*1024)}) for _ in range(10)]
|
||||
large_str = '\0'*(10*1024*1024)
|
||||
ops = [InsertOne({'a': large_str}) for _ in range(10)]
|
||||
with client.start_session() as session:
|
||||
with session.start_transaction():
|
||||
coll.bulk_write(ops, session=session)
|
||||
@ -364,6 +368,7 @@ class TestTransactionsConvenientAPI(TransactionsBase):
|
||||
def test_callback_not_retried_after_timeout(self):
|
||||
listener = OvertCommandListener()
|
||||
client = rs_client(event_listeners=[listener])
|
||||
self.addCleanup(client.close)
|
||||
coll = client[self.db.name].test
|
||||
|
||||
def callback(session):
|
||||
@ -393,6 +398,7 @@ class TestTransactionsConvenientAPI(TransactionsBase):
|
||||
def test_callback_not_retried_after_commit_timeout(self):
|
||||
listener = OvertCommandListener()
|
||||
client = rs_client(event_listeners=[listener])
|
||||
self.addCleanup(client.close)
|
||||
coll = client[self.db.name].test
|
||||
|
||||
def callback(session):
|
||||
@ -423,6 +429,7 @@ class TestTransactionsConvenientAPI(TransactionsBase):
|
||||
def test_commit_not_retried_after_timeout(self):
|
||||
listener = OvertCommandListener()
|
||||
client = rs_client(event_listeners=[listener])
|
||||
self.addCleanup(client.close)
|
||||
coll = client[self.db.name].test
|
||||
|
||||
def callback(session):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user