diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2023-04-17 08:44:51 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2023-04-17 08:47:23 -0700 |
commit | 2c70f90798420c81eaf4a100d0fa5c6ab5771bcb (patch) | |
tree | ee765567689fcd31bdc53d32b1bbda134ebe9199 /tests | |
parent | 879c7d6ecfa968a66eb202d5094747064b5e9ff6 (diff) | |
download | gnulib-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.c | 27 | ||||
-rw-r--r-- | tests/test-year2038.c | 9 |
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; } |