Treat root as a valid candidate for TEST_USER_ME
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Tue, 3 Feb 2015 19:35:39 +0000 (19:35 +0000)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Tue, 3 Feb 2015 19:35:39 +0000 (19:35 +0000)
If spawn_dbus_daemon() can fail for TEST_USER_ME, then we'd have to
go through all the tests adding the ability to skip tests after
it fails, which is a fairly extensive change.

The tests have historically all run as whatever uid is supplied, and
if the tests are being run as root for some reason - perhaps in a CI
framework for an embedded platform that doesn't have non-root users,
or in an environment where you can be root or non-root but not both -
there is no particular reason to skip them.

test/test-utils-glib.c
test/test-utils-glib.h

index c9fb5c8..286e7a5 100644 (file)
@@ -109,17 +109,7 @@ spawn_dbus_daemon (const gchar *binary,
   const struct passwd *pwd = NULL;
 #endif
 
-  if (user == TEST_USER_ME)
-    {
-#ifdef DBUS_UNIX
-      if (getuid () == 0)
-        {
-          g_message ("SKIP: this test is not designed to run as root");
-          return NULL;
-        }
-#endif
-    }
-  else
+  if (user != TEST_USER_ME)
     {
 #ifdef DBUS_UNIX
       if (getuid () != 0)
index 7b6eb74..80a7c8d 100644 (file)
  * be run as an arbitrary non-root user, as above.
  *
  * Certain tests can usefully be run again, as root. When this is done,
- * tests using TEST_USER_ME will be skipped, and tests using TEST_USER_ROOT,
- * TEST_USER_MESSAGEBUS and/or TEST_USER_OTHER can exercise situations
- * that only arise when there's more than one uid.
+ * tests using TEST_USER_ROOT, TEST_USER_MESSAGEBUS and/or TEST_USER_OTHER
+ * can exercise situations that only arise when there's more than one uid.
  */
 typedef enum {
-    /* Whatever non-root user happens to be running the regression test;
+    /* Whatever user happens to be running the regression test;
      * such tests also work on Windows */
     TEST_USER_ME,
     /* Must be uid 0 on Unix; the test is skipped on Windows */