On Thu, May 22, 2008 at 06:28:25PM +0100, Daniel P. Berrange wrote: > This patch adds more helper functions to the tests/testutils.c file which > make it trivial to verify OOM handling in our test suites. > > It provides a virtTestMain() function which is the main driver. This is > given the original argc, argv and a function callback representing the > test suite to run. Next, instead of a test suite defining a 'main()' > function itself, it calls it something else like 'mymain()', and then > declared VIRT_TEST_MAIN(mymain). This will cause the test suite to be > run via the generic helper. > > In normal use the virtTestMain() function simply calls mymain() directly > and everything runs as it does now. > > If you set the VIR_TEST_OOM environment variable to a positive integer > it'll perform OOM testing. The value of the variable is the number of > consequtive allocations to fails. eg VIR_TEST_OOM=1 will only fail a > single allocation each time, while VIR_TEST_OOM=5 will fail batches > of 5 allocations. > > As described in the previous patch, the way it works is > > - Run mymain() and get a count of allocations > > - Foreach n in count > - Schedule the n'th alocation to fail > - Run mymain() and validate that it returns EXIT_FAILURE > > So, now you can do > > VIR_TEST_OOM=1 make check > > And it'll perform OOM checking on any test suite leveraging this testutils > infrastructure. You can also do it directly on individual testsuites > > VIR_TEST_OOM=1 ./qparamstest okay, sounds cool. The problem is to make realistic testing while systematic one would explodes time-wise. I guess the 1 setting is probably sufficient Patch looks fine to me, +1 Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@xxxxxxxxxx | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list