Thomas Huth <th...@redhat.com> writes: > On 27.04.2018 12:20, Peter Maydell wrote: >> On 27 April 2018 at 07:06, Thomas Huth <th...@redhat.com> wrote: >>> On 26.04.2018 13:54, Markus Armbruster wrote: >>> [...] >>>> Actually, a worse offender in the "waste everybody's time via redunancy" >>>> department could be qom-test.
Supporting numbers: $ time for i in *-softmmu/qemu-system-*; do [ -x $i ] || continue; QTEST_QEMU_BINARY=$i QTEST_QEMU_IMG=qemu-img MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} gtester -k --verbose -m=quick tests/qom-test ; done [...] real 3m27.427s user 2m7.141s sys 1m44.354s aarch64, arm, i386, x86_64 each take more than 30s. For each target, we walk /machine and qom-get every property. The test passes if qom-get doesn't crash, the values we get don't matter. For x86_64 alone, qom-test executes qom-get more than 45,000 times to test almost 9,500 objects. It gets the properties of more than 5000 qemu:memory-region objects, more than 2500 irq objects, almost 300 smbus-eeprom objects, 110 IDE objects, ... It's nice we can test qom-get doesn't crash on any of IDE's properties in 110 very slight variations. But most of the time, one of the variations would be enough. >>> Shall we change qom-test to also only test with the "none" machine in >>> the normal "make check" mode and only do the full test with all machines >>> in "make check SPEED=slow" ? >> >> We definitely want something that tries to instantiate every >> machine, because that does catch bugs. > > Yes, after having a closer look at this one, I also think that we should > *not* change it to run with "none" by default only. The 'qom-list' > command results in quite a different output depending on which machine > you run it on. Only running "none" is too naive.