Richard W.M. Jones
2022-Feb-03 19:55 UTC
[Libguestfs] [PATCH libnbd] golang: tests: Fix error handling
On Thu, Feb 03, 2022 at 09:39:24PM +0200, Nir Soffer wrote:> On Thu, Feb 3, 2022 at 9:24 PM Eric Blake <eblake at redhat.com> wrote: > > > > On Thu, Feb 03, 2022 at 08:07:52PM +0200, Nir Soffer wrote: > > > Like lot of the C examples, the aio copy test ignores read and write > > > errors in the completion callback, which can cause silent data > > > corruption. The failure in the test is not critical, but this is a bad > > > example that may be copied by developers to a real application. > > > > > > The test panics now if completion callback fails, similar to other Go > > > examples. > > > > > > Signed-off-by: Nir Soffer <nsoffer at redhat.com> > > > --- > > > golang/libnbd_590_aio_copy_test.go | 12 ++++++++++-- > > > 1 file changed, 10 insertions(+), 2 deletions(-) > > > > ACK. > > Thanks, pushed as b80780e980275a879c13d27aff1449f91f883ce6 > > > python/t/590-aio-copy.py and ocaml/tests/test_490_aio_copy.ml need the > > same treatment. I'll post that with my v2 of the CVE fix. > > > > (It's nice that we've tried to share the same test numbers across > > language bindings - it makes it a bit easier where we copy the same > > coding paradigms across different languages) > > I wondered why we are using these numbers. I think using same pattern > like {lang}/tests/{name}_test.{suffix} would be nicer.But we want to run them in order, or at least express that there is an ordering to them. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html
Nir Soffer
2022-Feb-03 20:42 UTC
[Libguestfs] [PATCH libnbd] golang: tests: Fix error handling
On Thu, Feb 3, 2022 at 9:55 PM Richard W.M. Jones <rjones at redhat.com> wrote:> > On Thu, Feb 03, 2022 at 09:39:24PM +0200, Nir Soffer wrote: > > On Thu, Feb 3, 2022 at 9:24 PM Eric Blake <eblake at redhat.com> wrote: > > > > > > On Thu, Feb 03, 2022 at 08:07:52PM +0200, Nir Soffer wrote: > > > > Like lot of the C examples, the aio copy test ignores read and write > > > > errors in the completion callback, which can cause silent data > > > > corruption. The failure in the test is not critical, but this is a bad > > > > example that may be copied by developers to a real application. > > > > > > > > The test panics now if completion callback fails, similar to other Go > > > > examples. > > > > > > > > Signed-off-by: Nir Soffer <nsoffer at redhat.com> > > > > --- > > > > golang/libnbd_590_aio_copy_test.go | 12 ++++++++++-- > > > > 1 file changed, 10 insertions(+), 2 deletions(-) > > > > > > ACK. > > > > Thanks, pushed as b80780e980275a879c13d27aff1449f91f883ce6 > > > > > python/t/590-aio-copy.py and ocaml/tests/test_490_aio_copy.ml need the > > > same treatment. I'll post that with my v2 of the CVE fix. > > > > > > (It's nice that we've tried to share the same test numbers across > > > language bindings - it makes it a bit easier where we copy the same > > > coding paradigms across different languages) > > > > I wondered why we are using these numbers. I think using same pattern > > like {lang}/tests/{name}_test.{suffix} would be nicer. > > But we want to run them in order, or at least express that there is an > ordering to them.Tests ordering is an anti-pattern. Tests must not depend on each other so you can run any tests in any order. The only reason I can see for ordering tests is easier to use output when you compare failures, you know where to find the names. This can be done by the test runner (e.g sort tests before running them). Nir