[Libguestfs] Long running nbdkit tests

Richard W.M. Jones rjones at redhat.com
Fri Dec 13 14:39:58 UTC 2019


The nbdkit tests take a long time to run especially on armv7.  To try
to get an idea of which tests take the most time, and since I happen
to have a qemu aarch64 *TCG* guest available, I ran the tests on that
guest.

A TCG guest is about the worst case for libguestfs, used by some
tests, since it uses double-nested TCG, and as you can see below there
are tests taking over 6 hours.

In fact I didn't complete the run yet.  test-cow.sh is still running
(after 2+ hours) and there may be further tests to come.

Results:

06:43:00 PASS: test-cache.sh
06:37:48 PASS: test-cache-on-read.sh
[              test-cow.sh possibly here ]
00:35:41 PASS: test-partitioning3.sh
00:34:29 PASS: test-partitioning5.sh
00:34:03 PASS: test-linuxdisk-copy-out.sh
00:33:58 PASS: test-floppy.sh
00:30:45 PASS: test-partitioning2.sh
00:28:41 PASS: test-linuxdisk.sh
00:28:34 PASS: test-iso.sh
00:02:59 PASS: test-cache-max-size.sh
00:02:58 PASS: test-partitioning6.sh
00:02:55 PASS: test-partitioning4.sh
00:02:51 PASS: test-eflags.sh
00:01:11 PASS: test-export-name.sh
00:01:01 PASS: test-parallel-sh.sh
00:00:54 PASS: test-python.sh
00:00:44 PASS: test-sh-errors.sh
00:00:44 PASS: test-cacheextents.sh
00:00:41 PASS: test-sh-extents.sh
00:00:35 PASS: test-info-base64.sh

Ignoring the ones which take mere minutes (those run in seconds on
more reasonable hardware), here is a summary of how the tests are
implemented:

test-cache.sh               Gx2 F D
test-cache-on-read.sh       Gx2 F D
test-cow.sh                 Gx3 F
test-partitioning3.sh       G
test-partitioning5.sh       G   F
test-linuxdisk-copy-out.sh  G     Dx4
test-floppy.sh              G     Dx2
test-partitioning2.sh       G   F
test-linuxdisk.sh           G     D
test-iso.sh                 G

D = using libguestfs download or similar APIs
F = using libguestfs "fill" APIs which write lots of data
G = guestfish
xN = runs multiple times

So there's quite a strong correlation between multiple runs of
guestfish, and using those two APIs, and time taken.

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




More information about the Libguestfs mailing list