• M
    tests: Fix how qom-test is run · e253c287
    Markus Armbruster 提交于
    We want to run qom-test for every architecture, without having to
    manually add it to every architecture's list of tests.  Commit 3687d532
    accomplished this by adding it to every architecture's list
    automatically.
    
    However, some architectures inherit their tests from others, like this:
    
        check-qtest-x86_64-y = $(check-qtest-i386-y)
        check-qtest-microblazeel-y = $(check-qtest-microblaze-y)
        check-qtest-xtensaeb-y = $(check-qtest-xtensa-y)
    
    For such architectures, we ended up running the (slow!) test twice.
    Commit 2b8419cb attempted to avoid this by adding the test only when
    it's not already present.  Works only as long as we consider adding
    the test to the architectures on the left hand side *after* the ones
    on the right hand side: x86_64 after i386, microblazeel after
    microblaze, xtensaeb after xtensa.
    
    Turns out we consider them in $(SYSEMU_TARGET_LIST) order.  Defined as
    
        SYSEMU_TARGET_LIST := $(subst -softmmu.mak,,$(notdir \
           $(wildcard $(SRC_PATH)/default-configs/*-softmmu.mak)))
    
    On my machine, this results in the oder xtensa, x86_64, microblazeel,
    microblaze, i386.  Consequently, qom-test runs twice for microblazeel
    and x86_64.
    
    Replace this complex and flawed machinery with a much simpler one: add
    generic tests (currently just qom-test) to check-qtest-generic-y
    instead of check-qtest-$(target)-y for every target, then run
    $(check-qtest-generic-y) for every target.
    Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
    Reviewed-by: NAndreas Färber <afaerber@suse.de>
    Message-Id: <1443689999-12182-5-git-send-email-armbru@redhat.com>
    e253c287
Makefile 27.1 KB