On 01/31/2012 05:46 PM, Chase Douglas wrote:
On 01/31/2012 06:05 PM, Daniel d'Andrada wrote:
And by default point to a location that doesn't require root privileges
to be used.

This will make it possible to run Xorg without being root.

Signed-off-by: Daniel d'Andrada<[email protected]>

diff:
=== modified file 'include/xorg/gtest/environment.h'
--- include/xorg/gtest/environment.h    2011-12-14 19:01:39 +0000
+++ include/xorg/gtest/environment.h    2012-01-31 16:55:22 +0000
@@ -48,6 +48,7 @@
    * with the overall testing framework like
    * @code
    * std::string xorg_conf_path("conf/dummy.conf");
+ * std::string xorg_log_file_path("/tmp/MyDummyXorg.log");
    * int xorg_display = 133;
    * std::string server("Xorg");
    *
@@ -55,6 +56,7 @@
    *       xorg_conf_path,
    *       server,
    *       xorg_display);
+ * environment->set_log_file(xorg_log_file_path);
    * testing::AddGlobalTestEnvironment(environment);
    * @endcode
    * or link to libxorg-gtest_main.
@@ -72,6 +74,19 @@

     virtual ~Environment();

+  /**
+   * Sets the path where the xserver log file will be created.
+   * @param path_to_log_file Path to xserver logfile.
+   */
+  void set_log_file(const std::string&  path_to_log_file);
+
+  /**
+   * Returns the path where the xserver log file will be created.
+   * Its default value is "/tmp/Xorg.GTest.log"
+   * @return Path to xserver logfile.
+   */
+  const std::string&  log_file() const;
+
    protected:
     /**
      * Starts the dummy X server.

=== modified file 'src/environment.cpp'
--- src/environment.cpp    2011-12-14 19:11:25 +0000
+++ src/environment.cpp    2012-01-31 16:55:22 +0000
@@ -34,12 +34,16 @@

   #include<X11/Xlib.h>

+#define DEFAULT_XORG_LOGFILE "/tmp/Xorg.GTest.log"
+
   struct xorg::testing::Environment::Private {
     Private(const std::string&  conf, const std::string&  server, int
display_num)
-      : path_to_conf(conf), path_to_server(server), display(display_num) {
+      : path_to_conf(conf), path_to_log_file(DEFAULT_XORG_LOGFILE),
+        path_to_server(server), display(display_num) {
     }

     const std::string path_to_conf;
+  std::string path_to_log_file;
     const std::string path_to_server;
     const int display;
     Process process;
@@ -53,12 +57,25 @@

   xorg::testing::Environment::~Environment() {}

+void xorg::testing::Environment::set_log_file(const std::string&
path_to_log_file)
+{
+  d_->path_to_log_file = path_to_log_file;
+}
+
+const std::string&  xorg::testing::Environment::log_file() const
+{
+  return d_->path_to_log_file;
+}
+
   void xorg::testing::Environment::SetUp() {
     static char display_string[6];
     snprintf(display_string, 6, ":%d", d_->display);

     d_->process.Start(d_->path_to_server, d_->path_to_server.c_str(),
-                    display_string, "-config",
d_->path_to_conf.c_str(), NULL);
+                    display_string,
+                    "-logfile", d_->path_to_log_file.c_str(),
+                    "-config", d_->path_to_conf.c_str(),
+                    NULL);

     Process::SetEnv("DISPLAY", display_string, true);


=== modified file 'src/main.cpp'
--- src/main.cpp    2011-12-07 20:38:04 +0000
+++ src/main.cpp    2012-01-31 16:55:22 +0000
@@ -25,12 +25,15 @@

   #include "xorg/gtest/environment.h"

+#define DEFAULT_XORG_LOGFILE "/tmp/Xorg.GTest.log"
+
   namespace {

   int help = false;
   int no_dummy_server = false;
   int xorg_conf = false;
   int xorg_display_opt = false;
+int xorg_logfile = false;
   int server = false;

   const struct option longopts[] = {
@@ -38,6 +41,7 @@
     { "no-dummy-server", no_argument,&no_dummy_server, true, },
     { "xorg-conf", required_argument,&xorg_conf, true, },
     { "xorg-display", required_argument,&xorg_display_opt, true, },
+  { "xorg-logfile", required_argument,&xorg_logfile, true, },
     { "server", required_argument,&server, true, },
     { NULL, 0, NULL, 0 }
   };
@@ -48,6 +52,8 @@
     /* Default Xorg dummy conf path. */
     std::string xorg_conf_path(DUMMY_CONF_PATH);

+  std::string xorg_log_file_path(DEFAULT_XORG_LOGFILE);
+
     /* Default X display */
     int xorg_display = 133;

@@ -80,6 +86,10 @@
           break;

         case 4:
+        xorg_log_file_path = optarg;
+        break;
+
+      case 5:
           server = optarg;
           break;

@@ -95,6 +105,8 @@
       std::cout<<  "    --xorg-conf: Path to xorg dummy configuration
file\n";
       std::cout<<  "    --server: Path to X server executable\n";
       std::cout<<  "    --xorg-display: xorg dummy display port\n";
+    std::cout<<  "    --xorg-logfile: xorg logfile filename. See
-logfile in \"man Xorg\".\n"
+                 "                    Its default value is
"DEFAULT_XORG_LOGFILE".\n";
       exit(-1);
     }

@@ -103,6 +115,7 @@
           xorg_conf_path,
           server,
           xorg_display);
+    environment->set_log_file(xorg_log_file_path);
       testing::AddGlobalTestEnvironment(environment);
     }
If the log file isn't specified, I think we should leave it up to the
library to put it in the right location.

-- Chase

Isn't that what's happening? If the log file isn't specified it will be /tmp/Xorg.GTest.log. Or what you mean is that you don't want to see environment->set_log_file() being always called from main.cpp?

- Daniel
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to