1 #include <unistd.h>
2 #include <errno.h>
3 #include <fcntl.h>
4 #include <sys/types.h>
5 #include "test.h"
6
7 static char *tmp_file;
8
9 void
setup()10 setup() {
11 tmp_file = "./tmpfile";
12 int fh = open(tmp_file, O_CREAT | O_TRUNC | O_WRONLY, 0666);
13 close(fh);
14 }
15
16 void
teardown()17 teardown() {
18 unlink(tmp_file);
19 }
20
21 int
test_acct()22 test_acct() {
23 int error;
24
25 error = acct(tmp_file);
26 if (error == -1)
27 return errno;
28
29 error = acct(NULL);
30 if (error == -1)
31 return errno;
32
33 return 0;
34 }
35
main()36 int main()
37 {
38 test_as_root (test_acct, 0, "acct");
39 test_as_jailed_root (test_acct, EPERM, "acct");
40 test_as_unpriv (test_acct, EPERM, "acct");
41 test_as_jailed_unpriv (test_acct, EPERM, "acct");
42
43 return 0;
44 }
45