This is an automated email from the ASF dual-hosted git repository.

masaori pushed a commit to branch quic-latest
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/quic-latest by this push:
     new e5a65d7  Fix building unit tests for QUIC
e5a65d7 is described below

commit e5a65d77da2d2f3b50ca5be7930488352ae896bb
Author: Masaori Koshiba <masa...@apache.org>
AuthorDate: Thu Mar 7 11:16:54 2019 +0900

    Fix building unit tests for QUIC
    
    Prior this change, there're many undefined symbols comes from 
SSLMultiCertConfigLoader.
    As workaround fix, link unit tests to libinknet.a.
---
 iocore/net/Makefile.am       |   1 +
 iocore/net/libinknet_stub.cc | 163 +++++++++++++++++++++++++++++++++++++++++++
 iocore/net/quic/Makefile.am  |  15 ++--
 iocore/net/quic/test/stub.cc |  51 --------------
 iocore/net/test_I_UDPNet.cc  | 142 -------------------------------------
 5 files changed, 173 insertions(+), 199 deletions(-)

diff --git a/iocore/net/Makefile.am b/iocore/net/Makefile.am
index 76a1bdc..dc0a385 100644
--- a/iocore/net/Makefile.am
+++ b/iocore/net/Makefile.am
@@ -83,6 +83,7 @@ test_UDPNet_LDADD = \
        @HWLOC_LIBS@ @OPENSSL_LIBS@ @LIBPCRE@ @YAMLCPP_LIBS@
 
 test_UDPNet_SOURCES = \
+       libinknet_stub.cc \
        test_I_UDPNet.cc
 
 libinknet_a_SOURCES = \
diff --git a/iocore/net/libinknet_stub.cc b/iocore/net/libinknet_stub.cc
new file mode 100644
index 0000000..91fbf1f
--- /dev/null
+++ b/iocore/net/libinknet_stub.cc
@@ -0,0 +1,163 @@
+/** @file
+
+  Stub file for linking libinknet.a from unit tests
+
+  @section license License
+
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ */
+
+#include "HttpSessionManager.h"
+
+void
+initialize_thread_for_http_sessions(EThread *, int)
+{
+  ink_assert(false);
+}
+
+#include "P_UnixNet.h"
+#include "P_DNSConnection.h"
+int
+DNSConnection::close()
+{
+  ink_assert(false);
+  return 0;
+}
+
+void
+DNSConnection::trigger()
+{
+  ink_assert(false);
+}
+
+#include "StatPages.h"
+void
+StatPagesManager::register_http(char const *, Action *(*)(Continuation *, 
HTTPHdr *))
+{
+  ink_assert(false);
+}
+
+#include "ParentSelection.h"
+void
+SocksServerConfig::startup()
+{
+  ink_assert(false);
+}
+
+int SocksServerConfig::m_id = 0;
+
+void
+ParentConfigParams::findParent(HttpRequestData *, ParentResult *, unsigned 
int, unsigned int)
+{
+  ink_assert(false);
+}
+
+void
+ParentConfigParams::nextParent(HttpRequestData *, ParentResult *, unsigned 
int, unsigned int)
+{
+  ink_assert(false);
+}
+
+#include "Log.h"
+void
+Log::trace_in(sockaddr const *, unsigned short, char const *, ...)
+{
+  ink_assert(false);
+}
+
+void
+Log::trace_out(sockaddr const *, unsigned short, char const *, ...)
+{
+  ink_assert(false);
+}
+
+#include "InkAPIInternal.h"
+int
+APIHook::invoke(int, void *)
+{
+  ink_assert(false);
+  return 0;
+}
+
+APIHook *
+APIHook::next() const
+{
+  ink_assert(false);
+  return nullptr;
+}
+
+APIHook *
+APIHooks::get() const
+{
+  ink_assert(false);
+  return nullptr;
+}
+
+void
+ConfigUpdateCbTable::invoke(const char * /* name ATS_UNUSED */)
+{
+  ink_release_assert(false);
+}
+
+#include "ControlMatcher.h"
+char *
+HttpRequestData::get_string()
+{
+  ink_assert(false);
+  return nullptr;
+}
+
+const char *
+HttpRequestData::get_host()
+{
+  ink_assert(false);
+  return nullptr;
+}
+
+sockaddr const *
+HttpRequestData::get_ip()
+{
+  ink_assert(false);
+  return nullptr;
+}
+
+sockaddr const *
+HttpRequestData::get_client_ip()
+{
+  ink_assert(false);
+  return nullptr;
+}
+
+SslAPIHooks *ssl_hooks = nullptr;
+StatPagesManager statPagesManager;
+
+#include "ProcessManager.h"
+inkcoreapi ProcessManager *pmgmt = nullptr;
+
+int
+BaseManager::registerMgmtCallback(int, MgmtCallback const &)
+{
+  ink_assert(false);
+  return 0;
+}
+
+void
+ProcessManager::signalManager(int, char const *, int)
+{
+  ink_assert(false);
+  return;
+}
diff --git a/iocore/net/quic/Makefile.am b/iocore/net/quic/Makefile.am
index b5b571e..ceddc26 100644
--- a/iocore/net/quic/Makefile.am
+++ b/iocore/net/quic/Makefile.am
@@ -124,20 +124,23 @@ test_CPPFLAGS = \
 test_LDADD = \
   libquic.a \
   $(top_builddir)/lib/records/librecords_p.a \
+  $(top_builddir)/lib/tsconfig/libtsconfig.la \
   $(top_builddir)/src/tscore/libtscore.la \
+  $(top_builddir)/src/tscpp/util/libtscpputil.la \
   $(top_builddir)/iocore/eventsystem/libinkevent.a \
