Sun Mar 2 19:56:48 2014 UTC ()
Remove unnecessary and broken cleanup routine.


(jmmv)
diff -r1.3 -r1.4 src/tests/kernel/t_mqueue.c

cvs diff -r1.3 -r1.4 src/tests/kernel/t_mqueue.c (expand / switch to unified diff)

--- src/tests/kernel/t_mqueue.c 2012/11/06 19:35:38 1.3
+++ src/tests/kernel/t_mqueue.c 2014/03/02 19:56:48 1.4
@@ -1,33 +1,31 @@ @@ -1,33 +1,31 @@
1/* $NetBSD: t_mqueue.c,v 1.3 2012/11/06 19:35:38 pgoyette Exp $ */ 1/* $NetBSD: t_mqueue.c,v 1.4 2014/03/02 19:56:48 jmmv Exp $ */
2 2
3/* 3/*
4 * Test for POSIX message queue priority handling. 4 * Test for POSIX message queue priority handling.
5 * 5 *
6 * This file is in the Public Domain. 6 * This file is in the Public Domain.
7 */ 7 */
8 8
9#include <atf-c.h> 9#include <atf-c.h>
10 10
11#include <stdio.h> 11#include <stdio.h>
12#include <stdlib.h> 12#include <stdlib.h>
13#include <string.h> 13#include <string.h>
14#include <errno.h> 14#include <errno.h>
15#include <unistd.h> 15#include <unistd.h>
16 16
17#include <mqueue.h> 17#include <mqueue.h>
18 18
19char *tmpdir; 
20 
21#define MQ_PRIO_BASE 24 19#define MQ_PRIO_BASE 24
22 20
23static void 21static void
24send_msgs(mqd_t mqfd) 22send_msgs(mqd_t mqfd)
25{ 23{
26 char msg[2]; 24 char msg[2];
27 25
28 msg[1] = '\0'; 26 msg[1] = '\0';
29 27
30 msg[0] = 'a'; 28 msg[0] = 'a';
31 ATF_REQUIRE_MSG(mq_send(mqfd, msg, sizeof(msg), MQ_PRIO_BASE) != -1, 29 ATF_REQUIRE_MSG(mq_send(mqfd, msg, sizeof(msg), MQ_PRIO_BASE) != -1,
32 "mq_send 1 failed: %d", errno); 30 "mq_send 1 failed: %d", errno);
33 31
@@ -88,61 +86,52 @@ receive_msgs(mqd_t mqfd) @@ -88,61 +86,52 @@ receive_msgs(mqd_t mqfd)
88 "mq_receive 4 prio/data mismatch"); 86 "mq_receive 4 prio/data mismatch");
89 87
90 ATF_REQUIRE_MSG(mq_receive(mqfd, m, len, &p) != -1, 88 ATF_REQUIRE_MSG(mq_receive(mqfd, m, len, &p) != -1,
91 "mq_receive 5 failed: %d", errno); 89 "mq_receive 5 failed: %d", errno);
92 ATF_REQUIRE_MSG(p == (MQ_PRIO_BASE - 1) && m[0] == 'd', 90 ATF_REQUIRE_MSG(p == (MQ_PRIO_BASE - 1) && m[0] == 'd',
93 "mq_receive 5 prio/data mismatch"); 91 "mq_receive 5 prio/data mismatch");
94 92
95 ATF_REQUIRE_MSG(mq_receive(mqfd, m, len, &p) != -1, 93 ATF_REQUIRE_MSG(mq_receive(mqfd, m, len, &p) != -1,
96 "mq_receive 6 failed: %d", errno); 94 "mq_receive 6 failed: %d", errno);
97 ATF_REQUIRE_MSG(p == 0 && m[0] == 'e', 95 ATF_REQUIRE_MSG(p == 0 && m[0] == 'e',
98 "mq_receive 6 prio/data mismatch"); 96 "mq_receive 6 prio/data mismatch");
99} 97}
100 98
101ATF_TC_WITH_CLEANUP(mqueue); 99ATF_TC(mqueue);
102ATF_TC_HEAD(mqueue, tc) 100ATF_TC_HEAD(mqueue, tc)
103{ 101{
104 102
105 atf_tc_set_md_var(tc, "timeout", "3"); 103 atf_tc_set_md_var(tc, "timeout", "3");
106 atf_tc_set_md_var(tc, "descr", "Checks mqueue send/receive"); 104 atf_tc_set_md_var(tc, "descr", "Checks mqueue send/receive");
107} 105}
108 106
109ATF_TC_BODY(mqueue, tc) 107ATF_TC_BODY(mqueue, tc)
110{ 108{
111 int status; 109 int status;
 110 char *tmpdir;
112 char template[32]; 111 char template[32];
113 char mq_name[64]; 112 char mq_name[64];
114 113
115 strlcpy(template, "./t_mqueue.XXXXXX", sizeof(template)); 114 strlcpy(template, "./t_mqueue.XXXXXX", sizeof(template));
116 tmpdir = mkdtemp(template); 115 tmpdir = mkdtemp(template);
117 ATF_REQUIRE_MSG(tmpdir != NULL, "mkdtemp failed: %d", errno); 116 ATF_REQUIRE_MSG(tmpdir != NULL, "mkdtemp failed: %d", errno);
118 snprintf(mq_name, sizeof(mq_name), "%s/mq", tmpdir); 117 snprintf(mq_name, sizeof(mq_name), "%s/mq", tmpdir);
119 118
120 mqd_t mqfd; 119 mqd_t mqfd;
121 120
122 mqfd = mq_open(mq_name, O_RDWR | O_CREAT, 121 mqfd = mq_open(mq_name, O_RDWR | O_CREAT,
123 S_IRUSR | S_IRWXG | S_IROTH, NULL); 122 S_IRUSR | S_IRWXG | S_IROTH, NULL);
124 ATF_REQUIRE_MSG(mqfd != -1, "mq_open failed: %d", errno); 123 ATF_REQUIRE_MSG(mqfd != -1, "mq_open failed: %d", errno);
125 124
126 send_msgs(mqfd); 125 send_msgs(mqfd);
127 receive_msgs(mqfd); 126 receive_msgs(mqfd);
128 127
129 status = mq_close(mqfd); 128 status = mq_close(mqfd);
130 ATF_REQUIRE_MSG(status == 0, "mq_close failed: %d", errno); 129 ATF_REQUIRE_MSG(status == 0, "mq_close failed: %d", errno);
131} 130}
132 131
133ATF_TC_CLEANUP(mqueue, tc) 
134{ 
135 int status; 
136 
137 if (tmpdir != NULL) { 
138 status = rmdir(tmpdir); 
139 ATF_REQUIRE_MSG(status == 0, "rmdir failed: %d", errno); 
140 } 
141} 
142 
143ATF_TP_ADD_TCS(tp) 132ATF_TP_ADD_TCS(tp)
144{ 133{
145 ATF_TP_ADD_TC(tp, mqueue);  134 ATF_TP_ADD_TC(tp, mqueue);
146 135
147 return atf_no_error(); 136 return atf_no_error();
148} 137}