diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2012-10-29 10:29:04 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2012-11-07 13:14:08 +1000 |
commit | 34727b66dce19c9f4b6fda5b4737ecbb8b324776 (patch) | |
tree | a8a3b7f5cc57d054211ec8fe7b9ee799a4473faa | |
parent | 800d2c0a4f25d7c92c1db27d9945c746bd08f0cb (diff) |
Make default log path configurable
/tmp is fine in most cases, but make it configurable through a configure
option
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | m4/ac_define_dir.m4 | 49 | ||||
-rw-r--r-- | src/defines.h | 2 | ||||
-rw-r--r-- | test/xserver-test.cpp | 16 | ||||
-rw-r--r-- | xorg-gtest.pc.in | 2 |
5 files changed, 65 insertions, 10 deletions
diff --git a/configure.ac b/configure.ac index e3afde3..8d52928 100644 --- a/configure.ac +++ b/configure.ac @@ -26,6 +26,12 @@ XORG_ENABLE_INTEGRATION_TESTS([yes]) XORG_WITH_DOXYGEN PKG_CHECK_MODULES(X11, x11 xi) + +AC_ARG_WITH(logfile-dir, [AS_HELP_STRING([--with-logfile-dir=/tmp]), + [Base path for log files used as defaults and during tests (default: /tmp)]], + [LOGFILE_DIR="$withval"], [LOGFILE_DIR="/tmp"]) +AC_DEFINE_DIR(LOGFILE_DIR, LOGFILE_DIR, [Log file path]) +AC_SUBST(DUMMY_CONF_PATH, ['${LOGFILE_DIR}']) # Check if we should include support for evemu AC_ARG_WITH([evemu], diff --git a/m4/ac_define_dir.m4 b/m4/ac_define_dir.m4 new file mode 100644 index 0000000..db42d3e --- /dev/null +++ b/m4/ac_define_dir.m4 @@ -0,0 +1,49 @@ +# =========================================================================== +# http://autoconf-archive.cryp.to/ac_define_dir.html +# =========================================================================== +# +# SYNOPSIS +# +# AC_DEFINE_DIR(VARNAME, DIR [, DESCRIPTION]) +# +# DESCRIPTION +# +# This macro sets VARNAME to the expansion of the DIR variable, taking +# care of fixing up ${prefix} and such. +# +# VARNAME is then offered as both an output variable and a C preprocessor +# symbol. +# +# Example: +# +# AC_DEFINE_DIR([DATADIR], [datadir], [Where data are placed to.]) +# +# LAST MODIFICATION +# +# 2008-04-12 +# +# COPYLEFT +# +# Copyright (c) 2008 Stepan Kasal <kasal@ucw.cz> +# Copyright (c) 2008 Andreas Schwab <schwab@suse.de> +# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de> +# Copyright (c) 2008 Alexandre Oliva +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. + +AC_DEFUN([AC_DEFINE_DIR], [ + prefix_NONE= + exec_prefix_NONE= + test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix + test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix +dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn +dnl refers to ${prefix}. Thus we have to use `eval' twice. + eval ac_define_dir="\"[$]$2\"" + eval ac_define_dir="\"$ac_define_dir\"" + AC_SUBST($1, "$ac_define_dir") + AC_DEFINE_UNQUOTED($1, "$ac_define_dir", [$3]) + test "$prefix_NONE" && prefix=NONE + test "$exec_prefix_NONE" && exec_prefix=NONE +]) diff --git a/src/defines.h b/src/defines.h index 3fb3304..dd0f9e4 100644 --- a/src/defines.h +++ b/src/defines.h @@ -1,7 +1,7 @@ #ifndef XORGGTEST_DEFINES #define XORGGTEST_DEFINES -#define DEFAULT_XORG_LOGFILE "/tmp/Xorg.GTest.log" +#define DEFAULT_XORG_LOGFILE LOGFILE_DIR "/Xorg.GTest.log" #define DEFAULT_DISPLAY 133 /* Allow user to override default Xorg server*/ diff --git a/test/xserver-test.cpp b/test/xserver-test.cpp index 70402fc..cdf0bd9 100644 --- a/test/xserver-test.cpp +++ b/test/xserver-test.cpp @@ -13,7 +13,7 @@ using namespace xorg::testing; TEST(XServer, LogRemoval) { XORG_TESTCASE("X server startup and log file removal on success and error"); - std::string logfile = "/tmp/xorg-testing-xserver_____________.log"; + std::string logfile = LOGFILE_DIR "/xorg-testing-xserver_____________.log"; /* make sure a previous failed test didn't leave it around */ unlink(logfile.c_str()); @@ -63,7 +63,7 @@ TEST(XServer, WaitForSIGUSR1) "succeed as we wait for the SIGUSR1 signal\n"); for (int i = 0; i < 20; i++) { XServer server; - server.SetOption("-logfile", "/tmp/xorg-testing-xserver-sigusr1.log"); + server.SetOption("-logfile", LOGFILE_DIR "/xorg-testing-xserver-sigusr1.log"); server.SetOption("-config", DUMMY_CONF_PATH); server.SetOption("-noreset", ""); server.Start(); @@ -104,7 +104,7 @@ TEST(XServer, WaitForDeviceEventMask) XORG_TESTCASE("The event mask is left as-is by WaitForDevice"); XServer server; - server.SetOption("-logfile", "/tmp/Xorg-WaitForDevice.log"); + server.SetOption("-logfile", LOGFILE_DIR "/Xorg-WaitForDevice.log"); server.SetOption("-config", DUMMY_CONF_PATH); server.SetOption("-noreset", ""); server.Start(); @@ -167,7 +167,7 @@ TEST(XServer, WaitForExistingDevice) xorg::testing::evemu::Device d(TEST_ROOT_DIR "PIXART-USB-OPTICAL-MOUSE.desc"); XServer server; - server.SetOption("-logfile", "/tmp/Xorg-WaitForDevice.log"); + server.SetOption("-logfile", LOGFILE_DIR "/Xorg-WaitForDevice.log"); server.SetOption("-config", DUMMY_CONF_PATH); server.SetOption("-noreset", ""); server.Start(); @@ -183,7 +183,7 @@ TEST(XServer, WaitForNewDevice) XORG_TESTCASE("WaitForDevice() waits for newly created dvice"); XServer server; - server.SetOption("-logfile", "/tmp/Xorg-WaitForDevice.log"); + server.SetOption("-logfile", LOGFILE_DIR "/Xorg-WaitForDevice.log"); server.SetOption("-config", DUMMY_CONF_PATH); server.SetOption("-noreset", ""); server.Start(); @@ -201,7 +201,7 @@ TEST(XServer, IOErrorException) { ASSERT_THROW({ XServer server; - server.SetOption("-logfile", "/tmp/xorg-io-error-test.log"); + server.SetOption("-logfile", LOGFILE_DIR "/xorg-io-error-test.log"); server.SetOption("-config", DUMMY_CONF_PATH); server.SetOption("-noreset", ""); server.Start(); @@ -229,7 +229,7 @@ TEST(XServer, KeepAlive) ASSERT_TRUE(getenv("XORG_GTEST_XSERVER_KEEPALIVE") != NULL); XServer server; - server.SetOption("-logfile", "/tmp/Xorg-keepalive.log"); + server.SetOption("-logfile", LOGFILE_DIR "/Xorg-keepalive.log"); server.SetOption("-config", DUMMY_CONF_PATH); server.SetOption("-noreset", ""); server.Start(); @@ -285,7 +285,7 @@ TEST(XServer, RemoveOption) { XServer server; server.SetOption("-fail", "yes"); - server.SetOption("-logfile", "/tmp/Xorg-remove-option.log"); + server.SetOption("-logfile", LOGFILE_DIR "/Xorg-remove-option.log"); server.Start(TEST_ROOT_DIR "/xserver-test-helper"); ASSERT_EQ(server.GetState(), Process::FINISHED_FAILURE); diff --git a/xorg-gtest.pc.in b/xorg-gtest.pc.in index e88e06c..8fa18a6 100644 --- a/xorg-gtest.pc.in +++ b/xorg-gtest.pc.in @@ -2,7 +2,7 @@ prefix=@prefix@ includedir=@includedir@ sourcedir=@SOURCEDIR@ datarootdir=@datarootdir@ -CPPflags=-I${includedir} -I${includedir}/xorg -I${sourcedir} -DDUMMY_CONF_PATH=\"@DUMMY_CONF_PATH@\" +CPPflags=-I${includedir} -I${includedir}/xorg -I${sourcedir} -DDUMMY_CONF_PATH=\"@DUMMY_CONF_PATH@\" -DLOGFILE_DIR=\"@LOGFILE_DIR@\" Name: xorg-gtest Description: X.org Google Test Environment |