Commit graph

1 commit

Author SHA1 Message Date
Frederick Mayle
bc927456ad integration_tests: Simple backwards compatibility test
The goal is to detect (possibly backwards imcompatible) changes to the
virtual hardware exposed to guests. To start with, it only checks the
PCI devices.

Example failure output when the iommu is removed:

    thread 'backcompat_test_simple_lspci' panicked at 'assertion failed: `(left == right)`
      left: `"00:00.0 0600: 8086:1237\n00:01.0 00ff: 1af4:1057 (rev 01)\n00:02.0 00ff: 1af4:1042 (rev 01)\n00:03.0 00ff: 1af4:1044 (rev 01)\n00:04.0 00ff: 1af4:1045 (rev 01)\n00:05.0 0c03: 1b73
    :1000\n00:06.0 ffff: 1b36:0011 (rev 01)\n00:07.0 0604: 8086:3420"`,
     right: `"00:00.0 0600: 8086:1237\n00:01.0 00ff: 1af4:1042 (rev 01)\n00:02.0 00ff: 1af4:1044 (rev 01)\n00:03.0 00ff: 1af4:1045 (rev 01)\n00:04.0 0c03: 1b73:1000\n00:05.0 ffff: 1b36:0011 (re
    v 01)\n00:06.0 0604: 8086:3420"`: PCI Devices changed:
    <<< Expected <<<
    00:00.0 0600: 8086:1237
    00:01.0 00ff: 1af4:1057 (rev 01)
    00:02.0 00ff: 1af4:1042 (rev 01)
    00:03.0 00ff: 1af4:1044 (rev 01)
    00:04.0 00ff: 1af4:1045 (rev 01)
    00:05.0 0c03: 1b73:1000
    00:06.0 ffff: 1b36:0011 (rev 01)
    00:07.0 0604: 8086:3420
    <<<<<<<<<<<<<<<<
    >>> Got      >>>
    00:00.0 0600: 8086:1237
    00:01.0 00ff: 1af4:1042 (rev 01)
    00:02.0 00ff: 1af4:1044 (rev 01)
    00:03.0 00ff: 1af4:1045 (rev 01)
    00:04.0 0c03: 1b73:1000
    00:05.0 ffff: 1b36:0011 (rev 01)
    00:06.0 0604: 8086:3420
    >>>>>>>>>>>>>>>>
    ', integration_tests/tests/backcompat.rs:21:5

    ... vm serial output ...

`pub mod` is used to avoid deadcode warnings. Changed boot.rs to do the
same for consistency and future proofing.

BUG=b:231365736
TEST=./integration_tests/run

Change-Id: Ia33d6631e3385ce3633cadff552a6253bb486f93
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3795888
Auto-Submit: Frederick Mayle <fmayle@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: David Stevens <stevensd@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: Frederick Mayle <fmayle@google.com>
2022-08-02 17:32:50 +00:00