Module Name:    src
Committed By:   pgoyette
Date:           Tue Nov  6 19:35:38 UTC 2012

Modified Files:
        src/tests/kernel: t_mqueue.c

Log Message:
Use an ATF_TC_CLEANUP() routine to delete the mkdtemp() directory even
if the test case fails/exits sooner.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/tests/kernel/t_mqueue.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/kernel/t_mqueue.c
diff -u src/tests/kernel/t_mqueue.c:1.2 src/tests/kernel/t_mqueue.c:1.3
--- src/tests/kernel/t_mqueue.c:1.2	Tue Nov  6 13:55:03 2012
+++ src/tests/kernel/t_mqueue.c	Tue Nov  6 19:35:38 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: t_mqueue.c,v 1.2 2012/11/06 13:55:03 apb Exp $ */
+/*	$NetBSD: t_mqueue.c,v 1.3 2012/11/06 19:35:38 pgoyette Exp $ */
 
 /*
  * Test for POSIX message queue priority handling.
@@ -16,6 +16,8 @@
 
 #include <mqueue.h>
 
+char *tmpdir;
+
 #define	MQ_PRIO_BASE	24
 
 static void
@@ -96,7 +98,7 @@ receive_msgs(mqd_t mqfd)
 	    "mq_receive 6 prio/data mismatch");
 }
 
-ATF_TC(mqueue);
+ATF_TC_WITH_CLEANUP(mqueue);
 ATF_TC_HEAD(mqueue, tc)
 {
 
@@ -107,7 +109,6 @@ ATF_TC_HEAD(mqueue, tc)
 ATF_TC_BODY(mqueue, tc)
 {
 	int status;
-	char *tmpdir;
 	char template[32];
 	char mq_name[64];
 
@@ -127,8 +128,16 @@ ATF_TC_BODY(mqueue, tc)
 
 	status = mq_close(mqfd);
 	ATF_REQUIRE_MSG(status == 0, "mq_close failed: %d", errno);
-	status = rmdir(tmpdir);
-	ATF_REQUIRE_MSG(status == 0, "rmdir failed: %d", errno);
+}
+
+ATF_TC_CLEANUP(mqueue, tc)
+{
+	int status;
+
+	if (tmpdir != NULL) {
+		status = rmdir(tmpdir);
+		ATF_REQUIRE_MSG(status == 0, "rmdir failed: %d", errno);
+	}
 }
 
 ATF_TP_ADD_TCS(tp)

Reply via email to