]> Zhao Yanbai Git Server - minix.git/commitdiff
Fixed tests to use the right path when run as root
authorErik van der Kouwe <erik@minix3.org>
Fri, 4 Dec 2009 17:51:06 +0000 (17:51 +0000)
committerErik van der Kouwe <erik@minix3.org>
Fri, 4 Dec 2009 17:51:06 +0000 (17:51 +0000)
test/test17.c
test/test18.c
test/test19.c
test/test21.c
test/test25.c
test/test3.c
test/test6.c

index 18c3b80e32b86f9674e29db6fcb9af9233caf389..df0afd915eb84ff8c9129b2723c1e894dc35480b 100644 (file)
@@ -119,11 +119,13 @@ int main(argc, argv)
 int argc;
 char *argv[];
 {
+  char buffer[PATH_MAX + 1];
   int n, mask;
 
   sync();
   if (geteuid() == 0 || getuid() == 0) {
-       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", "/usr/src/test/test17", NULL);
+       realpath(argv[0], buffer);
+       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", buffer, NULL);
        printf("Test 17 cannot run as root; test aborted\n");
        exit(1);
   }
index 18eb0f3d16e391b889a65fa9408b1ac30465184b..67224b76651ff965ebc03f99cade1fb925772746 100644 (file)
@@ -78,7 +78,7 @@ char *file[20] = {"f0", "f1", "f2", "f3", "f4", "f5", "f6",
 
 /* "test.c", created by Rene Montsma and Menno Wilcke */
 
-_PROTOTYPE(int main, (void));
+_PROTOTYPE(int main, (int argc, char **argv));
 _PROTOTYPE(void test, (void));
 _PROTOTYPE(void test01, (void));
 _PROTOTYPE(void test02, (void));
@@ -117,12 +117,14 @@ _PROTOTYPE(void quit, (void));
 /*****************************************************************************
  *                              TEST                                         *
  ****************************************************************************/
-int main()
+int main(int argc, char **argv)
 {
+  char buffer[PATH_MAX + 1];
   int n;
 
   if (geteuid() == 0 || getuid() == 0) {
-       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", "/usr/src/test/test18", NULL);
+       realpath(argv[0], buffer);
+       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", buffer, NULL);
        printf("Test 18 cannot run as root; test aborted\n");
        exit(1);
   }
index 911540b621737ba14ec6701a56abe6a667566cb3..e51f0b20216d298324a6bed626c6f216a6f3dfa7 100644 (file)
@@ -2,6 +2,7 @@
 #include <sys/stat.h>
 #include <errno.h>
 #include <fcntl.h>
+#include <limits.h>
 #include <signal.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -36,12 +37,14 @@ int main(argc, argv)
 int argc;
 char *argv[];
 {
+  char buffer[PATH_MAX + 1];
   int i, m;
 
   m = (argc == 2 ? atoi(argv[1]) : 0xFFFF);
 
   if (geteuid() == 0 || getuid() == 0) {
-       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", "/usr/src/test/test19", NULL);
+       realpath(argv[0], buffer);
+       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", buffer, NULL);
        printf("Test 19 cannot run as root; test aborted\n");
        exit(1);
   }
index e437b83499a08586c66788b8ef9cd5ba8c5f2728..25738256411e05070ba2e51cf457cab851bdc9c2 100644 (file)
@@ -44,11 +44,13 @@ int argc;
 char *argv[];
 {
 
+  char buffer[PATH_MAX + 1];
   int i, m = 0xFFFF;
 
   sync();
   if (geteuid() == 0 || getuid() == 0) {
-       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", "/usr/src/test/test21", NULL);
+       realpath(argv[0], buffer);
+       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", buffer, NULL);
        printf("Test 21 cannot run as root; test aborted\n");
        exit(1);
   }
index 0136bc8d7f1ff1c51368f514c6c7183bbadfa6ff..98287ffb1012e2e4d546167087e1106173678d0a 100644 (file)
@@ -47,11 +47,13 @@ void main(argc, argv)
 int argc;
 char *argv[];
 {
+  char buffer[PATH_MAX + 1];
   int i, m = 0xFFFF;
 
   sync();
   if (geteuid() == 0 || getuid() == 0) {
-       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", "/usr/src/test/test25", NULL);
+       realpath(argv[0], buffer);
+       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", buffer, NULL);
        printf("Test 25 cannot run as root; test aborted\n");
        exit(1);
   }
index 4dc8470226ce206c7813ce2356b5d06c7d5dbbb8..71a065464f25db5c0c6b0f29e7b2fcac9e9835c1 100644 (file)
@@ -31,12 +31,14 @@ int main(argc, argv)
 int argc;
 char *argv[];
 {
+  char buffer[PATH_MAX + 1];
   int i, m = 0xFFFF;
 
   sync();
 
   if (geteuid() == 0 || getuid() == 0) {
-       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", "/usr/src/test/test3", NULL);
+       realpath(argv[0], buffer);
+       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", buffer, NULL);
        printf("Test  3 cannot run as root; test aborted\n");
        exit(1);
   }
index e0012d88fae5af2eef90c5206e0b855c5bc66cfa..90f3839e1f290bae4bee6049bbd14edcd05c26a7 100644 (file)
@@ -28,11 +28,13 @@ int main(argc, argv)
 int argc;
 char *argv[];
 {
+  char buffer[PATH_MAX + 1];
   int i, m = 0xFFFF;
 
   sync();
   if (geteuid() == 0 || getuid() == 0) {
-       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", "/usr/src/test/test6", NULL);
+       realpath(argv[0], buffer);
+       execl("/usr/bin/su", "/usr/bin/su", "-", "ast", "-c", buffer, NULL);
        printf("Test  6 cannot run as root; test aborted\n");
        exit(1);
   }