From 55a1ae4163ecc97601c8d3d216452b65eec405af Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 21 May 2024 13:45:02 +0200 Subject: [PATCH] tests: Avoid some compiler warnings. * tests/gpg/t-support.h (fail_with_syserr): New. (check_data): Use it to avoid compiler warnings. * tests/run-support.h (fail_with_syserr): New. -- I don't think that there is a way to tell gcc that gpgme_err_code_from_errno will never return 0. Thus we better use a different macro. --- tests/gpg/t-support.h | 15 +++++++++++++-- tests/run-support.h | 13 ++++++++++++- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/tests/gpg/t-support.h b/tests/gpg/t-support.h index 0c1a73ed..ae70cecc 100644 --- a/tests/gpg/t-support.h +++ b/tests/gpg/t-support.h @@ -53,6 +53,17 @@ } \ while (0) +#define fail_with_syserr() \ + do \ + { \ + gpg_error_t _err = gpgme_err_code_from_errno (errno); \ + fprintf (stderr, PGM": file %s line %d: <%s> %s\n", \ + __FILE__, __LINE__, gpgme_strsource (_err), \ + gpgme_strerror (_err)); \ + exit (1); \ + } \ + while (0) + #ifdef GPGRT_HAVE_MACRO_FUNCTION void GPGRT_ATTR_NORETURN @@ -131,9 +142,9 @@ check_data (gpgme_data_t dh, const char *expected) ret = gpgme_data_seek (dh, 0, SEEK_SET); if (ret) - fail_if_err (gpgme_err_code_from_errno (errno)); + fail_with_syserr (); if ((ret = gpgme_data_read (dh, buf, BUF_SIZE)) < 0) - fail_if_err (gpgme_err_code_from_errno (errno)); + fail_with_syserr (); buf[ret] = 0; if (ret != expectedlen || strncmp (buf, expected, expectedlen)) { diff --git a/tests/run-support.h b/tests/run-support.h index d7b2987b..6471e2b9 100644 --- a/tests/run-support.h +++ b/tests/run-support.h @@ -48,6 +48,18 @@ while (0) +#define fail_with_syserr() \ + do \ + { \ + gpg_error_t _err = gpgme_err_code_from_errno (errno); \ + fprintf (stderr, PGM": file %s line %d: <%s> %s\n", \ + __FILE__, __LINE__, gpgme_strsource (_err), \ + gpgme_strerror (_err)); \ + exit (1); \ + } \ + while (0) + + static const char * nonnull (const char *s) { @@ -196,4 +208,3 @@ print_import_result (gpgme_import_result_t r) r->not_imported, r->skipped_v3_keys); } -