Re-enabled llapp_tut.cpp test for testing. Copied llapp_tut.cpp from server directory.
The commented line indicates threading breakage in the LLApp test, but I have not seen evidence of this so far while testing on linux.meow-7.2.2
parent
8a289a161d
commit
dc58b5207b
|
|
@ -32,7 +32,7 @@ include_directories(
|
|||
|
||||
set(test_SOURCE_FILES
|
||||
io.cpp
|
||||
# llapp_tut.cpp # Temporarily removed until thread issues can be solved
|
||||
llapp_tut.cpp
|
||||
llblowfish_tut.cpp
|
||||
llbuffer_tut.cpp
|
||||
lldoubledispatch_tut.cpp
|
||||
|
|
@ -48,7 +48,7 @@ set(test_SOURCE_FILES
|
|||
llscriptresource_tut.cpp
|
||||
llsdmessagebuilder_tut.cpp
|
||||
llsdmessagereader_tut.cpp
|
||||
llsd_new_tut.cpp # Fails [LLSD(new), 4] fail: 'NaN to string: expected 'nan' actual '-nan''
|
||||
llsd_new_tut.cpp
|
||||
llsdutil_tut.cpp
|
||||
llservicebuilder_tut.cpp
|
||||
llstreamtools_tut.cpp
|
||||
|
|
|
|||
|
|
@ -0,0 +1,162 @@
|
|||
/**
|
||||
* @file llapp_tut.cpp
|
||||
* @author Phoenix
|
||||
* @date 2006-09-12
|
||||
*
|
||||
* $LicenseInfo:firstyear=2006&license=viewerlgpl$
|
||||
* Second Life Viewer Source Code
|
||||
* Copyright (C) 2006-2011, Linden Research, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation;
|
||||
* version 2.1 of the License only.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
|
||||
* $/LicenseInfo$
|
||||
*/
|
||||
|
||||
#include <tut/tut.hpp>
|
||||
|
||||
#include "linden_common.h"
|
||||
#include "llapp.h"
|
||||
#include "lltut.h"
|
||||
|
||||
|
||||
namespace tut
|
||||
{
|
||||
struct application
|
||||
{
|
||||
class LLTestApp : public LLApp
|
||||
{
|
||||
public:
|
||||
virtual bool init() { return true; }
|
||||
virtual bool cleanup() { return true; }
|
||||
virtual bool mainLoop() { return true; }
|
||||
};
|
||||
LLTestApp* mApp;
|
||||
application()
|
||||
{
|
||||
mApp = new LLTestApp;
|
||||
}
|
||||
~application()
|
||||
{
|
||||
delete mApp;
|
||||
}
|
||||
};
|
||||
|
||||
typedef test_group<application> application_t;
|
||||
typedef application_t::object application_object_t;
|
||||
tut::application_t tut_application("application");
|
||||
|
||||
template<> template<>
|
||||
void application_object_t::test<1>()
|
||||
{
|
||||
LLSD defaults;
|
||||
defaults["template"] = "../../../scripts/messages/message_template.msg";
|
||||
defaults["configdir"] = ".";
|
||||
defaults["datadir"] = "data";
|
||||
mApp->setOptionData(LLApp::PRIORITY_DEFAULT, defaults);
|
||||
|
||||
LLSD datadir_sd = mApp->getOption("datadir");
|
||||
ensure_equals("data type", datadir_sd.type(), LLSD::TypeString);
|
||||
ensure_equals(
|
||||
"data value", datadir_sd.asString(), std::string("data"));
|
||||
}
|
||||
|
||||
template<> template<>
|
||||
void application_object_t::test<2>()
|
||||
{
|
||||
const int ARGC = 13;
|
||||
const char* ARGV[ARGC] =
|
||||
{
|
||||
"", // argv[0] is usually the application name
|
||||
"-crashcount",
|
||||
"2",
|
||||
"-space",
|
||||
"spaceserver.grid.lindenlab.com",
|
||||
"-db_host",
|
||||
"localhost",
|
||||
"--allowlslhttprequests",
|
||||
"-asset-uri",
|
||||
"http://test.lindenlab.com/assets",
|
||||
"-data",
|
||||
"127.0.0.1",
|
||||
"--smtp"
|
||||
};
|
||||
bool ok = mApp->parseCommandOptions(ARGC, const_cast<char**>(ARGV));
|
||||
ensure("command line parsed", ok);
|
||||
ensure_equals(
|
||||
"crashcount", mApp->getOption("crashcount").asInteger(), 2);
|
||||
ensure_equals(
|
||||
"space",
|
||||
mApp->getOption("space").asString(),
|
||||
std::string("spaceserver.grid.lindenlab.com"));
|
||||
ensure_equals(
|
||||
"db_host",
|
||||
mApp->getOption("db_host").asString(),
|
||||
std::string("localhost"));
|
||||
ensure("allowlshlttprequests", mApp->getOption("smtp"));
|
||||
ensure_equals(
|
||||
"asset-uri",
|
||||
mApp->getOption("asset-uri").asString(),
|
||||
std::string("http://test.lindenlab.com/assets"));
|
||||
ensure_equals(
|
||||
"data",
|
||||
mApp->getOption("data").asString(),
|
||||
std::string("127.0.0.1"));
|
||||
ensure("smtp", mApp->getOption("smtp"));
|
||||
}
|
||||
|
||||
template<> template<>
|
||||
void application_object_t::test<3>()
|
||||
{
|
||||
const int ARGC = 4;
|
||||
const char* ARGV[ARGC] =
|
||||
{
|
||||
"", // argv[0] is usually the application name
|
||||
"crashcount",
|
||||
"2",
|
||||
"--space"
|
||||
};
|
||||
bool ok = mApp->parseCommandOptions(ARGC, const_cast<char**>(ARGV));
|
||||
ensure("command line parse failure", !ok);
|
||||
}
|
||||
|
||||
template<> template<>
|
||||
void application_object_t::test<4>()
|
||||
{
|
||||
const int ARGC = 4;
|
||||
const char* ARGV[ARGC] =
|
||||
{
|
||||
"", // argv[0] is usually the application name
|
||||
"--crashcount",
|
||||
"2",
|
||||
"space"
|
||||
};
|
||||
bool ok = mApp->parseCommandOptions(ARGC, const_cast<char**>(ARGV));
|
||||
ensure("command line parse failure", !ok);
|
||||
}
|
||||
|
||||
|
||||
template<> template<>
|
||||
void application_object_t::test<5>()
|
||||
{
|
||||
LLSD options;
|
||||
options["boolean-test"] = true;
|
||||
mApp->setOptionData(LLApp::PRIORITY_GENERAL_CONFIGURATION, options);
|
||||
ensure("bool set", mApp->getOption("boolean-test").asBoolean());
|
||||
options["boolean-test"] = false;
|
||||
mApp->setOptionData(LLApp::PRIORITY_RUNTIME_OVERRIDE, options);
|
||||
ensure("bool unset", !mApp->getOption("boolean-test").asBoolean());
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue