From b84ffc176d3ab90a5dd42e406f84b2207f2782ca Mon Sep 17 00:00:00 2001 From: Nick Alcock Date: Wed, 19 Jun 2024 14:06:26 +0100 Subject: libctf: fix testsuite bugs revealed by -Wall Most of these are harmless, but some of the type confusions and especially a missing ctf_strerror() on an error path were actual bugs that could have resulted in test failures crashing rather than printing an error message. libctf/ * testsuite/libctf-lookup/enumerator-iteration.c: Fix type confusion, signedness confusion and a missing ctf_errmsg(). * testsuite/libctf-regression/libctf-repeat-cu-main.c: Return 0 from the test function. * testsuite/libctf-regression/open-error-free.c: Fix signedness confusion. * testsuite/libctf-regression/zrewrite.c: Remove unused label. --- libctf/testsuite/libctf-lookup/enumerator-iteration.c | 15 +++++++-------- .../testsuite/libctf-regression/libctf-repeat-cu-main.c | 2 +- libctf/testsuite/libctf-regression/open-error-free.c | 2 +- libctf/testsuite/libctf-regression/zrewrite.c | 3 --- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/libctf/testsuite/libctf-lookup/enumerator-iteration.c b/libctf/testsuite/libctf-lookup/enumerator-iteration.c index e46dad6..78cb5a3 100644 --- a/libctf/testsuite/libctf-lookup/enumerator-iteration.c +++ b/libctf/testsuite/libctf-lookup/enumerator-iteration.c @@ -23,8 +23,8 @@ print_constants (ctf_archive_t *ctf, const char *name) { char *foo; - printf ("%s in %s has value %i\n", name, - foo = ctf_type_aname (fp, type), val); + printf ("%s in %s has value %li\n", name, + foo = ctf_type_aname (fp, type), (long int) val); free (foo); ctf_dict_close (fp); @@ -44,7 +44,6 @@ main (int argc, char *argv[]) int err; ctf_id_t type; ctf_next_t *i = NULL; - const char *name; int64_t val; int counter = 0; @@ -71,8 +70,8 @@ main (int argc, char *argv[]) { char *foo; - printf ("IENUMSAMPLE2_2 in %s has value %i\n", - foo = ctf_type_aname (fp, type), val); + printf ("IENUMSAMPLE2_2 in %s has value %li\n", + foo = ctf_type_aname (fp, type), (long int) val); free (foo); if ((type = ctf_add_enum (fp, CTF_ADD_ROOT, "ie3")) == CTF_ERR) @@ -117,13 +116,13 @@ main (int argc, char *argv[]) if (type != CTF_ERR) { char *foo; - printf ("direct lookup: hidden lookup did not return ECTF_NOENUMNAM but rather %i in %s\n", - val, foo = ctf_type_aname (fp, type)); + printf ("direct lookup: hidden lookup did not return ECTF_NOENUMNAM but rather %li in %s\n", + (long int) val, foo = ctf_type_aname (fp, type)); free (foo); } else printf ("direct lookup: hidden lookup did not return ECTF_NOENUMNAM but rather %s\n", - ctf_errno (fp)); + ctf_errmsg (ctf_errno (fp))); } ctf_dict_close (fp); diff --git a/libctf/testsuite/libctf-regression/libctf-repeat-cu-main.c b/libctf/testsuite/libctf-regression/libctf-repeat-cu-main.c index bfbaf0c..c1f2f63 100644 --- a/libctf/testsuite/libctf-regression/libctf-repeat-cu-main.c +++ b/libctf/testsuite/libctf-regression/libctf-repeat-cu-main.c @@ -2,4 +2,4 @@ typedef short ret_t; int a (void); int b (void); int c (void); -int blah (void) { a(); b(); c(); } +int blah (void) { a(); b(); c(); return 0; } diff --git a/libctf/testsuite/libctf-regression/open-error-free.c b/libctf/testsuite/libctf-regression/open-error-free.c index edc5f34..7405cdb 100644 --- a/libctf/testsuite/libctf-regression/open-error-free.c +++ b/libctf/testsuite/libctf-regression/open-error-free.c @@ -143,7 +143,7 @@ int main (void) failure after we corrupt it: the leak is only observable if the dict gets malloced, which only happens after that point.) */ - if ((written = ctf_write_mem (fp, &written_size, (size_t) -1)) == NULL) + if ((written = (char *) ctf_write_mem (fp, &written_size, (size_t) -1)) == NULL) goto write_err; ctf_dict_close (fp); diff --git a/libctf/testsuite/libctf-regression/zrewrite.c b/libctf/testsuite/libctf-regression/zrewrite.c index 5e061f1..3ddc354 100644 --- a/libctf/testsuite/libctf-regression/zrewrite.c +++ b/libctf/testsuite/libctf-regression/zrewrite.c @@ -150,7 +150,4 @@ main (int argc, char *argv[]) write_stderr: fprintf (stderr, "%s: cannot open for writing: %s\n", argv[0], strerror (errno)); return 1; - read_err: - fprintf (stderr, "%s: cannot read\n", argv[0]); - return 1; } -- cgit v1.1