This avoids unwanted error when /etc and /tmp are on different
 devices

Signed-off-by: Jiri Palecek <[email protected]>
---
 testcases/kernel/syscalls/linkat/linkat01.c |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/testcases/kernel/syscalls/linkat/linkat01.c 
b/testcases/kernel/syscalls/linkat/linkat01.c
index d62416b..72845f2 100644
--- a/testcases/kernel/syscalls/linkat/linkat01.c
+++ b/testcases/kernel/syscalls/linkat/linkat01.c
@@ -79,6 +79,7 @@ static void mylinkat_test(struct test_struct* desc);
 #define TEST_FIFO "fifo"
 
 static char dpathname[256] = "%s/"TEST_DIR2"/"TEST_FILE1;
+static char spathname[256] = "%s/"TEST_DIR1"/"TEST_FILE1;
 static int olddirfd, newdirfd = -1, cwd_fd = AT_FDCWD, stdinfd = 0, crapfd = 
-1, deldirfd;
 
 struct test_struct {
@@ -94,7 +95,7 @@ struct test_struct {
        /* relative paths */
        { &olddirfd, TEST_FILE1, &newdirfd, TEST_FILE1, 0, 
TEST_DIR1"/"TEST_FILE1, TEST_DIR2"/"TEST_FILE1, 0 },
        /* abs path at source */
-       { &olddirfd, "/etc/passwd", &newdirfd, TEST_FILE1, 0, 0, 0, 0 },
+       { &olddirfd, spathname, &newdirfd, TEST_FILE1, 0, 0, 0, 0 },
        /* abs path at dst */
        { &olddirfd, TEST_FILE1, &newdirfd, dpathname, 0, 
TEST_DIR1"/"TEST_FILE1, TEST_DIR2"/"TEST_FILE1, 0},
 
@@ -103,7 +104,7 @@ struct test_struct {
        /* relative paths to cwd */
        { &olddirfd, TEST_FILE1, &cwd_fd, TEST_DIR2"/"TEST_FILE1, 0, 
TEST_DIR1"/"TEST_FILE1, TEST_DIR2"/"TEST_FILE1, 0 },
        /* abs path at source */
-       { &cwd_fd, "/etc/passwd", &newdirfd, TEST_FILE1, 0, 0, 0, 0 },
+       { &cwd_fd, spathname, &newdirfd, TEST_FILE1, 0, 0, 0, 0 },
        /* abs path at dst */
        { &olddirfd, TEST_FILE1, &cwd_fd, dpathname, 0, TEST_DIR1"/"TEST_FILE1, 
TEST_DIR2"/"TEST_FILE1, 0},
 
@@ -112,7 +113,7 @@ struct test_struct {
        /* relative paths to invalid */
        { &olddirfd, TEST_FILE1, &stdinfd, TEST_DIR2"/"TEST_FILE1, 0, 0, 0, 
ENOTDIR },
        /* abs path at source */
-       { &stdinfd, "/etc/passwd", &newdirfd, TEST_FILE1, 0, 0, 0, 0 },
+       { &stdinfd, spathname, &newdirfd, TEST_FILE1, 0, 0, 0, 0 },
        /* abs path at dst */
        { &olddirfd, TEST_FILE1, &stdinfd, dpathname, 0, 
TEST_DIR1"/"TEST_FILE1, TEST_DIR2"/"TEST_FILE1, 0},
 
@@ -121,7 +122,7 @@ struct test_struct {
        /* relative paths to crap */
        { &olddirfd, TEST_FILE1, &crapfd, TEST_DIR2"/"TEST_FILE1, 0, 0, 0, 
EBADF },
        /* abs path at source */
-       { &crapfd, "/etc/passwd", &newdirfd, TEST_FILE1, 0, 0, 0, 0 },
+       { &crapfd, spathname, &newdirfd, TEST_FILE1, 0, 0, 0, 0 },
        /* abs path at dst */
        { &olddirfd, TEST_FILE1, &crapfd, dpathname, 0, TEST_DIR1"/"TEST_FILE1, 
TEST_DIR2"/"TEST_FILE1, 0},
 
@@ -130,7 +131,7 @@ struct test_struct {
        /* relative paths to deleted */
        { &olddirfd, TEST_FILE1, &deldirfd, TEST_DIR2"/"TEST_FILE1, 0, 0, 0, 
ENOENT },
        /* abs path at source */
-       { &deldirfd, "/etc/passwd", &newdirfd, TEST_FILE1, 0, 0, 0, 0 },
+       { &deldirfd, spathname, &newdirfd, TEST_FILE1, 0, 0, 0, 0 },
        /* abs path at dst */
        { &olddirfd, TEST_FILE1, &deldirfd, dpathname, 0, 
TEST_DIR1"/"TEST_FILE1, TEST_DIR2"/"TEST_FILE1, 0},
 
@@ -298,6 +299,9 @@ static void setup()
        tmp = strdup(dpathname);
        snprintf(dpathname, sizeof(dpathname), tmp, get_current_dir_name());
 
+       tmp = strdup(spathname);
+       snprintf(spathname, sizeof(spathname), tmp, get_current_dir_name());
+
        /* Pause if that option was specified */
        TEST_PAUSE;
 }                              /* End setup() */
-- 
1.6.2.4


------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to