summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2012-08-10 15:38:13 +1000
committerChase Douglas <chase.douglas@canonical.com>2012-08-13 09:35:29 -0700
commitaac17b1b9284fc72604abfc76e3ab3f85eec3bd2 (patch)
tree6969bb8b31d65ddbc8c620034f8407170eed7c92
parent340c07db1cbaa5fab10985d270fb30a2751abf61 (diff)
xserver: add destructor to tear down the server
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
-rw-r--r--include/xorg/gtest/xorg-gtest-xserver.h1
-rw-r--r--src/xserver.cpp6
2 files changed, 7 insertions, 0 deletions
diff --git a/include/xorg/gtest/xorg-gtest-xserver.h b/include/xorg/gtest/xorg-gtest-xserver.h
index ee2b0e3..f3bda9b 100644
--- a/include/xorg/gtest/xorg-gtest-xserver.h
+++ b/include/xorg/gtest/xorg-gtest-xserver.h
@@ -59,6 +59,7 @@ namespace testing {
class XServer : public xorg::testing::Process {
public:
XServer();
+ ~XServer();
/**
* Start a new server. If no binary is given, the server started is the
diff --git a/src/xserver.cpp b/src/xserver.cpp
index 244a96e..86c8484 100644
--- a/src/xserver.cpp
+++ b/src/xserver.cpp
@@ -68,6 +68,12 @@ xorg::testing::XServer::XServer() : d_(new Private) {
SetDisplayNumber(d_->display_number);
}
+xorg::testing::XServer::~XServer() {
+ if (Pid() > 0)
+ if (!Terminate(3000))
+ Kill(300);
+}
+
void xorg::testing::XServer::SetDisplayNumber(unsigned int display_number) {
d_->display_number = display_number;