diff options
Diffstat (limited to 'test/source/cpp/officeconnection.cxx')
-rw-r--r-- | test/source/cpp/officeconnection.cxx | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/source/cpp/officeconnection.cxx b/test/source/cpp/officeconnection.cxx index a40451eb30ae..9c8d4d549b71 100644 --- a/test/source/cpp/officeconnection.cxx +++ b/test/source/cpp/officeconnection.cxx @@ -170,6 +170,7 @@ void OfficeConnection::tearDown() { osl_getProcessInfo(process_, osl_Process_EXITCODE, &info)); CPPUNIT_ASSERT_EQUAL(oslProcessExitCode(0), info.Code); osl_freeProcessHandle(process_); + process_ = 0; // guard against subsequent calls to isStillAlive } } @@ -178,6 +179,14 @@ OfficeConnection::getComponentContext() const { return context_; } +bool OfficeConnection::isStillAlive() const { + OSL_ASSERT(process_ != 0); + TimeValue delay = { 0, 0 }; // 0 sec + oslProcessError e = osl_joinProcessWithTimeout(process_, &delay); + CPPUNIT_ASSERT(e == osl_Process_E_None || e == osl_Process_E_TimedOut); + return e == osl_Process_E_TimedOut; +} + } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |