Skip to content
Snippets Groups Projects
Commit 74d59e71 authored by Monty Brandenberg's avatar Monty Brandenberg
Browse files

Build llcorehttp as part of a viewer dependency with unit tests. This required

boost::thread and the easiest path to that was to go with the 1.48 Boost release
in the 3P tree (eliminating a fork for a modified 1.45 packaging).  One unit test,
the most important one, is failing in test_httprequest but that can be attended
to later.  This test issues a GET to http://localhost:2/ and that is hitting the
wire but the libcurl plumbing isn't delivering the failure, only the eventual
timeout.  An unexpected change in behavior.
parent 438a6431
No related branches found
No related tags found
No related merge requests found
Showing
with 68 additions and 46 deletions
......@@ -186,9 +186,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>d98078791ce345bf6168ce9ba53ca2d7</string>
<string>0c4678ac85395f5f5294b63da1d79007</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-boost/rev/222752/arch/Darwin/installer/boost-1.45.0-darwin-20110304.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-boost/rev/249117/arch/Darwin/installer/boost-1.48.0-darwin-20120208.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
......@@ -198,9 +198,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>a34e7fffdb94a6a4d8a2966b1f216da3</string>
<string>848766eac189e0fa785f4a025532acd9</string>
<key>url</key>
<string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.45.0-linux-20110310.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-boost/rev/249117/arch/Linux/installer/boost-1.48.0-linux-20120208.tar.bz2</string>
</map>
<key>name</key>
<string>linux</string>
......@@ -210,9 +210,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>98be22c8833aa2bca184b9fa09fbb82b</string>
<string>cd1e60a00d40f4475ae5e0aca86f74c1</string>
<key>url</key>
<string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.45.0-windows-20110124.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-boost/rev/249117/arch/CYGWIN/installer/boost-1.48.0-windows-20120208.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
......
......@@ -12,12 +12,13 @@ if (STANDALONE)
set(BOOST_SIGNALS_LIBRARY boost_signals-mt)
set(BOOST_SYSTEM_LIBRARY boost_system-mt)
set(BOOST_FILESYSTEM_LIBRARY boost_filesystem-mt)
set(BOOST_THREAD_LIBRARY boost_thread-mt)
else (STANDALONE)
use_prebuilt_binary(boost)
set(Boost_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
if (WINDOWS)
set(BOOST_VERSION 1_45)
set(BOOST_VERSION 1_48)
if(MSVC80)
set(BOOST_PROGRAM_OPTIONS_LIBRARY
optimized libboost_program_options-vc80-mt-${BOOST_VERSION}
......@@ -37,22 +38,26 @@ else (STANDALONE)
else(MSVC80)
# MSVC 10.0 config
set(BOOST_PROGRAM_OPTIONS_LIBRARY
optimized libboost_program_options-vc100-mt-${BOOST_VERSION}
debug libboost_program_options-vc100-mt-gd-${BOOST_VERSION})
optimized libboost_program_options-mt
debug libboost_program_options-mt-gd)
set(BOOST_REGEX_LIBRARY
optimized libboost_regex-vc100-mt-${BOOST_VERSION}
debug libboost_regex-vc100-mt-gd-${BOOST_VERSION})
optimized libboost_regex-mt
debug libboost_regex-mt-gd)
set(BOOST_SYSTEM_LIBRARY
optimized libboost_system-vc100-mt-${BOOST_VERSION}
debug libboost_system-vc100-mt-gd-${BOOST_VERSION})
optimized libboost_system-mt
debug libboost_system-mt-gd)
set(BOOST_FILESYSTEM_LIBRARY
optimized libboost_filesystem-vc100-mt-${BOOST_VERSION}
debug libboost_filesystem-vc100-mt-gd-${BOOST_VERSION})
optimized libboost_filesystem-mt
debug libboost_filesystem-mt-gd)
set(BOOST_THREAD_LIBRARY
optimized libboost_thread-mt
debug libboost_thread-mt-gd)
endif (MSVC80)
elseif (DARWIN OR LINUX)
set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options)
set(BOOST_REGEX_LIBRARY boost_regex)
set(BOOST_SYSTEM_LIBRARY boost_system)
set(BOOST_FILESYSTEM_LIBRARY boost_filesystem)
set(BOOST_THREAD_LIBRARY boost_thread)
endif (WINDOWS)
endif (STANDALONE)
......@@ -3,12 +3,14 @@
include(CARes)
include(CURL)
include(OpenSSL)
include(Boost)
set(LLCOREHTTP_INCLUDE_DIRS
${LIBS_OPEN_DIR}/llcorehttp
${CARES_INCLUDE_DIRS}
${CURL_INCLUDE_DIRS}
${OPENSSL_INCLUDE_DIRS}
${BOOST_INCLUDE_DIRS}
)
set(LLCOREHTTP_LIBRARIES llcorehttp)
......@@ -15,10 +15,10 @@ if (WINDOWS)
optimized llprimitive
debug libcollada14dom22-d
optimized libcollada14dom22
debug libboost_filesystem-vc100-mt-gd-1_45
optimized libboost_filesystem-vc100-mt-1_45
debug libboost_system-vc100-mt-gd-1_45
optimized libboost_system-vc100-mt-1_45
debug libboost_filesystem-mt-gd
optimized libboost_filesystem-mt
debug libboost_system-mt-gd
optimized libboost_system-mt
)
else (WINDOWS)
set(LLPRIMITIVE_LIBRARIES
......
......@@ -82,4 +82,8 @@
#include "llfile.h"
#include "llformat.h"
// Boost 1.45 had version 2 as the default for the filesystem library,
// 1.48 has version 3 as the default. Keep compatibility for now.
#define BOOST_FILESYSTEM_VERSION 2
#endif
......@@ -73,23 +73,24 @@ target_link_libraries(
${CARES_LIBRARIES}
${OPENSSL_LIBRARIES}
${CRYPTO_LIBRARIES}
${BOOST_THREAD_LIBRARY}
)
# tests
#if (LL_TESTS)
if (LL_TESTS AND 0)
if (LL_TESTS)
#if (LL_TESTS AND 0)
SET(llcorehttp_TEST_SOURCE_FILES
test_allocator.cpp
tests/test_allocator.cpp
)
set(llcorehttp_TEST_HEADER_FILS
test_httpstatus.hpp
test_refcounted.hpp
test_httpoperation.hpp
test_httprequest.hpp
test_httprequestqueue.hpp
test_httpheaders.hpp
test_bufferarray.hpp
tests/test_httpstatus.hpp
tests/test_refcounted.hpp
tests/test_httpoperation.hpp
tests/test_httprequest.hpp
tests/test_httprequestqueue.hpp
tests/test_httpheaders.hpp
tests/test_bufferarray.hpp
)
set_source_files_properties(${llcorehttp_TEST_HEADER_FILES}
......@@ -105,13 +106,16 @@ if (LL_TESTS AND 0)
${WINDOWS_LIBRARIES}
${LLCOMMON_LIBRARIES}
${GOOGLEMOCK_LIBRARIES}
${CURL_LIBRARIES}
${OPENSSL_LIBRARIES}
${CRYPTO_LIBRARIES}
)
LL_ADD_INTEGRATION_TEST(all
LL_ADD_INTEGRATION_TEST(llcorehttp
"${llcorehttp_TEST_SOURCE_FILES}"
"${test_libs}"
)
#endif (LL_TESTS)
endif (LL_TESTS AND 0)
endif (LL_TESTS)
#endif (LL_TESTS AND 0)
......@@ -259,6 +259,8 @@ HttpStatus HttpOpRequest::prepareForGet(HttpService * service)
HttpStatus status;
mCurlHandle = curl_easy_init();
curl_easy_setopt(mCurlHandle, CURLOPT_TIMEOUT, 30);
curl_easy_setopt(mCurlHandle, CURLOPT_CONNECTTIMEOUT, 30);
curl_easy_setopt(mCurlHandle, CURLOPT_NOSIGNAL, 1);
curl_easy_setopt(mCurlHandle, CURLOPT_NOPROGRESS, 1);
curl_easy_setopt(mCurlHandle, CURLOPT_URL, mReqURL.c_str());
......
......@@ -27,9 +27,11 @@
#ifndef LLCOREINT_THREAD_H_
#define LLCOREINT_THREAD_H_
#include <boost/thread.hpp>
#include <boost/function.hpp>
#include "_refcounted.h"
#include "_refcounted.h"
namespace LLCoreInt
{
......
......@@ -93,6 +93,8 @@
/// <TBD>
///
#include "linden_common.h"
#include <string>
......
/**
* @file test_all
* @file llcorehttp_test
* @brief Main test runner
*
* $LicenseInfo:firstyear=2012&license=viewerlgpl$
......@@ -41,6 +41,7 @@
#include "test_bufferarray.hpp"
#include "test_httprequestqueue.hpp"
#if 0
namespace tut
{
......@@ -62,3 +63,4 @@ int main()
curl_global_cleanup();
}
#endif
......@@ -26,7 +26,7 @@
#ifndef TEST_LLCORE_BUFFER_ARRAY_H_
#define TEST_LLCORE_BUFFER_ARRAY_H_
#include <core-http/bufferarray.h>
#include "bufferarray.h"
#include <iostream>
......@@ -183,7 +183,6 @@ void BufferArrayTestObjectType::test<4>()
char str1[] = "abcdefghij";
size_t str1_len(strlen(str1));
char str2[] = "ABCDEFGHIJ";
size_t str2_len(strlen(str2));
char buffer[256];
size_t len = ba->write(str1, str1_len);
......
......@@ -26,7 +26,7 @@
#ifndef TEST_LLCORE_HTTP_HEADERS_H_
#define TEST_LLCORE_HTTP_HEADERS_H_
#include <core-http/httpheaders.h>
#include "httpheaders.h"
#include <iostream>
......
......@@ -27,7 +27,7 @@
#define TEST_LLCORE_HTTP_OPERATION_H_
#include "_httpoperation.h"
#include <core-http/httphandler.h>
#include "httphandler.h"
#include <iostream>
......
......@@ -26,11 +26,11 @@
#ifndef TEST_LLCORE_HTTP_REQUEST_H_
#define TEST_LLCORE_HTTP_REQUEST_H_
#include <core-http/httprequest.h>
#include <core-http/httphandler.h>
#include <core-http/httpresponse.h>
#include <core-http/_httpservice.h>
#include <core-http/_httprequestqueue.h>
#include "httprequest.h"
#include "httphandler.h"
#include "httpresponse.h"
#include "_httpservice.h"
#include "_httprequestqueue.h"
#include <curl/curl.h>
......@@ -360,7 +360,7 @@ void HttpRequestTestObjectType::test<5>()
mStatus = HttpStatus(HttpStatus::EXT_CURL_EASY, CURLE_COULDNT_CONNECT);
HttpHandle handle = req->requestGetByteRange(HttpRequest::DEFAULT_POLICY_ID,
0.0f,
"http://localhost:2/nothing/here",
"http://127.0.0.1:2/nothing/here",
0,
0,
NULL,
......
......@@ -27,7 +27,7 @@
#ifndef TEST_HTTP_STATUS_H_
#define TEST_HTTP_STATUS_H_
#include <core-http/httpcommon.h>
#include "httpcommon.h"
#include <curl/curl.h>
#include <curl/multi.h>
......
......@@ -26,7 +26,7 @@
#ifndef TEST_LLCOREINT_REF_COUNTED_H_
#define TEST_LLCOREINT_REF_COUNTED_H_
#include <_refcounted.h>
#include "_refcounted.h"
#include "test_allocator.h"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment