summaryrefslogtreecommitdiff
path: root/cpp/test/include/TestHelper.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/include/TestHelper.h')
-rw-r--r--cpp/test/include/TestHelper.h69
1 files changed, 9 insertions, 60 deletions
diff --git a/cpp/test/include/TestHelper.h b/cpp/test/include/TestHelper.h
index bad48159649..56ce76e31c7 100644
--- a/cpp/test/include/TestHelper.h
+++ b/cpp/test/include/TestHelper.h
@@ -63,72 +63,21 @@ class StreamHelper : public std::streambuf
{
public:
- StreamHelper(ControllerHelper* controllerHelper, bool redirect) : _controllerHelper(controllerHelper)
- {
- setp(&data[0], &data[sizeof(data) - 1]);
- if(redirect)
- {
- _previousLogger = Ice::getProcessLogger();
- Ice::setProcessLogger(Ice::getProcessLogger()->cloneWithPrefix(_controllerHelper->loggerPrefix()));
-
- _previousCoutBuffer = std::cout.rdbuf();
- std::cout.rdbuf(this);
-
- _previousCerrBuffer = std::cerr.rdbuf();
- std::cerr.rdbuf(this);
- }
- }
-
- ~StreamHelper()
- {
- if(_previousLogger)
- {
- Ice::setProcessLogger(_previousLogger);
- std::cout.rdbuf(_previousCoutBuffer);
- std::cerr.rdbuf(_previousCerrBuffer);
- }
- }
+ StreamHelper();
+ ~StreamHelper();
- virtual void flush()
- {
- }
+ void setControllerHelper(ControllerHelper*);
- virtual void newLine()
- {
- _controllerHelper->print("\n");
- }
+ virtual void flush();
+ virtual void newLine();
private:
- int sync()
- {
- assert(_controllerHelper);
- std::streamsize n = pptr() - pbase();
- _controllerHelper->print(std::string(pbase(), static_cast<int>(n)));
- pbump(-static_cast<int>(pptr() - pbase()));
- return 0;
- }
-
- int overflow(int ch)
- {
- sync();
- if(ch != EOF)
- {
- assert(pptr() != epptr());
- sputc(static_cast<char>(ch));
- }
- return 0;
- }
-
- int sputc(char c)
- {
- if(c == '\n')
- {
- pubsync();
- }
- return std::streambuf::sputc(c);
- }
+ virtual int sync();
+ virtual int overflow(int);
+ virtual int sputc(char);
+ IceUtil::Mutex _mutex;
ControllerHelper* _controllerHelper;
char data[1024];
Ice::LoggerPtr _previousLogger;