]> git.proxmox.com Git - qemu-server.git/blobdiff - test/run_config2command_tests.pl
cfg2cmd test: add tests for multifunction devices
[qemu-server.git] / test / run_config2command_tests.pl
index 9b0b3bb3fb0471992086228dcce00094b8fd1eeb..84ad864cadd5b8400b81ee94d0964505b6822b09 100755 (executable)
@@ -59,6 +59,20 @@ my $base_env = {
     real_qemu_version => PVE::QemuServer::kvm_user_version(), # not yet mocked
 };
 
+my $pci_devs = [
+    "0000:00:43.1",
+    "0000:00:f4.0",
+    "0000:00:ff.1",
+    "0000:0f:f2.0",
+    "0000:d0:13.0",
+    "0000:d0:15.1",
+    "0000:d0:17.0",
+    "0000:f0:42.0",
+    "0000:f0:43.0",
+    "0000:f0:43.1",
+    "1234:f0:43.1",
+];
+
 my $current_test; # = {
 #   description => 'Test description', # if available
 #   qemu_version => '2.12',
@@ -146,6 +160,23 @@ $pve_common_tools->mock(
     },
 );
 
+my $pve_common_sysfstools;
+$pve_common_sysfstools = Test::MockModule->new('PVE::SysFSTools');
+$pve_common_sysfstools->mock(
+    lspci => sub {
+       my ($filter, $verbose) = @_;
+
+       return [
+           map { { id => $_ } }
+           grep {
+               !defined($filter)
+               || (!ref($filter) && $_ =~ m/^(0000:)?\Q$filter\E/)
+               || (ref($filter) eq 'CODE' && $filter->({ id => $_ }))
+           } sort @$pci_devs
+       ];
+    },
+);
+
 sub diff($$) {
     my ($a, $b) = @_;
     return if $a eq $b;