Eric Blake wrote: > On 06/11/2010 09:36 AM, Jim Meyering wrote: >> FYI, I was not happy to see the 10 new warnings like this one: >> >> test-inttostr.c:66:3: warning: string length '5001' is greater than the >> length '4095' ISO C99 compilers are required to support >> [-Woverlength-strings] >> >> >>>From 560b837a96eee265a5d7f20da2277f2fdc2b6562 Mon Sep 17 00:00:00 2001 >> From: Jim Meyering <[email protected]> >> Date: Fri, 11 Jun 2010 17:31:04 +0200 >> Subject: [PATCH] test-inttostr: avoid warnings about 4-6KB literal strings >> >> * tests/test-inttostr.c: Don't use <assert.h>. Instead, ... >> (ASSERT): Define. > > Rather than defining it, why not include macros.h from the test directory?
Here's an improved version. Differences: - #include macros.h rather than defining ASSERT - add macros.h to modules file >From 7178c963d36832db334a64ae7046fc43d037b879 Mon Sep 17 00:00:00 2001 From: Jim Meyering <[email protected]> Date: Fri, 11 Jun 2010 17:31:04 +0200 Subject: [PATCH] test-inttostr: avoid warnings about 4-6KB literal strings * tests/test-inttostr.c: Don't use <assert.h>. Instead, ... Include "macros.h", for its definition of ASSERT. (CK): s/assert/ASSERT/ * modules/inttostr-tests (Files): Add macros.h. --- ChangeLog | 6 ++++++ modules/inttostr-tests | 1 + tests/test-inttostr.c | 17 +++++++++-------- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5f93588..6a366ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2010-06-11 Jim Meyering <[email protected]> + test-inttostr: avoid warnings about 4-6KB literal strings + * tests/test-inttostr.c: Don't use <assert.h>. Instead, ... + Include "macros.h", for its definition of ASSERT. + (CK): s/assert/ASSERT/ + * modules/inttostr-tests (Files): Add macros.h. + init.sh: don't use $ME_ or skip_ before they are defined * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede their first uses. Also hoist their companions: warn_, fail_, diff --git a/modules/inttostr-tests b/modules/inttostr-tests index f935d90..48dbe50 100644 --- a/modules/inttostr-tests +++ b/modules/inttostr-tests @@ -1,4 +1,5 @@ Files: +tests/macros.h tests/test-inttostr.c Depends-on: diff --git a/tests/test-inttostr.c b/tests/test-inttostr.c index 123aca4..e53d22a 100644 --- a/tests/test-inttostr.c +++ b/tests/test-inttostr.c @@ -24,7 +24,8 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <assert.h> + +#include "macros.h" #define STREQ(a, b) (strcmp (a, b) == 0) #define FMT(T) (TYPE_SIGNED (T) ? "%jd" : "%ju") @@ -46,16 +47,16 @@ char ref[100]; \ char *buf = malloc (INT_BUFSIZE_BOUND (T)); \ char const *p; \ - assert (buf); \ + ASSERT (buf); \ *buf = '\0'; \ - assert (snprintf (ref, sizeof ref, FMT (T), V_min (T)) < sizeof ref); \ - assert (STREQ ((p = Fn (TYPE_MINIMUM (T), buf)), ref)); \ + ASSERT (snprintf (ref, sizeof ref, FMT (T), V_min (T)) < sizeof ref); \ + ASSERT (STREQ ((p = Fn (TYPE_MINIMUM (T), buf)), ref)); \ /* Ensure that INT_BUFSIZE_BOUND is tight for signed types. */ \ - assert (! TYPE_SIGNED (T) || (p == buf && *p == '-')); \ - assert (snprintf (ref, sizeof ref, FMT (T), V_max (T)) < sizeof ref); \ - assert (STREQ ((p = Fn (TYPE_MAXIMUM (T), buf)), ref)); \ + ASSERT (! TYPE_SIGNED (T) || (p == buf && *p == '-')); \ + ASSERT (snprintf (ref, sizeof ref, FMT (T), V_max (T)) < sizeof ref); \ + ASSERT (STREQ ((p = Fn (TYPE_MAXIMUM (T), buf)), ref)); \ /* For unsigned types, the bound is not always tight. */ \ - assert (! IS_TIGHT (T) || TYPE_SIGNED (T) \ + ASSERT (! IS_TIGHT (T) || TYPE_SIGNED (T) \ || (p == buf && ISDIGIT (*p))); \ free (buf); \ } \ -- 1.7.1.501.g23b46
