summaryrefslogtreecommitdiff
path: root/tests/test-stdlib.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-stdlib.c')
-rw-r--r--tests/test-stdlib.c33
1 files changed, 22 insertions, 11 deletions
diff --git a/tests/test-stdlib.c b/tests/test-stdlib.c
index 4bd8715..b2da7ec 100644
--- a/tests/test-stdlib.c
+++ b/tests/test-stdlib.c
@@ -1,5 +1,5 @@
/* Test of <stdlib.h> substitute.
- Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
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
@@ -22,22 +22,33 @@
#include "verify.h"
-int exitcode;
+/* Check that EXIT_SUCCESS is 0, per POSIX. */
+static int exitcode = EXIT_SUCCESS;
+#if EXIT_SUCCESS
+"oops"
+#endif
+
+/* Check for GNU value (not guaranteed by POSIX, but is guaranteed by
+ gnulib). */
+#if EXIT_FAILURE != 1
+"oops"
+#endif
/* Check that NULL can be passed through varargs as a pointer type,
per POSIX 2008. */
verify (sizeof NULL == sizeof (void *));
+#if GNULIB_TEST_SYSTEM_POSIX
+# include "test-sys_wait.h"
+#else
+# define test_sys_wait_macros() 0
+#endif
+
int
main (void)
{
- /* Check that some macros are defined and different integer constants. */
- switch (exitcode)
- {
- case EXIT_SUCCESS:
- case EXIT_FAILURE:
- break;
- }
-
- return 0;
+ if (test_sys_wait_macros ())
+ return 1;
+
+ return exitcode;
}