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
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 000..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 \