summaryrefslogtreecommitdiff
path: root/tests/test-nanosleep.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-nanosleep.c')
-rw-r--r--tests/test-nanosleep.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/test-nanosleep.c b/tests/test-nanosleep.c
index c03a2c2..c208161 100644
--- a/tests/test-nanosleep.c
+++ b/tests/test-nanosleep.c
@@ -3,7 +3,7 @@
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
+ the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -43,16 +43,27 @@ main (void)
{
struct timespec ts;
+ /* Check that negative nanosecond values cause failure. */
+ ts.tv_sec = 1;
+ ts.tv_nsec = -1;
+ errno = 0;
+ ASSERT (nanosleep (&ts, NULL) == -1);
+ ASSERT (errno == EINVAL);
+
ts.tv_sec = 1000;
ts.tv_nsec = -1;
errno = 0;
ASSERT (nanosleep (&ts, NULL) == -1);
ASSERT (errno == EINVAL);
+
+ /* Check that too large nanosecond values cause failure. */
+ ts.tv_sec = 1000;
ts.tv_nsec = 1000000000;
errno = 0;
ASSERT (nanosleep (&ts, NULL) == -1);
ASSERT (errno == EINVAL);
+ /* Check successful call. */
ts.tv_sec = 0;
ts.tv_nsec = 1;
ASSERT (nanosleep (&ts, &ts) == 0);