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 <[email protected]>
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;
-}