diff --git a/integration_tests/tests/backcompat.rs b/integration_tests/tests/backcompat.rs new file mode 100644 index 0000000000..86fea89abf --- /dev/null +++ b/integration_tests/tests/backcompat.rs @@ -0,0 +1,31 @@ +// Copyright 2022 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +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 + ); +} diff --git a/integration_tests/tests/boot.rs b/integration_tests/tests/boot.rs index 8659f117b4..52cfbbace4 100644 --- a/integration_tests/tests/boot.rs +++ b/integration_tests/tests/boot.rs @@ -1,7 +1,7 @@ // Copyright 2020 The Chromium OS Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -mod fixture; +pub mod fixture; use fixture::Config; use fixture::TestVm; diff --git a/integration_tests/tests/goldens/backcompat_test_simple_lspci.txt b/integration_tests/tests/goldens/backcompat_test_simple_lspci.txt new file mode 100644 index 0000000000..737748235b --- /dev/null +++ b/integration_tests/tests/goldens/backcompat_test_simple_lspci.txt @@ -0,0 +1,7 @@ +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