diff options
author | Russ Allbery <eagle@eyrie.org> | 2020-05-17 17:05:30 -0700 |
---|---|---|
committer | Russ Allbery <eagle@eyrie.org> | 2020-05-17 17:05:30 -0700 |
commit | c138111a3c27863308b6552a5527a9e821a3dc11 (patch) | |
tree | fe3c16462bf0213708f20d251a63e5b9bbf2d23f /tests/util | |
parent | ccfbd34d597318215b979338c4cb5d7e4a3f0d6f (diff) |
Update to rra-c-util 8.2 and C TAP Harness 4.7
Update to rra-c-util 8.2:
* Implement explicit_bzero with memset if it is not available.
* Reformat all C source using clang-format 10.
* Work around Test::Strict not skipping .git directories.
* Fix warnings with perltidy 20190601 and Perl::Critic 1.134.
* Fix warnings with Clang 10, GCC 10, and the Clang static analyzer.
Update to C TAP Harness 4.7:
* Fix warnings with GCC 10.
* Reformat all C source using clang-format 10.
* Fixed malloc error checking in bstrndup.
Diffstat (limited to 'tests/util')
-rw-r--r-- | tests/util/messages-krb5-t.c | 9 | ||||
-rw-r--r-- | tests/util/messages-t.c | 34 | ||||
-rwxr-xr-x | tests/util/xmalloc-t | 37 | ||||
-rw-r--r-- | tests/util/xmalloc.c | 12 |
4 files changed, 49 insertions, 43 deletions
diff --git a/tests/util/messages-krb5-t.c b/tests/util/messages-krb5-t.c index b22c4cf..e68c57f 100644 --- a/tests/util/messages-krb5-t.c +++ b/tests/util/messages-krb5-t.c @@ -5,6 +5,7 @@ * which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>. * * Written by Russ Allbery <eagle@eyrie.org> + * Copyright 2020 Russ Allbery <eagle@eyrie.org> * Copyright 2010-2011, 2013-2014 * The Board of Trustees of the Leland Stanford Junior University * @@ -31,7 +32,7 @@ #include <config.h> #ifdef HAVE_KRB5 -# include <portable/krb5.h> +# include <portable/krb5.h> #endif #include <portable/system.h> @@ -39,7 +40,7 @@ #include <tests/tap/process.h> #include <util/macros.h> #ifdef HAVE_KRB5 -# include <util/messages-krb5.h> +# include <util/messages-krb5.h> #endif #include <util/messages.h> #include <util/xmalloc.h> @@ -58,7 +59,7 @@ main(void) /* * Test functions. */ -static void __attribute__((__noreturn__)) +__attribute__((__noreturn__)) static void test_warn(void *data UNUSED) { krb5_context ctx; @@ -76,7 +77,7 @@ test_warn(void *data UNUSED) exit(0); } -static void __attribute__((__noreturn__)) +__attribute__((__noreturn__)) static void test_die(void *data UNUSED) { krb5_context ctx; diff --git a/tests/util/messages-t.c b/tests/util/messages-t.c index e8a7835..cfb661a 100644 --- a/tests/util/messages-t.c +++ b/tests/util/messages-t.c @@ -5,7 +5,7 @@ * which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>. * * Written by Russ Allbery <eagle@eyrie.org> - * Copyright 2002, 2004-2005, 2015, 2017 Russ Allbery <eagle@eyrie.org> + * Copyright 2002, 2004-2005, 2015, 2017, 2020 Russ Allbery <eagle@eyrie.org> * Copyright 2009-2012 * The Board of Trustees of the Leland Stanford Junior University * @@ -54,7 +54,7 @@ test1(void *data UNUSED) warn("warning"); } -static void __attribute__((__noreturn__)) +__attribute__((__noreturn__)) static void test2(void *data UNUSED) { die("fatal"); @@ -67,7 +67,7 @@ test3(void *data UNUSED) syswarn("permissions"); } -static void __attribute__((__noreturn__)) +__attribute__((__noreturn__)) static void test4(void *data UNUSED) { errno = EACCES; @@ -81,7 +81,7 @@ test5(void *data UNUSED) warn("warning"); } -static void __attribute__((__noreturn__)) +__attribute__((__noreturn__)) static void test6(void *data UNUSED) { message_program_name = "test6"; @@ -96,7 +96,7 @@ test7(void *data UNUSED) syswarn("perms %d", 7); } -static void __attribute__((__noreturn__)) +__attribute__((__noreturn__)) static void test8(void *data UNUSED) { message_program_name = "test8"; @@ -110,14 +110,14 @@ return10(void) return 10; } -static void __attribute__((__noreturn__)) +__attribute__((__noreturn__)) static void test9(void *data UNUSED) { message_fatal_cleanup = return10; die("fatal"); } -static void __attribute__((__noreturn__)) +__attribute__((__noreturn__)) static void test10(void *data UNUSED) { message_program_name = 0; @@ -126,7 +126,7 @@ test10(void *data UNUSED) sysdie("fatal perm"); } -static void __attribute__((__noreturn__)) +__attribute__((__noreturn__)) static void test11(void *data UNUSED) { message_program_name = "test11"; @@ -136,7 +136,7 @@ test11(void *data UNUSED) sysdie("fatal"); } -static void __attribute__((__format__(printf, 2, 0))) +__attribute__((__format__(printf, 2, 0))) static void log_msg(size_t len, const char *format, va_list args, int error) { fprintf(stderr, "%lu %d ", (unsigned long) len, error); @@ -151,7 +151,7 @@ test12(void *data UNUSED) warn("warning"); } -static void __attribute__((__noreturn__)) +__attribute__((__noreturn__)) static void test13(void *data UNUSED) { message_handlers_die(1, log_msg); @@ -166,7 +166,7 @@ test14(void *data UNUSED) syswarn("warning"); } -static void __attribute__((__noreturn__)) +__attribute__((__noreturn__)) static void test15(void *data UNUSED) { message_handlers_die(2, log_msg, log_msg); @@ -218,22 +218,22 @@ test21(void *data UNUSED) debug("baz"); } -static void __attribute__((__noreturn__)) +__attribute__((__noreturn__)) static void test22(void *data UNUSED) { message_handlers_die(0); die("hi mom!"); } -static -void test23(void *data UNUSED) +static void +test23(void *data UNUSED) { message_handlers_warn(0); warn("this is a test"); } -static -void test24(void *data UNUSED) +static void +test24(void *data UNUSED) { notice("first"); message_handlers_notice(0); @@ -305,7 +305,7 @@ main(void) is_function_output(test20, NULL, 0, "3 0 foo\n", "test20"); is_function_output(test21, NULL, 0, "test23: baz\n", "test21"); - /* Make sure that it's possible to turn off a message type entirely. */ + /* Make sure that it's possible to turn off a message type entirely. */ is_function_output(test22, NULL, 1, "", "test22"); is_function_output(test23, NULL, 0, "", "test23"); is_function_output(test24, NULL, 0, "first\nthird\n", "test24"); diff --git a/tests/util/xmalloc-t b/tests/util/xmalloc-t index e73a7c6..b3afa31 100755 --- a/tests/util/xmalloc-t +++ b/tests/util/xmalloc-t @@ -6,7 +6,8 @@ # which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>. # # Written by Russ Allbery <eagle@eyrie.org> -# Copyright 2000-2001, 2006, 2014, 2016 Russ Allbery <eagle@eyrie.org> +# Copyright 2000-2001, 2006, 2014, 2016, 2019-2020 +# Russ Allbery <eagle@eyrie.org> # Copyright 2008-2010, 2012 # The Board of Trustees of the Leland Stanford Junior University # @@ -33,7 +34,7 @@ . "$C_TAP_SOURCE/tap/libtap.sh" cd "$C_TAP_BUILD/util" -# Run an xmalloc test. Takes the description, the expectd exit status, the +# Run an xmalloc test. Takes the description, the expected exit status, the # output, and the arguments. ok_xmalloc () { local desc w_status w_output output status @@ -101,46 +102,46 @@ ok_xmalloc "vasprintf large" 0 "" "v" "30000000" "0" # We assume that there are enough miscellaneous allocations that an allocation # exactly as large as the limit will always fail. ok_xmalloc "malloc fail" 1 \ - "failed to malloc 30000000 bytes at xmalloc.c line 41" \ + "failed to malloc 30000000 bytes at xmalloc.c line 42" \ "m" "30000000" "30000000" ok_xmalloc "realloc fail" 1 \ - "failed to realloc 30000000 bytes at xmalloc.c line 69" \ + "failed to realloc 30000000 bytes at xmalloc.c line 71" \ "r" "30000000" "30000000" ok_xmalloc "reallocarray fail" 1 \ - "failed to reallocarray 30000000 bytes at xmalloc.c line 99" \ + "failed to reallocarray 30000000 bytes at xmalloc.c line 100" \ "y" "30000000" "30000000" ok_xmalloc "strdup fail" 1 \ - "failed to strdup 30000000 bytes at xmalloc.c line 130" \ + "failed to strdup 30000000 bytes at xmalloc.c line 131" \ "s" "30000000" "30000000" ok_xmalloc "strndup fail" 1 \ - "failed to strndup 30000000 bytes at xmalloc.c line 176" \ + "failed to strndup 30000000 bytes at xmalloc.c line 177" \ "n" "30000000" "30000000" ok_xmalloc "calloc fail" 1 \ - "failed to calloc 30000000 bytes at xmalloc.c line 200" \ + "failed to calloc 30000000 bytes at xmalloc.c line 201" \ "c" "30000000" "30000000" ok_xmalloc "asprintf fail" 1 \ - "failed to asprintf 30000000 bytes at xmalloc.c line 224" \ + "failed to asprintf 30000000 bytes at xmalloc.c line 225" \ "a" "30000000" "30000000" ok_xmalloc "vasprintf fail" 1 \ - "failed to vasprintf 30000000 bytes at xmalloc.c line 243" \ + "failed to vasprintf 30000000 bytes at xmalloc.c line 244" \ "v" "30000000" "30000000" # Check our custom error handler. -ok_xmalloc "malloc custom" 1 "malloc 30000000 xmalloc.c 41" \ +ok_xmalloc "malloc custom" 1 "malloc 30000000 xmalloc.c 42" \ "M" "30000000" "30000000" -ok_xmalloc "realloc custom" 1 "realloc 30000000 xmalloc.c 69" \ +ok_xmalloc "realloc custom" 1 "realloc 30000000 xmalloc.c 71" \ "R" "30000000" "30000000" -ok_xmalloc "reallocarray custom" 1 "reallocarray 30000000 xmalloc.c 99" \ +ok_xmalloc "reallocarray custom" 1 "reallocarray 30000000 xmalloc.c 100" \ "Y" "30000000" "30000000" -ok_xmalloc "strdup custom" 1 "strdup 30000000 xmalloc.c 130" \ +ok_xmalloc "strdup custom" 1 "strdup 30000000 xmalloc.c 131" \ "S" "30000000" "30000000" -ok_xmalloc "strndup custom" 1 "strndup 30000000 xmalloc.c 176" \ +ok_xmalloc "strndup custom" 1 "strndup 30000000 xmalloc.c 177" \ "N" "30000000" "30000000" -ok_xmalloc "calloc custom" 1 "calloc 30000000 xmalloc.c 200" \ +ok_xmalloc "calloc custom" 1 "calloc 30000000 xmalloc.c 201" \ "C" "30000000" "30000000" -ok_xmalloc "asprintf custom" 1 "asprintf 30000000 xmalloc.c 224" \ +ok_xmalloc "asprintf custom" 1 "asprintf 30000000 xmalloc.c 225" \ "A" "30000000" "30000000" -ok_xmalloc "vasprintf custom" 1 "vasprintf 30000000 xmalloc.c 243" \ +ok_xmalloc "vasprintf custom" 1 "vasprintf 30000000 xmalloc.c 244" \ "V" "30000000" "30000000" # Check the smaller ones again just for grins. diff --git a/tests/util/xmalloc.c b/tests/util/xmalloc.c index d157bbb..eb6f1d2 100644 --- a/tests/util/xmalloc.c +++ b/tests/util/xmalloc.c @@ -4,7 +4,7 @@ * The canonical version of this file is maintained in the rra-c-util package, * which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>. * - * Copyright 2000-2001, 2006, 2017 Russ Allbery <eagle@eyrie.org> + * Copyright 2000-2001, 2006, 2017, 2020 Russ Allbery <eagle@eyrie.org> * Copyright 2008, 2012-2014 * The Board of Trustees of the Leland Stanford Junior University * @@ -34,10 +34,11 @@ #include <config.h> #include <portable/system.h> +#include <assert.h> #include <ctype.h> #include <errno.h> #ifdef HAVE_SYS_TIME_H -# include <sys/time.h> +# include <sys/time.h> #endif #include <time.h> @@ -94,6 +95,7 @@ test_realloc(size_t size) char *buffer; size_t i; + assert(size > 10); buffer = xmalloc(10); if (buffer == NULL) return 0; @@ -101,8 +103,7 @@ test_realloc(size_t size) buffer = xrealloc(buffer, size); if (buffer == NULL) return 0; - if (size > 0) - memset(buffer + 10, 2, size - 10); + memset(buffer + 10, 2, size - 10); for (i = 0; i < 10; i++) if (buffer[i] != 1) return 0; @@ -383,6 +384,7 @@ main(int argc, char *argv[]) #endif } + /* clang-format off */ switch (code) { case 'c': exit(test_calloc(size) ? willfail : 1); case 'm': exit(test_malloc(size) ? willfail : 1); @@ -394,5 +396,7 @@ main(int argc, char *argv[]) case 'v': exit(test_vasprintf(size) ? willfail : 1); default: die("Unknown mode %c", argv[1][0]); } + /* clang-format on */ + exit(1); } |