* tests/test-vasnprintf-big.c (main): Move INT_MAX test case to here.
* tests/test-vasnprintf-posix.c (test_function): Revert last change.
+2026-07-13 Bruno Haible <bruno@clisp.org>
+
+ vasnprintf-extra-tests: Move new expensive test to here.
+ * tests/test-vasnprintf-big.c (main): Move INT_MAX test case to here.
+ * tests/test-vasnprintf-posix.c (test_function): Revert last change.
+
2026-07-13 Bruno Haible <bruno@clisp.org>
vasnprintf: Fix compilation error on FreeBSD, OpenBSD (regr. today).
int
main ()
{
+ /* Large width given as argument. */
+ {
+ size_t length;
+ char *result =
+ asnprintf (NULL, &length, "%*d", INT_MAX, INT_MIN);
+ if (!result)
+ ASSERT (errno == ENOMEM);
+ else
+ {
+ ASSERT (atoi (result) == INT_MIN);
+ ASSERT (length == INT_MAX);
+ ASSERT (length == strlen (result));
+ free (result);
+ }
+ }
+
+ if (test_exit_status != EXIT_SUCCESS)
+ return test_exit_status;
+
#if PTRDIFF_MAX == INT_MAX
fputs ("Skipping test: ptrdiff_t is not 64-bits wide\n", stderr);
return 77;
#include <errno.h>
#include <float.h>
-#include <limits.h>
#include <stdarg.h>
#include <stdcountof.h>
#include <stddef.h>
free (result);
}
- {
- char *expensive = getenv ("RUN_EXPENSIVE_TESTS");
- if (expensive && streq (expensive, "yes"))
- { /* Large width given as argument. */
- size_t length;
- char *result =
- my_asnprintf (NULL, &length, "%*d", INT_MAX, INT_MIN);
- if (!result)
- ASSERT (errno == ENOMEM);
- else
- {
- ASSERT (atoi (result) == INT_MIN);
- ASSERT (length == INT_MAX);
- ASSERT (length == strlen (result));
- free (result);
- }
- }
- }
-
/* Test the support of the 'a' and 'A' conversion specifier for hexadecimal
output of floating-point numbers. */