John reported ide-test dying at startup in the NetBSD VM: ERROR:../src/tests/qtest/ide-test.c:1260:main: assertion failed: (ret == 0)
The hypothesys is that the ftruncate() of a 64 MiB scratch image. NetBSD mounts /tmp as a tmpfs sized at 25% of RAM and charges a file its full length themoment it is extended, so a sparse image is not free there and the call returns ENOSPC. The assert dates to 2013, nothing regressed. The series is designed to do two things: * reduce the amount of space needed switching to QCOW2 * tolerate the failure skipping the test if there is not enough space Patches 1-4 skip instead of aborting, the way hd-geo-test has since a0d6d7454a. Patches 5-7 build the images with qemu-img where only the virtual size matters: peak scratch space goes from 129 MiB to 1.6 MiB for ide-test and from 4126 MiB to 1.5 MiB for hd-geo-test. Hope this should help. John, can you give a try to this in the test? I do not have NetBSD handy and will start with this tomorrow if you will share guest config. Cc: John Snow <[email protected]> Cc: Thomas Huth <[email protected]> Signed-off-by: Denis V. Lunev <[email protected]> Denis V. Lunev (7): tests/qtest/libqos: let mkqcow2() report failure tests/qtest/ide-test: skip when the scratch files cannot be created tests/qtest/ahci-test: skip when the scratch files cannot be created tests/qtest/hd-geo-test: skip when the scratch file cannot be created tests/qtest/libqtest: create images with a byte-precise size tests/qtest/ide-test: build the shared disks with qemu-img tests/qtest/hd-geo-test: build the test images with qemu-img tests/qtest/ahci-test.c | 48 ++++++++--- tests/qtest/hd-geo-test.c | 145 ++++++++++++++++++++++----------- tests/qtest/ide-test.c | 96 +++++++++++++++++----- tests/qtest/libqos/libqos.c | 4 +- tests/qtest/libqos/libqos.h | 2 +- tests/qtest/libqtest.c | 9 +- tests/qtest/libqtest.h | 12 +++ tests/qtest/virtio-scsi-test.c | 5 +- 8 files changed, 237 insertions(+), 84 deletions(-) -- 2.53.0