+  $(top_builddir)/iocore/net/libinknet.a \
   $(top_builddir)/mgmt/libmgmt_p.la \
   $(top_builddir)/proxy/shared/libUglyLogStubs.a \
-  @OPENSSL_LIBS@ \
-  @HWLOC_LIBS@
+  $(top_builddir)/proxy/ParentSelectionStrategy.o \
+  @HWLOC_LIBS@ @OPENSSL_LIBS@ @LIBPCRE@ @YAMLCPP_LIBS@
 
 test_event_main_SOURCES = \
-  ./test/event_processor_main.cc \
-  ./test/stub.cc
+  ../libinknet_stub.cc \
+  ./test/event_processor_main.cc
 
 test_main_SOURCES = \
-  ./test/main.cc \
-  ./test/stub.cc
+  ../libinknet_stub.cc \
+  ./test/main.cc
 
 test_QUICAckFrameCreator_CPPFLAGS = $(test_CPPFLAGS)
 test_QUICAckFrameCreator_LDFLAGS = @AM_LDFLAGS@
diff --git a/iocore/net/quic/test/stub.cc b/iocore/net/quic/test/stub.cc
deleted file mode 100644
index 4aaf60c..0000000
--- a/iocore/net/quic/test/stub.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-/** @file
- *
- *  Stubs for QUICConfig
- *
- *  @section license License
- *
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-#include "tscore/ink_assert.h"
-
-#include "P_SSLConfig.h"
-
-bool
-SSLParseCertificateConfiguration(const SSLConfigParams *, SSL_CTX *)
-{
-  return false;
-}
-
-SSLConfigParams *
-SSLConfig::acquire()
-{
-  return nullptr;
-}
-
-void
-SSLConfig::release(SSLConfigParams *)
-{
-  return;
-}
-
-#include "P_SSLNextProtocolSet.h"
-
-bool
-SSLNextProtocolSet::advertiseProtocols(const unsigned char **out, unsigned 
*len) const
-{
-  return true;
-}
diff --git a/iocore/net/test_I_UDPNet.cc b/iocore/net/test_I_UDPNet.cc
index 223ec71..2f57cf6 100644
--- a/iocore/net/test_I_UDPNet.cc
+++ b/iocore/net/test_I_UDPNet.cc
@@ -232,145 +232,3 @@ main(int /* argc ATS_UNUSED */, const char ** /* argv 
ATS_UNUSED */)
   RegressionTest::run("UDPNet", REGRESSION_TEST_QUICK);
   return RegressionTest::final_status == REGRESSION_TEST_PASSED ? 0 : 1;
 }
-
-//
-// stub
-//
-void
-initialize_thread_for_http_sessions(EThread *, int)
-{
-  ink_assert(false);
-}
-
-#include "P_UnixNet.h"
-#include "P_DNSConnection.h"
-int
-DNSConnection::close()
-{
-  ink_assert(false);
-  return 0;
-}
-
-void
-DNSConnection::trigger()
-{
-  ink_assert(false);
-}
-
-#include "StatPages.h"
-void
-StatPagesManager::register_http(char const *, Action *(*)(Continuation *, 
HTTPHdr *))
-{
-  ink_assert(false);
-}
-
-#include "ParentSelection.h"
-void
-SocksServerConfig::startup()
-{
-  ink_assert(false);
-}
-
-int SocksServerConfig::m_id = 0;
-
-void
-ParentConfigParams::findParent(HttpRequestData *, ParentResult *, unsigned 
int, unsigned int)
-{
-  ink_assert(false);
-}
-
-void
-ParentConfigParams::nextParent(HttpRequestData *, ParentResult *, unsigned 
int, unsigned int)
-{
-  ink_assert(false);
-}
-
-#include "Log.h"
-void
-Log::trace_in(sockaddr const *, unsigned short, char const *, ...)
-{
-  ink_assert(false);
-}
-
-void
-Log::trace_out(sockaddr const *, unsigned short, char const *, ...)
-{
-  ink_assert(false);
-}
-
-#include "InkAPIInternal.h"
-int
-APIHook::invoke(int, void *)
-{
-  ink_assert(false);
-  return 0;
-}
-
-APIHook *
-APIHook::next() const
-{
-  ink_assert(false);
-  return nullptr;
-}
-
-APIHook *
-APIHooks::get() const
-{
-  ink_assert(false);
-  return nullptr;
-}
-
-void
-ConfigUpdateCbTable::invoke(const char * /* name ATS_UNUSED */)
-{
-  ink_release_assert(false);
-}
-
-#include "ControlMatcher.h"
-char *
-HttpRequestData::get_string()
-{
-  ink_assert(false);
-  return nullptr;
-}
-
-const char *
-HttpRequestData::get_host()
-{
-  ink_assert(false);
-  return nullptr;
-}
-
-sockaddr const *
-HttpRequestData::get_ip()
-{
-  ink_assert(false);
-  return nullptr;
-}
-
-sockaddr const *
-HttpRequestData::get_client_ip()
-{
-  ink_assert(false);
-  return nullptr;
-}
-
-SslAPIHooks *ssl_hooks = nullptr;
-StatPagesManager statPagesManager;
-
-#include "ProcessManager.h"
-inkcoreapi ProcessManager *pmgmt = nullptr;
-
-int
-BaseManager::registerMgmtCallback(int, MgmtCallback const &)
-{
-  ink_assert(false);
-  return 0;
-}
-
-void
-ProcessManager::signalManager(int, char const *, int)
-{
-  ink_assert(false);
-  return;
-}

Reply via email to