summaryrefslogtreecommitdiff
path: root/test/source/cpp/officeconnection.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'test/source/cpp/officeconnection.cxx')
-rw-r--r--test/source/cpp/officeconnection.cxx9
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: */