Browse Source

[2212] guard death tests with !runningOnValgrind().

JINMEI Tatuya 12 years ago
parent
commit
cf72f03690
1 changed files with 29 additions and 20 deletions
  1. 29 20
      src/bin/auth/tests/datasrc_clients_builder_unittest.cc

+ 29 - 20
src/bin/auth/tests/datasrc_clients_builder_unittest.cc

@@ -12,6 +12,8 @@
 // OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 // PERFORMANCE OF THIS SOFTWARE.
 
+#include <util/unittests/check_valgrind.h>
+
 #include <dns/name.h>
 #include <dns/rrclass.h>
 
@@ -98,13 +100,15 @@ TEST_F(DataSrcClientsBuilderTest, exception) {
     // them.  Right now, we simply abort to prevent the system from running
     // with half-broken state.  Eventually we should introduce a better
     // error handling.
-    command_queue.push_back(noop_cmd);
-    queue_mutex.throw_from_noop = TestMutex::EXCLASS;
-    EXPECT_DEATH_IF_SUPPORTED({builder.run();}, "");
+    if (!isc::util::unittests::runningOnValgrind()) {
+        command_queue.push_back(noop_cmd);
+        queue_mutex.throw_from_noop = TestMutex::EXCLASS;
+        EXPECT_DEATH_IF_SUPPORTED({builder.run();}, "");
 
-    command_queue.push_back(noop_cmd);
-    queue_mutex.throw_from_noop = TestMutex::INTEGER;
-    EXPECT_DEATH_IF_SUPPORTED({builder.run();}, "");
+        command_queue.push_back(noop_cmd);
+        queue_mutex.throw_from_noop = TestMutex::INTEGER;
+        EXPECT_DEATH_IF_SUPPORTED({builder.run();}, "");
+    }
 
     command_queue.push_back(noop_cmd);
     command_queue.push_back(shutdown_cmd); // we need to stop the loop
@@ -457,10 +461,12 @@ TEST_F(DataSrcClientsBuilderTest, loadZoneWithoutDataSrc) {
 TEST_F(DataSrcClientsBuilderTest, loadZoneInvalidParams) {
     configureZones();
 
-    // null arg: this causes assertion failure
-    EXPECT_DEATH_IF_SUPPORTED({
-            builder.handleCommand(Command(LOADZONE, ElementPtr()));
-        }, "");
+    if (!isc::util::unittests::runningOnValgrind()) {
+        // null arg: this causes assertion failure
+        EXPECT_DEATH_IF_SUPPORTED({
+                builder.handleCommand(Command(LOADZONE, ElementPtr()));
+            }, "");
+    }
 
     // zone class is bogus (note that this shouldn't happen except in tests)
     EXPECT_THROW(builder.handleCommand(
@@ -479,16 +485,19 @@ TEST_F(DataSrcClientsBuilderTest, loadZoneInvalidParams) {
                  isc::data::TypeError);
 
     // class or origin is missing: result in assertion failure
-    EXPECT_DEATH_IF_SUPPORTED({
-            builder.handleCommand(
-                Command(LOADZONE,
-                        Element::fromJSON("{\"origin\": \"test1.example\"}")));
-        }, "");
-    EXPECT_DEATH_IF_SUPPORTED({
-            builder.handleCommand(Command(LOADZONE,
-                                          Element::fromJSON(
-                                              "{\"class\": \"IN\"}")));
-        }, "");
+    if (!isc::util::unittests::runningOnValgrind()) {
+        EXPECT_DEATH_IF_SUPPORTED({
+                builder.handleCommand(
+                    Command(LOADZONE,
+                            Element::fromJSON(
+                                "{\"origin\": \"test1.example\"}")));
+            }, "");
+        EXPECT_DEATH_IF_SUPPORTED({
+                builder.handleCommand(Command(LOADZONE,
+                                              Element::fromJSON(
+                                                  "{\"class\": \"IN\"}")));
+            }, "");
+    }
 
     // zone doesn't exist in the data source
     EXPECT_THROW(