Skip to contentSkip to conversation

mtest06: Use temp dir from $TMPDIR if present

PATCH New Hridya Valsaraju 2 participants 2 messages Mar 8, 2018 – Mar 9, 2018

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 mtest06: Use temp dir from $TMPDIR if present

The test was failing in Android devices due to
/tmp not existing. This change uses tst_tmpir()
to create a temporary directory in $TMPDIR if it
is defined.

---
Changelog since v1:
-Replace mkstemp() with open() since the directory created by tst_tmpdir() is unique.

 testcases/kernel/mem/mtest06/mmap1.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)
testcases/kernel/mem/mtest06/mmap1.c +11 -4
index 8894b0dbf..80889676d 100644
@@ -62,6 +62,8 @@
 	usage(prog); \
 } while (0)
 
+#define TEST_FILENAME "ashfile"
+
 static int verbose_print = 0;
 static char *volatile map_address;
 static jmp_buf jmpbuf;
@@ -109,13 +111,14 @@ static void sig_handler_mapped(int signal, siginfo_t * info, void *ut)
 
 int mkfile(int size)
 {
-	char template[] = "/tmp/ashfileXXXXXX";
 	int fd, i;
 
-	if ((fd = mkstemp(template)) == -1)
-		tst_brkm(TBROK | TERRNO, NULL, "mkstemp() failed");
+	fd = open(TEST_FILENAME,  O_RDWR | O_CREAT, 0600);
+	if (fd < 0)
+		tst_brkm(TBROK | TERRNO, NULL, "open for %s failed",
+			 TEST_FILENAME);
 
-	unlink(template);
+	unlink(TEST_FILENAME);
 
 	for (i = 0; i < size; i++)
 		if (write(fd, "a", 1) == -1)
@@ -375,6 +378,8 @@ int main(int argc, char **argv)
 		}
 	}
 
+	tst_tmpdir();
+
 	for (;;) {
 		if ((fd = mkfile(file_size)) == -1)
 			tst_brkm(TBROK, NULL,
@@ -416,5 +421,7 @@ int main(int argc, char **argv)
 		close(fd);
 	}
 
+	tst_rmdir();
+
 	exit(0);
 }
Signature · 1 line
2.16.2.395.g2e18187dfd-goog