On 08/24/22 04:53, Eric Blake wrote: > Add testsuite coverage that exposes the flaw fixed in the previous patch. > > --- > tests/opt-info.c | 20 +++++++++++++------- > 1 file changed, 13 insertions(+), 7 deletions(-) > > diff --git a/tests/opt-info.c b/tests/opt-info.c > index b9739a5..2402a31 100644 > --- a/tests/opt-info.c > +++ b/tests/opt-info.c > @@ -1,5 +1,5 @@ > /* NBD client library in userspace > - * Copyright (C) 2013-2020 Red Hat Inc. > + * Copyright (C) 2013-2022 Red Hat Inc. > * > * This library is free software; you can redistribute it and/or > * modify it under the terms of the GNU Lesser General Public > @@ -80,15 +80,11 @@ main (int argc, char *argv[]) > exit (EXIT_FAILURE); > } > > - /* info on something not present fails, wipes out prior info */ > + /* changing export wipes out prior info */ > if (nbd_set_export_name (nbd, "a") == -1) { > fprintf (stderr, "%s\n", nbd_get_error ()); > exit (EXIT_FAILURE); > } > - if (nbd_opt_info (nbd) != -1) { > - fprintf (stderr, "expecting error for opt_info\n"); > - exit (EXIT_FAILURE); > - } > if (nbd_get_size (nbd) != -1) { > fprintf (stderr, "expecting error for get_size\n"); > exit (EXIT_FAILURE);
Is this well targeted though? Here we can't say whether nbd_get_size() fails because export "a" is different from the previous "" export, or because "a" does not exist. If "a" existed and nbd_get_size() still failed, that would be more to the point. > @@ -102,7 +98,13 @@ main (int argc, char *argv[]) > exit (EXIT_FAILURE); > } > > - /* info for a different export */ > + /* info on something not present fails */ > + if (nbd_opt_info (nbd) != -1) { > + fprintf (stderr, "expecting error for opt_info\n"); > + exit (EXIT_FAILURE); > + } > + Yes, this makes sense, assuming the previous point is "good enough". > + /* info for a different export; idempotent name change is no-op */ > if (nbd_set_export_name (nbd, "b") == -1) { > fprintf (stderr, "%s\n", nbd_get_error ()); > exit (EXIT_FAILURE); > @@ -111,6 +113,10 @@ main (int argc, char *argv[]) > fprintf (stderr, "%s\n", nbd_get_error ()); > exit (EXIT_FAILURE); > } > + if (nbd_set_export_name (nbd, "b") == -1) { > + fprintf (stderr, "%s\n", nbd_get_error ()); > + exit (EXIT_FAILURE); > + } > if ((r = nbd_get_size (nbd)) != 1) { > fprintf (stderr, "expecting size of 1, got %" PRId64 "\n", r); > exit (EXIT_FAILURE); > This looks OK to me. Laszlo _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs