diff options
Diffstat (limited to 'indra/test')
| -rwxr-xr-x | indra/test/llassetuploadqueue_tut.cpp | 4 | ||||
| -rwxr-xr-x | indra/test/llblowfish_tut.cpp | 2 | ||||
| -rwxr-xr-x | indra/test/llhttpnode_tut.cpp | 3 | ||||
| -rwxr-xr-x | indra/test/llsd_new_tut.cpp | 55 | ||||
| -rwxr-xr-x | indra/test/llsdtraits.h | 2 | ||||
| -rwxr-xr-x | indra/test/lltut.h | 10 | ||||
| -rwxr-xr-x | indra/test/message_tut.cpp | 3 | ||||
| -rwxr-xr-x | indra/test/mock_http_client.cpp | 3 | ||||
| -rwxr-xr-x | indra/test/mock_http_client.h | 23 | ||||
| -rwxr-xr-x | indra/test/test.cpp | 62 | 
10 files changed, 91 insertions, 76 deletions
| diff --git a/indra/test/llassetuploadqueue_tut.cpp b/indra/test/llassetuploadqueue_tut.cpp index ec952e0058..25efe63d3f 100755 --- a/indra/test/llassetuploadqueue_tut.cpp +++ b/indra/test/llassetuploadqueue_tut.cpp @@ -45,11 +45,11 @@ LLAssetUploadResponder::~LLAssetUploadResponder()  {  } -void LLAssetUploadResponder::error(U32 statusNum, const std::string& reason) +void LLAssetUploadResponder::httpFailure()  {  } -void LLAssetUploadResponder::result(const LLSD& content) +void LLAssetUploadResponder::httpSuccess()  {  } diff --git a/indra/test/llblowfish_tut.cpp b/indra/test/llblowfish_tut.cpp index 96e30f4e1e..18eb01363f 100755 --- a/indra/test/llblowfish_tut.cpp +++ b/indra/test/llblowfish_tut.cpp @@ -65,7 +65,7 @@ namespace tut  			}  			if (!fp)  			{ -				LL_WARNS() << "unabled to open " << filename << LL_ENDL; +				LL_WARNS() << "unable to open " << filename << LL_ENDL;  				return false;  			} diff --git a/indra/test/llhttpnode_tut.cpp b/indra/test/llhttpnode_tut.cpp index 216c59d766..c528a34129 100755 --- a/indra/test/llhttpnode_tut.cpp +++ b/indra/test/llhttpnode_tut.cpp @@ -44,7 +44,7 @@ namespace tut  			std::ostringstream pathOutput;  			bool addSlash = false; -			LLSD& remainder = mContext["request"]["remainder"]; +			LLSD& remainder = mContext[CONTEXT_REQUEST]["remainder"];  			for (LLSD::array_const_iterator i = remainder.beginArray();  				i != remainder.endArray();  				++i) @@ -81,6 +81,7 @@ namespace tut  			void result(const LLSD& result) { mResult = result; }  			void status(S32 code, const std::string& message) { }  			void extendedResult(S32 code, const std::string& message, const LLSD& headers) { } +			void extendedResult(S32 code, const LLSD& result, const LLSD& headers) { }  		private:  			Response() {;} // Must be accessed through LLPointer. diff --git a/indra/test/llsd_new_tut.cpp b/indra/test/llsd_new_tut.cpp index f928a1bad0..03df1d339b 100755 --- a/indra/test/llsd_new_tut.cpp +++ b/indra/test/llsd_new_tut.cpp @@ -93,6 +93,18 @@ namespace tut  			ensure(			s + " type",	traits.checkType(actual));  			ensure_equals(	s + " value",	traits.get(actual), expectedValue);  		} + +		template<class T> +		static void ensureTypeAndRefValue(const char* msg, const LLSD& actual, +			const T& expectedValue) +		{ +			LLSDTraits<const T&> traits; +			 +			std::string s(msg); +			 +			ensure(			s + " type",	traits.checkType(actual)); +			ensure_equals(	s + " value",	traits.get(actual), expectedValue); +		}  	};  	typedef test_group<SDTestData>	SDTestGroup; @@ -162,7 +174,7 @@ namespace tut  		std::vector<U8> data;  		copy(&source[0], &source[sizeof(source)], back_inserter(data)); -		v = data;		ensureTypeAndValue("set to data", v, data); +		v = data;		ensureTypeAndRefValue("set to data", v, data);  		v.clear();  		ensure("reset to undefined", v.type() == LLSD::TypeUndefined); @@ -213,8 +225,8 @@ namespace tut  		const char source[] = "once in a blue moon";  		std::vector<U8> data;  		copy(&source[0], &source[sizeof(source)], back_inserter(data)); -		LLSD x1(data);	ensureTypeAndValue("construct vector<U8>", x1, data); -		LLSD x2 = data;	ensureTypeAndValue("initialize vector<U8>", x2, data); +		LLSD x1(data);	ensureTypeAndRefValue("construct vector<U8>", x1, data); +		LLSD x2 = data;	ensureTypeAndRefValue("initialize vector<U8>", x2, data);  	}  	void checkConversions(const char* msg, const LLSD& v, @@ -757,42 +769,6 @@ namespace tut  		{  			SDAllocationCheck check("shared values test for threaded work", 9); -			//U32 start_llsd_count = llsd::outstandingCount(); - -			LLSD m = LLSD::emptyMap(); - -			m["one"] = 1; -			m["two"] = 2; -			m["one_copy"] = m["one"];			// 3 (m, "one" and "two") - -			m["undef_one"] = LLSD(); -			m["undef_two"] = LLSD(); -			m["undef_one_copy"] = m["undef_one"]; - -			{	// Ensure first_array gets freed to avoid counting it -				LLSD first_array = LLSD::emptyArray(); -				first_array.append(1.0f); -				first_array.append(2.0f);			 -				first_array.append(3.0f);			// 7 - -				m["array"] = first_array; -				m["array_clone"] = first_array; -				m["array_copy"] = m["array"];		// 7 -			} - -			m["string_one"] = "string one value"; -			m["string_two"] = "string two value"; -			m["string_one_copy"] = m["string_one"];		// 9 - -			//U32 llsd_object_count = llsd::outstandingCount(); -			//std::cout << "Using " << (llsd_object_count - start_llsd_count) << " LLSD objects" << std::endl; - -			//m.dumpStats(); -		} - -		{ -			SDAllocationCheck check("shared values test for threaded work", 9); -  			//U32 start_llsd_count = LLSD::outstandingCount();  			LLSD m = LLSD::emptyMap(); @@ -852,3 +828,4 @@ namespace tut  		test serializations  	*/  } + diff --git a/indra/test/llsdtraits.h b/indra/test/llsdtraits.h index 8144aaee94..07f6193ce2 100755 --- a/indra/test/llsdtraits.h +++ b/indra/test/llsdtraits.h @@ -93,7 +93,7 @@ LLSDTraits<LLSD::URI>::LLSDTraits()  { }  template<> inline -LLSDTraits<LLSD::Binary>::LLSDTraits() +LLSDTraits<const LLSD::Binary&>::LLSDTraits()  	: type(LLSD::TypeBinary), getter(&LLSD::asBinary)  { } diff --git a/indra/test/lltut.h b/indra/test/lltut.h index 55d84bcaca..243e869be7 100755 --- a/indra/test/lltut.h +++ b/indra/test/lltut.h @@ -65,6 +65,16 @@ namespace tut  		ensure_approximately_equals(NULL, actual, expected, frac_bits);  	} +	inline void ensure_approximately_equals_range(const char *msg, F32 actual, F32 expected, F32 delta) +	{ +		if (fabs(actual-expected)>delta) +		{ +			std::stringstream ss; +			ss << (msg?msg:"") << (msg?": ":"") << "not equal actual: " << actual << " expected: " << expected << " tolerance: " << delta; +			throw tut::failure(ss.str().c_str()); +		} +	} +  	inline void ensure_memory_matches(const char* msg,const void* actual, U32 actual_len, const void* expected,U32 expected_len)  	{  		if((expected_len != actual_len) ||  diff --git a/indra/test/message_tut.cpp b/indra/test/message_tut.cpp index 4c0463c65c..57e423e550 100755 --- a/indra/test/message_tut.cpp +++ b/indra/test/message_tut.cpp @@ -45,6 +45,7 @@ namespace  			mStatus = code;  		}  		virtual void extendedResult(S32 code, const std::string& message, const LLSD& headers) { } +		virtual void extendedResult(S32 code, const LLSD& result, const LLSD& headers) { }  		S32 mStatus;  	};  } @@ -141,7 +142,7 @@ namespace tut  		const LLSD message;  		const LLPointer<Response> response = new Response();  		gMessageSystem->dispatch(name, message, response); -		ensure_equals(response->mStatus, 404); +		ensure_equals(response->mStatus, HTTP_NOT_FOUND);  	}  } diff --git a/indra/test/mock_http_client.cpp b/indra/test/mock_http_client.cpp index d7ef407d52..e72902bfc2 100755 --- a/indra/test/mock_http_client.cpp +++ b/indra/test/mock_http_client.cpp @@ -25,8 +25,7 @@   */  #include "linden_common.h" -#include "llsdhttpserver.h" -#include "lliohttpserver.h" +#include "llhttpnode.h"  namespace tut  { diff --git a/indra/test/mock_http_client.h b/indra/test/mock_http_client.h index 7668a43fdf..a2b9b435fb 100755 --- a/indra/test/mock_http_client.h +++ b/indra/test/mock_http_client.h @@ -98,7 +98,7 @@ namespace tut  			if (mSawError)  			{  				std::string msg = -					llformat("error() called when not expected, status %d", +					llformat("httpFailure() called when not expected, status %d",  						mStatus);   				fail(msg);  			} @@ -108,7 +108,7 @@ namespace tut  		{  			if (!mSawError)  			{ -				fail("error() wasn't called"); +				fail("httpFailure() wasn't called");  			}  		} @@ -119,7 +119,7 @@ namespace tut  	protected:  		bool mSawError; -		U32 mStatus; +		S32 mStatus;  		std::string mReason;  		bool mSawCompleted;  		LLSD mResult; @@ -144,23 +144,22 @@ namespace tut  				mClient.mResultDeleted = true;  			} -			virtual void error(U32 status, const std::string& reason) +		protected: +			virtual void httpFailure()  			{  				mClient.mSawError = true; -				mClient.mStatus = status; -				mClient.mReason = reason; +				mClient.mStatus = getStatus(); +				mClient.mReason = getReason();  			} -			virtual void result(const LLSD& content) +			virtual void httpSuccess()  			{ -				mClient.mResult = content; +				mClient.mResult = getContent();  			} -			virtual void completed( -							U32 status, const std::string& reason, -							const LLSD& content) +			virtual void httpCompleted()  			{ -				LLHTTPClient::Responder::completed(status, reason, content); +				LLHTTPClient::Responder::httpCompleted();  				mClient.mSawCompleted = true;  			} diff --git a/indra/test/test.cpp b/indra/test/test.cpp index 10f71a2843..e42374d56b 100755 --- a/indra/test/test.cpp +++ b/indra/test/test.cpp @@ -95,25 +95,20 @@ public:  	virtual void replay(std::ostream&) {}  }; -class LLReplayLogReal: public LLReplayLog, public LLError::Recorder, public boost::noncopyable +class RecordToTempFile : public LLError::Recorder, public boost::noncopyable  {  public: -	LLReplayLogReal(LLError::ELevel level, apr_pool_t* pool): -		mOldSettings(LLError::saveAndResetSettings()), -		mProxy(new RecorderProxy(this)), -		mTempFile("log", "", pool),		// create file -		mFile(mTempFile.getName().c_str()) // open it +	RecordToTempFile(apr_pool_t* pPool) +		: LLError::Recorder(), +		boost::noncopyable(), +		mTempFile("log", "", pPool), +		mFile(mTempFile.getName().c_str())  	{ -		LLError::setFatalFunction(wouldHaveCrashed); -		LLError::setDefaultLevel(level); -		LLError::addRecorder(mProxy);  	} -	virtual ~LLReplayLogReal() +	virtual ~RecordToTempFile()  	{ -		LLError::removeRecorder(mProxy); -		delete mProxy; -		LLError::restoreSettings(mOldSettings); +		mFile.close();  	}  	virtual void recordMessage(LLError::ELevel level, const std::string& message) @@ -121,13 +116,13 @@ public:  		mFile << message << std::endl;  	} -	virtual void reset() +	void reset()  	{  		mFile.close();  		mFile.open(mTempFile.getName().c_str());  	} -	virtual void replay(std::ostream& out) +	void replay(std::ostream& out)  	{  		mFile.close();  		std::ifstream inf(mTempFile.getName().c_str()); @@ -139,12 +134,45 @@ public:  	}  private: -	LLError::Settings* mOldSettings; -	LLError::Recorder* mProxy;  	NamedTempFile mTempFile;  	std::ofstream mFile;  }; +class LLReplayLogReal: public LLReplayLog, public boost::noncopyable +{ +public: +	LLReplayLogReal(LLError::ELevel level, apr_pool_t* pool) +		: LLReplayLog(), +		boost::noncopyable(), +		mOldSettings(LLError::saveAndResetSettings()), +		mRecorder(new RecordToTempFile(pool)) +	{ +		LLError::setFatalFunction(wouldHaveCrashed); +		LLError::setDefaultLevel(level); +		LLError::addRecorder(mRecorder); +	} + +	virtual ~LLReplayLogReal() +	{ +		LLError::removeRecorder(mRecorder); +		LLError::restoreSettings(mOldSettings); +	} + +	virtual void reset() +	{ +		boost::dynamic_pointer_cast<RecordToTempFile>(mRecorder)->reset(); +	} + +	virtual void replay(std::ostream& out) +	{ +		boost::dynamic_pointer_cast<RecordToTempFile>(mRecorder)->replay(out); +	} + +private: +	LLError::SettingsStoragePtr mOldSettings; +	LLError::RecorderPtr mRecorder; +}; +  class LLTestCallback : public tut::callback  {  public: | 
