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; -}