1717
1818#include " mongo/integration/integration_test.h"
1919
20+ #include < cstdlib>
21+
2022#include < memory>
2123
2224#include " mongo/client/dbclient.h"
@@ -34,18 +36,27 @@ namespace {
3436 class ReadPreferenceTest : public ReplicaSetTest {
3537 public:
3638 static void SetUpTestCase () {
37- ReplicaSetTest::SetUpTestCase ();
38- std::string errmsg;
39+ try {
40+ ReplicaSetTest::SetUpTestCase ();
41+ std::string errmsg;
3942
40- ConnectionString cs = ConnectionString::parse (rs ().mongodbUri (), errmsg);
41- replset_conn.reset (static_cast <DBClientReplicaSet*>(cs.connect (errmsg)));
42- replset_conn->dropCollection (TEST_NS);
43+ ConnectionString cs = ConnectionString::parse (rs ().mongodbUri (), errmsg);
44+ replset_conn.reset (static_cast <DBClientReplicaSet*>(cs.connect (errmsg)));
45+ replset_conn->dropCollection (TEST_NS);
4346
44- primary_conn.reset (new DBClientConnection ());
45- primary_conn->connect (rs ().primary ().uri ());
47+ primary_conn.reset (new DBClientConnection ());
48+ primary_conn->connect (rs ().primary ().uri ());
4649
47- secondary_conn.reset (new DBClientConnection ());
48- secondary_conn->connect (rs ().secondaries ().front ().uri ());
50+ secondary_conn.reset (new DBClientConnection ());
51+ secondary_conn->connect (rs ().secondaries ().front ().uri ());
52+ return ;
53+
54+ } catch (const std::exception& ex) {
55+ std::cout << " Got fatal error during test setup: " << ex.what () << std::endl;
56+ } catch (...) {
57+ std::cout << " Got unknown error during test setup" << std::endl;
58+ }
59+ std::abort ();
4960 }
5061
5162 static auto_ptr<DBClientReplicaSet> replset_conn;
0 commit comments