2022-09-13 17:55:17 +00:00
|
|
|
// Copyright 2022 The ChromiumOS Authors
|
2022-07-30 00:56:36 +00:00
|
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
|
|
// found in the LICENSE file.
|
2022-09-13 19:37:28 +00:00
|
|
|
|
2022-07-30 00:56:36 +00:00
|
|
|
pub mod fixture;
|
|
|
|
use fixture::Config;
|
|
|
|
use fixture::TestVm;
|
|
|
|
|
|
|
|
// Tests for possible backwards compatibility issues.
|
|
|
|
//
|
|
|
|
// There is no backwards compatibility policy yet, these are just "change detector" tests. If you
|
|
|
|
// break a test, make sure the change is intended and then ask in go/crosvm-chat to see if anyone
|
|
|
|
// objects to updating the golden file.
|
|
|
|
|
|
|
|
// Many changes to PCI devices can cause issues, e.g. some users depend on crosvm always choosing
|
|
|
|
// the same PCI slots for particular devices.
|
|
|
|
#[test]
|
|
|
|
fn backcompat_test_simple_lspci() {
|
|
|
|
let mut vm = TestVm::new(Config::new()).unwrap();
|
|
|
|
let expected = include_str!("goldens/backcompat_test_simple_lspci.txt").trim();
|
|
|
|
let result = vm
|
|
|
|
.exec_in_guest("lspci -n")
|
|
|
|
.unwrap()
|
|
|
|
.trim()
|
|
|
|
.replace("\r", "");
|
|
|
|
assert_eq!(
|
|
|
|
expected,
|
|
|
|
result,
|
|
|
|
"PCI Devices changed:\n<<< Expected <<<\n{}\n<<<<<<<<<<<<<<<<\n>>> Got >>>\n{}\n>>>>>>>>>>>>>>>>\n",
|
|
|
|
expected, result
|
|
|
|
);
|
|
|
|
}
|