diff options
| author | Adam Moss <moss@lindenlab.com> | 2009-03-09 23:42:07 +0000 |
|---|---|---|
| committer | Adam Moss <moss@lindenlab.com> | 2009-03-09 23:42:07 +0000 |
| commit | 7573288ab3ede23f97bff2f5caefcb622e7e9842 (patch) | |
| tree | 1429e7d758e282e123d31a21246603d0b9814273 /indra/llmessage/tests/commtest.h | |
| parent | 2d60d45aead0b49787fb8ad8b5a03614fe17c170 (diff) | |
svn merge -r113780:113785
svn+ssh://svn.lindenlab.com/svn/linden/branches/moss/gst3-t113732
QAR-1333 linux gstreamer compatibility improvements and ADD_BUILD_TEST
improvements - combo merge
Diffstat (limited to 'indra/llmessage/tests/commtest.h')
| -rw-r--r-- | indra/llmessage/tests/commtest.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/indra/llmessage/tests/commtest.h b/indra/llmessage/tests/commtest.h new file mode 100644 index 0000000000..7360230451 --- /dev/null +++ b/indra/llmessage/tests/commtest.h @@ -0,0 +1,60 @@ +/** + * @file commtest.h + * @author Nat Goodspeed + * @date 2009-01-09 + * @brief + * + * $LicenseInfo:firstyear=2009&license=viewergpl$ + * Copyright (c) 2009, Linden Research, Inc. + * $/LicenseInfo$ + */ + +#if ! defined(LL_COMMTEST_H) +#define LL_COMMTEST_H + +#include "networkio.h" +#include "llevents.h" +#include "llsd.h" +#include "llhost.h" +#include "stringize.h" +#include <string> + +/** + * This struct is shared by a couple of standalone comm tests (ADD_COMM_BUILD_TEST). + */ +struct commtest_data +{ + NetworkIO& netio; + LLEventPumps& pumps; + LLEventStream replyPump, errorPump; + LLSD result; + bool success; + LLHost host; + std::string server; + + commtest_data(): + netio(NetworkIO::instance()), + pumps(LLEventPumps::instance()), + replyPump("reply"), + errorPump("error"), + success(false), + host("127.0.0.1", 8000), + server(STRINGIZE("http://" << host.getString() << "/")) + { + replyPump.listen("self", boost::bind(&commtest_data::outcome, this, _1, true)); + errorPump.listen("self", boost::bind(&commtest_data::outcome, this, _1, false)); + } + + bool outcome(const LLSD& _result, bool _success) + { +// std::cout << "commtest_data::outcome(" << _result << ", " << _success << ")\n"; + result = _result; + success = _success; + // Break the wait loop in NetworkIO::pump(), otherwise devs get + // irritated at making the big monolithic test executable take longer + pumps.obtain("done").post(success); + return false; + } +}; + +#endif /* ! defined(LL_COMMTEST_H) */ |
