diff options
Diffstat (limited to 'indra/test/message_tut.cpp')
-rw-r--r-- | indra/test/message_tut.cpp | 95 |
1 files changed, 71 insertions, 24 deletions
diff --git a/indra/test/message_tut.cpp b/indra/test/message_tut.cpp index 5d9f6ee65e..d971b33475 100644 --- a/indra/test/message_tut.cpp +++ b/indra/test/message_tut.cpp @@ -3,38 +3,35 @@ * @date 2007-04 * @brief LLDataPacker test cases. * - * $LicenseInfo:firstyear=2007&license=viewergpl$ - * - * Copyright (c) 2007, Linden Research, Inc. - * + * $LicenseInfo:firstyear=2007&license=viewerlgpl$ * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlife.com/developers/opensource/gplv2 + * Copyright (C) 2010, 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. * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at http://secondlife.com/developers/opensource/flossexception + * 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. * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. + * 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 * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ -#include <tut/tut.h> +#include <tut/tut.hpp> #include "linden_common.h" #include "lltut.h" #include "llapr.h" +#include "llmessageconfig.h" +#include "llsdserialize.h" #include "llversionserver.h" #include "message.h" #include "message_prehash.h" @@ -48,6 +45,7 @@ namespace { mStatus = code; } + virtual void extendedResult(S32 code, const std::string& message, const LLSD& headers) { } S32 mStatus; }; } @@ -56,15 +54,21 @@ namespace tut { struct LLMessageSystemTestData { + std::string mTestConfigDir; + std::string mSep; + LLMessageSystemTestData() { static bool init = false; - if(! init) + if(!init) { ll_init_apr(); - init_prehash_data(); + //init_prehash_data(); init = true; } + const F32 circuit_heartbeat_interval=5; + const F32 circuit_timeout=100; + // currently test disconnected message system start_messaging_system("notafile", 13035, @@ -72,7 +76,28 @@ namespace tut LL_VERSION_MINOR, LL_VERSION_PATCH, FALSE, - "notasharedsecret"); + "notasharedsecret", + NULL, + false, + circuit_heartbeat_interval, + circuit_timeout + ); + // generate temp dir + std::ostringstream ostr; +#if LL_WINDOWS + mSep = "\\"; + ostr << "C:" << mSep; +#else + mSep = "/"; + ostr << mSep << "tmp" << mSep; +#endif + LLUUID random; + random.generate(); + ostr << "message-test-" << random; + mTestConfigDir = ostr.str(); + LLFile::mkdir(mTestConfigDir); + writeConfigFile(LLSD()); + LLMessageConfig::initClass("simulator", ostr.str()); } ~LLMessageSystemTestData() @@ -80,6 +105,28 @@ namespace tut // not end_messaging_system() delete gMessageSystem; gMessageSystem = NULL; + + // rm contents of temp dir + std::ostringstream ostr; + ostr << mTestConfigDir << mSep << "message.xml"; + int rmfile = LLFile::remove(ostr.str()); + ensure_equals("rmfile value", rmfile, 0); + + // rm temp dir + int rmdir = LLFile::rmdir(mTestConfigDir); + ensure_equals("rmdir value", rmdir, 0); + } + + void writeConfigFile(const LLSD& config) + { + std::ostringstream ostr; + ostr << mTestConfigDir << mSep << "message.xml"; + llofstream file(ostr.str()); + if (file.is_open()) + { + LLSDSerialize::toPrettyXML(config, file); + } + file.close(); } }; |