Browse Source

[805] Move stuff to constructor/destructor

It eliminates the need to call commonSetup and makes it possible to
constify something.
Michal 'vorner' Vaner 13 years ago
parent
commit
63a5191b95
1 changed files with 19 additions and 25 deletions
  1. 19 25
      src/lib/asiodns/tests/dns_server_unittest.cc

+ 19 - 25
src/lib/asiodns/tests/dns_server_unittest.cc

@@ -321,10 +321,20 @@ class TCPClient : public SimpleClient {
 class DNSServerTestBase : public::testing::Test {
     protected:
         DNSServerTestBase() :
+            server_address_(ip::address::from_string(server_ip)),
+            checker_(new DummyChecker()),
+            lookup_(new DummyLookup()),
+            answer_(new SimpleAnswer()),
+            udp_client_(new UDPClient(service,
+                                      ip::udp::endpoint(server_address_,
+                                                         server_port))),
+            tcp_client_(new TCPClient(service,
+                                      ip::tcp::endpoint(server_address_,
+                                                        server_port))),
             udp_server_(NULL),
             tcp_server_(NULL)
         { }
-        void TearDown() {
+        ~ DNSServerTestBase() {
             if (udp_server_) {
                 udp_server_->stop();
             }
@@ -361,19 +371,6 @@ class DNSServerTestBase : public::testing::Test {
             std::signal(SIGALRM, prev_handler);
         }
 
-        void commonSetup() {
-            server_address_ = ip::address::from_string(server_ip);
-            checker_ = new DummyChecker();
-            lookup_ = new DummyLookup();
-            answer_ = new SimpleAnswer();
-            udp_client_ = new UDPClient(service,
-                                        ip::udp::endpoint(server_address_,
-                                                         server_port));
-            tcp_client_ = new TCPClient(service,
-                                        ip::tcp::endpoint(server_address_,
-                                                          server_port));
-        }
-
         static void stopIOService(int _no_use_parameter) {
             io_service_is_time_out = true;
             service.stop();
@@ -383,14 +380,14 @@ class DNSServerTestBase : public::testing::Test {
             return (!io_service_is_time_out);
         }
 
-        DummyChecker* checker_;
-        DummyLookup*  lookup_;
-        SimpleAnswer* answer_;
+        const ip::address server_address_;
+        DummyChecker* const checker_;
+        DummyLookup*  const lookup_;
+        SimpleAnswer* const answer_;
+        UDPClient*    const udp_client_;
+        TCPClient*    const tcp_client_;
         UDPServer*    udp_server_;
-        UDPClient*    udp_client_;
-        TCPClient*    tcp_client_;
         TCPServer*    tcp_server_;
-        ip::address server_address_;
 
         // To access them in signal handle function, the following
         // variables have to be static.
@@ -401,8 +398,7 @@ class DNSServerTestBase : public::testing::Test {
 // Initialization with name and port
 class AddrPortInit : public DNSServerTestBase {
 protected:
-    void SetUp() {
-        commonSetup();
+    AddrPortInit() {
         udp_server_ = new UDPServer(service, server_address_, server_port,
                                     checker_, lookup_, answer_);
         tcp_server_ = new TCPServer(service, server_address_, server_port,
@@ -456,8 +452,8 @@ private:
         }
     }
 protected:
+    // Using SetUp here so we can ASSERT_*
     void SetUp() {
-        commonSetup();
         const int fdUDP(getFd(SOCK_DGRAM));
         ASSERT_NE(-1, fdUDP) << strerror(errno);
         udp_server_ = new UDPServer(service, fdUDP, AF_INET6, checker_,
@@ -606,7 +602,6 @@ TYPED_TEST(DNSServerTest, stopTCPServeMoreThanOnce) {
 TEST_F(DNSServerTestBase, invalidFamily) {
     // We abuse DNSServerTestBase for this test, as we don't need the
     // initialization.
-    commonSetup();
     EXPECT_THROW(UDPServer(service, 0, AF_UNIX, checker_, lookup_,
                            answer_), isc::InvalidParameter);
     EXPECT_THROW(TCPServer(service, 0, AF_UNIX, checker_, lookup_,
@@ -617,7 +612,6 @@ TEST_F(DNSServerTestBase, invalidFamily) {
 TEST_F(DNSServerTestBase, invalidTCPFD) {
     // We abuse DNSServerTestBase for this test, as we don't need the
     // initialization.
-    commonSetup();
     /*
      FIXME: The UDP server doesn't fail reliably with an invalid FD.
      We need to find a way to trigger it reliably (it seems epoll