From 177bf4984c1661cc944a0a9566a3e410a606b57d Mon Sep 17 00:00:00 2001 From: "A. Jesse Jiryu Davis" Date: Fri, 20 Jan 2012 11:28:14 -0500 Subject: [PATCH 1/2] Make master-slave connection tests more reliable --- test/test_master_slave_connection.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/test/test_master_slave_connection.py b/test/test_master_slave_connection.py index 8c9bffb794..16be008ae1 100644 --- a/test/test_master_slave_connection.py +++ b/test/test_master_slave_connection.py @@ -182,7 +182,8 @@ def test_database_names(self): self.assert_("pymongo_test_mike" in dbs) def test_drop_database(self): - # This test has been known to fail due to SERVER-2329 + raise SkipTest("This test often fails due to SERVER-2329") + self.assertRaises(TypeError, self.connection.drop_database, 5) self.assertRaises(TypeError, self.connection.drop_database, None) @@ -330,6 +331,7 @@ def test_base_object(self): self.assertFalse(db.safe) self.assertEqual({}, db.get_lasterror_options()) coll = db.test + coll.drop() self.assertFalse(coll.slave_okay) self.assertTrue(bool(c.read_preference)) self.assertFalse(coll.safe) @@ -339,21 +341,22 @@ def test_base_object(self): self.assertTrue(bool(cursor._Cursor__read_preference)) c.safe = True - c.set_lasterror_options(w=3, wtimeout=100) + w = 1 + len(self.slaves) + c.set_lasterror_options(w=w, wtimeout=100) self.assertFalse(c.slave_okay) self.assertTrue(bool(c.read_preference)) self.assertTrue(c.safe) - self.assertEqual({'w': 3, 'wtimeout': 100}, c.get_lasterror_options()) + self.assertEqual({'w': w, 'wtimeout': 100}, c.get_lasterror_options()) db = c.test self.assertFalse(db.slave_okay) self.assertTrue(bool(c.read_preference)) self.assertTrue(db.safe) - self.assertEqual({'w': 3, 'wtimeout': 100}, db.get_lasterror_options()) + self.assertEqual({'w': w, 'wtimeout': 100}, db.get_lasterror_options()) coll = db.test self.assertFalse(coll.slave_okay) self.assertTrue(bool(c.read_preference)) self.assertTrue(coll.safe) - self.assertEqual({'w': 3, 'wtimeout': 100}, + self.assertEqual({'w': w, 'wtimeout': 100}, coll.get_lasterror_options()) cursor = coll.find() self.assertFalse(cursor._Cursor__slave_okay) From 94bbd7b6873429d21a0493958a63b0faabcdb619 Mon Sep 17 00:00:00 2001 From: "A. Jesse Jiryu Davis" Date: Fri, 20 Jan 2012 11:30:33 -0500 Subject: [PATCH 2/2] Restore two useful asserts before skipping a test that fails due to SERVER-2329 --- test/test_master_slave_connection.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_master_slave_connection.py b/test/test_master_slave_connection.py index 16be008ae1..793da63040 100644 --- a/test/test_master_slave_connection.py +++ b/test/test_master_slave_connection.py @@ -182,11 +182,11 @@ def test_database_names(self): self.assert_("pymongo_test_mike" in dbs) def test_drop_database(self): - raise SkipTest("This test often fails due to SERVER-2329") - self.assertRaises(TypeError, self.connection.drop_database, 5) self.assertRaises(TypeError, self.connection.drop_database, None) + raise SkipTest("This test often fails due to SERVER-2329") + self.connection.pymongo_test.test.save({"dummy": u"object"}, safe=True) dbs = self.connection.database_names() self.assert_("pymongo_test" in dbs)