tests: avoid calling test script to get target names

As otherwise we couple *all* Makefile targets to the dependencies of
the test script, even for a simple make call (e.g., done on building
the source), so use a much simpler heuristic that just depends on
perl, which is essential in Debian.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2023-05-19 13:12:55 +02:00
parent 1edeff742d
commit aac89f6cfa
2 changed files with 5 additions and 11 deletions

View File

@ -1,6 +1,3 @@
MIGRATION_TEST_NAMES := $(shell ./run_qemu_migrate_tests.pl DUMP_NAMES)
MIGRATION_TEST_TARGETS := $(addprefix test_migration_,$(MIGRATION_TEST_NAMES))
all: test
test: test_snapshot test_ovf test_cfg_to_cmd test_pci_addr_conflicts test_qemu_img_convert test_migration test_restore_config
@ -21,6 +18,8 @@ test_qemu_img_convert: run_qemu_img_convert_tests.pl
test_pci_addr_conflicts: run_pci_addr_checks.pl
./run_pci_addr_checks.pl
MIGRATION_TEST_TARGETS := $(addprefix test_migration_,$(shell perl -ne 'print "$1 " if /^\s*name\s*=>\s*["'\'']([^\s"'\'']+)["'\'']\s*,\s*$/; END { print "\n" }' run_qemu_migrate_tests.pl))
test_migration: run_qemu_migrate_tests.pl MigrationTest/*.pm $(MIGRATION_TEST_TARGETS)
$(MIGRATION_TEST_TARGETS):

View File

@ -418,8 +418,9 @@ sub local_volids_for_vm {
my $tests = [
# each test consists of the following:
# name - unique name for the test which also serves as a dir name and
# gets passed to make, so don't use whitespace or slash
# name - unique name for the test which also serves as a dir name.
# NOTE: gets passed to make, so don't use whitespace or slash
# and adapt buildsys (regex) on code structure changes
# target - hostname of target node
# vmid - ID of the VM to migrate
# opts - options for the migrate() call
@ -1531,12 +1532,6 @@ my $tests = [
my $single_test_name = shift;
if (defined($single_test_name) && $single_test_name eq 'DUMP_NAMES') {
my $output = join(' ', map { $_->{name} } $tests->@*);
print "$output\n";
exit 0;
}
mkdir $RUN_DIR_PATH;
foreach my $test (@{$tests}) {