summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2023-04-17 08:44:51 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2023-04-17 08:47:23 -0700
commit2c70f90798420c81eaf4a100d0fa5c6ab5771bcb (patch)
treeee765567689fcd31bdc53d32b1bbda134ebe9199 /tests
parent879c7d6ecfa968a66eb202d5094747064b5e9ff6 (diff)
downloadgnulib-2c70f90798420c81eaf4a100d0fa5c6ab5771bcb.tar.gz
Slightly nicer largefile, year2038 tests
* modules/largefile-tests, modules/year2038-tests (Depends-on): Add assert-h, intprops. * tests/test-largefile.c, tests/test-year2038.c: Prefer compile-time to run-time tests. Don’t assume CHAR_BIT == 8.
Diffstat (limited to 'tests')
-rw-r--r--tests/test-largefile.c27
-rw-r--r--tests/test-year2038.c9
2 files changed, 15 insertions, 21 deletions
diff --git a/tests/test-largefile.c b/tests/test-largefile.c
index 71ee7e942d..ce5d8a0e2e 100644
--- a/tests/test-largefile.c
+++ b/tests/test-largefile.c
@@ -24,24 +24,19 @@
#include <sys/types.h>
#include <sys/stat.h>
+#include "intprops.h"
+
+/* Check the range of off_t.
+ With MSVC, this test succeeds only thanks to the 'sys_types' module. */
+static_assert (TYPE_MAXIMUM (off_t) >> 31 >> 31 != 0);
+
+/* Check the size of the 'struct stat' field 'st_size'.
+ ,With MSVC, this test succeeds only thanks to the 'sys_stat' module. */
+static struct stat st;
+static_assert (sizeof st.st_size == sizeof (off_t));
int
main (void)
{
- int result = 0;
-
- /* Check the size of off_t.
- With MSVC, this test succeeds only thanks to the 'sys_types' module. */
- if (sizeof (off_t) <= 4)
- result |= 1;
-
- /* Check the size of the 'struct stat' field 'st_size'.
- With MSVC, this test succeeds only thanks to the 'sys_stat' module. */
- {
- struct stat st;
- if (sizeof (st.st_size) <= 4)
- result |= 2;
- }
-
- return result;
+ return 0;
}
diff --git a/tests/test-year2038.c b/tests/test-year2038.c
index 58c1058b13..0facf930ed 100644
--- a/tests/test-year2038.c
+++ b/tests/test-year2038.c
@@ -26,14 +26,13 @@
#include <config.h>
#include <sys/types.h>
+#include "intprops.h"
+
+/* Check the range of time_t. */
+static_assert (TYPE_MAXIMUM (time_t) >> 31 != 0);
int
main (void)
{
- /* Check the size and sign of time_t. */
- if (sizeof (time_t) <= 4 && (time_t)-1 < 0)
- /* time_t is only 32 bits wide and signed. */
- return 1;
-
return 0;
}