[PATCH xorg-gtest 07/11] Move default log/config setting back to environment

Peter Hutterer peter.hutterer at who-t.net
Mon Oct 29 18:38:29 PDT 2012


This was moved out of the Environment when the XServer class was added, but
it really doesn't belong there. Users of XServer should set custom config
and log file paths (if any) directly instead of having to undo the
libraries' defaults.

Move it back into the environment to avoid breaking users of that, but
really, this shouldn't even be in the environment either but rather in the caller
that needs those defaults.

Also move default path and display settings. Note that these are the same
defaults in the environment and in the server.

Since we can't rely on -displayfd yet, I'll leave the default display in
XServer to ensure the server always starts up (:133 is not likely to be in
use) and to auto-compose the display string for XOpenDisplay().

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 src/environment.cpp   | 17 ++++++++++-------
 src/xserver.cpp       |  3 ---
 test/Makefile.am      |  3 ++-
 test/xserver-test.cpp |  8 ++++++++
 4 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/src/environment.cpp b/src/environment.cpp
index 44d6b2e..6799427 100644
--- a/src/environment.cpp
+++ b/src/environment.cpp
@@ -42,8 +42,14 @@
 
 #include <X11/Xlib.h>
 
+#include "defines.h"
+
 struct xorg::testing::Environment::Private {
-  Private() : display(-1) {
+  Private() : path_to_conf(DUMMY_CONF_PATH),
+              path_to_log_file(DEFAULT_XORG_LOGFILE),
+              path_to_server(DEFAULT_XORG_SERVER),
+              display(DEFAULT_DISPLAY)
+  {
   }
   std::string path_to_conf;
   std::string path_to_log_file;
@@ -99,12 +105,9 @@ void xorg::testing::Environment::SetDisplayNumber(int display_num)
 }
 
 void xorg::testing::Environment::SetUp() {
-  if (d_->display >= 0)
-    d_->server.SetDisplayNumber(d_->display);
-  if (d_->path_to_log_file.length())
-    d_->server.SetOption("-logfile", d_->path_to_log_file);
-  if (d_->path_to_conf.length())
-    d_->server.SetOption("-config", d_->path_to_log_file);
+  d_->server.SetDisplayNumber(d_->display);
+  d_->server.SetOption("-logfile", d_->path_to_log_file);
+  d_->server.SetOption("-config", d_->path_to_conf);
   d_->server.Start(d_->path_to_server);
 
   Process::SetEnv("DISPLAY", d_->server.GetDisplayString(), true);
diff --git a/src/xserver.cpp b/src/xserver.cpp
index c511fab..0c8f342 100644
--- a/src/xserver.cpp
+++ b/src/xserver.cpp
@@ -52,9 +52,6 @@ struct xorg::testing::XServer::Private {
   Private()
       : display_number(DEFAULT_DISPLAY),
         path_to_server(DEFAULT_XORG_SERVER) {
-
-    options["-config"] = DUMMY_CONF_PATH;
-    options["-logfile"] = DEFAULT_XORG_LOGFILE;
   }
 
   unsigned int display_number;
diff --git a/test/Makefile.am b/test/Makefile.am
index cab7cf7..a1f94cb 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -55,7 +55,8 @@ process_test_helper_SOURCES = process-test-helper.cpp
 process_test_helper_CPPFLAGS = $(AM_CPPFLAGS)
 
 xserver_test_SOURCES = xserver-test.cpp
-xserver_test_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/include
+xserver_test_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/include \
+			-DDUMMY_CONF_PATH="\"$(top_srcdir)/data/xorg/gtest/dummy.conf\""
 xserver_test_LDADD =  $(tests_libraries)
 
 xserver_test_helper_SOURCES = xserver-test-helper.cpp
diff --git a/test/xserver-test.cpp b/test/xserver-test.cpp
index e41267d..70402fc 100644
--- a/test/xserver-test.cpp
+++ b/test/xserver-test.cpp
@@ -20,6 +20,7 @@ TEST(XServer, LogRemoval)
 
   XServer server;
   server.SetOption("-logfile", logfile);
+  server.SetOption("-config", DUMMY_CONF_PATH);
   server.Start();
   server.Terminate(3000);
   server.RemoveLogFile();
@@ -63,6 +64,7 @@ TEST(XServer, WaitForSIGUSR1)
   for (int i = 0; i < 20; i++) {
     XServer server;
     server.SetOption("-logfile", "/tmp/xorg-testing-xserver-sigusr1.log");
+    server.SetOption("-config", DUMMY_CONF_PATH);
     server.SetOption("-noreset", "");
     server.Start();
     ASSERT_EQ(server.GetState(), Process::RUNNING);
@@ -103,6 +105,7 @@ TEST(XServer, WaitForDeviceEventMask)
 
   XServer server;
   server.SetOption("-logfile", "/tmp/Xorg-WaitForDevice.log");
+  server.SetOption("-config", DUMMY_CONF_PATH);
   server.SetOption("-noreset", "");
   server.Start();
   ASSERT_EQ(server.GetState(), Process::RUNNING);
@@ -165,6 +168,7 @@ TEST(XServer, WaitForExistingDevice)
 
   XServer server;
   server.SetOption("-logfile", "/tmp/Xorg-WaitForDevice.log");
+  server.SetOption("-config", DUMMY_CONF_PATH);
   server.SetOption("-noreset", "");
   server.Start();
   ASSERT_EQ(server.GetState(), Process::RUNNING);
@@ -180,6 +184,7 @@ TEST(XServer, WaitForNewDevice)
 
   XServer server;
   server.SetOption("-logfile", "/tmp/Xorg-WaitForDevice.log");
+  server.SetOption("-config", DUMMY_CONF_PATH);
   server.SetOption("-noreset", "");
   server.Start();
   ASSERT_EQ(server.GetState(), Process::RUNNING);
@@ -197,6 +202,7 @@ TEST(XServer, IOErrorException)
   ASSERT_THROW({
   XServer server;
   server.SetOption("-logfile", "/tmp/xorg-io-error-test.log");
+  server.SetOption("-config", DUMMY_CONF_PATH);
   server.SetOption("-noreset", "");
   server.Start();
   ASSERT_EQ(server.GetState(), Process::RUNNING);
@@ -224,6 +230,7 @@ TEST(XServer, KeepAlive)
 
     XServer server;
     server.SetOption("-logfile", "/tmp/Xorg-keepalive.log");
+    server.SetOption("-config", DUMMY_CONF_PATH);
     server.SetOption("-noreset", "");
     server.Start();
     ASSERT_EQ(server.GetState(), Process::RUNNING);
@@ -278,6 +285,7 @@ TEST(XServer, RemoveOption)
 {
   XServer server;
   server.SetOption("-fail", "yes");
+  server.SetOption("-logfile", "/tmp/Xorg-remove-option.log");
   server.Start(TEST_ROOT_DIR "/xserver-test-helper");
   ASSERT_EQ(server.GetState(), Process::FINISHED_FAILURE);
 
-- 
1.7.11.7



More information about the xorg-devel mailing list