]> git.ipfire.org Git - thirdparty/glibc.git/blame - login/tst-grantpt.c
math: Use wordsize-64 version for isnan
[thirdparty/glibc.git] / login / tst-grantpt.c
CommitLineData
9cddf9de
UD
1#include <sys/types.h>
2#include <sys/stat.h>
3#include <fcntl.h>
4#include <stdio.h>
5#include <stdlib.h>
6#include <errno.h>
7#include <string.h>
8#include <unistd.h>
9
10static int
11test_ebadf (void)
12{
13 int fd, ret, err;
14
15 fd = posix_openpt (O_RDWR);
16 if (fd == -1)
17 {
18 printf ("posix_openpt(O_RDWR) failed\nerrno %d (%s)\n",
19 errno, strerror (errno));
20 /* We don't fail because of this; maybe the system does not have
21 SUS pseudo terminals. */
22 return 0;
23 }
24 unlockpt (fd);
25 close (fd);
26
27 ret = grantpt (fd);
28 err = errno;
29 if (ret != -1 || err != EBADF)
30 {
31 printf ("grantpt(): expected: return = %d, errno = %d\n", -1, EBADF);
32 printf (" got: return = %d, errno = %d\n", ret, err);
33 return 1;
34 }
35 return 0;
36}
37
38static int
39test_einval (void)
40{
41 int fd, ret, err;
42 const char file[] = "./grantpt-einval";
43
42282d57 44 fd = open (file, O_RDWR | O_CREAT, 0600);
9cddf9de
UD
45 if (fd == -1)
46 {
47 printf ("open(\"%s\", O_RDWR) failed\nerrno %d (%s)\n",
48 file, errno, strerror (errno));
49 return 0;
50 }
51 unlink (file);
52
53 ret = grantpt (fd);
54 err = errno;
55 if (ret != -1 || err != EINVAL)
56 {
57 printf ("grantpt(): expected: return = %d, errno = %d\n", -1, EINVAL);
58 printf (" got: return = %d, errno = %d\n", ret, err);
59 ret = 1;
60 }
61 else
62 ret = 0;
63
64 close (fd);
65
66 return ret;
67}
68
29955b5d
AS
69static int
70do_test (void)
9cddf9de
UD
71{
72 int result = 0;
73
74 result += test_ebadf ();
75 result += test_einval ();
76
77 return result;
78}
29955b5d
AS
79
80#define TEST_FUNCTION do_test ()
81#include "../test-skeleton.c"