diff --git a/rs/ic_os/config/golden/guestos_vm_kvm.xml b/rs/ic_os/config/golden/guestos_vm_kvm.xml
new file mode 100644
index 000000000000..57606c9999be
--- /dev/null
+++ b/rs/ic_os/config/golden/guestos_vm_kvm.xml
@@ -0,0 +1,183 @@
+
+ guestos
+ fd897da5-8017-41c8-8575-a706dba30766
+
+
+
+
+
+ 490
+ 490
+ 56
+
+
+
+
+
+
+ /machine
+
+
+ hvm
+ /usr/share/OVMF/OVMF_CODE_4M.fd
+ /var/lib/libvirt/qemu/nvram/guestos_VARS.fd
+
+
+
+
+
+
+
+
+
+
+
+ restart
+ restart
+ restart
+
+
+
+
+
+ /usr/local/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /dev/urandom
+
+
+
+
+
+
+ +64055:+108
+
+
diff --git a/rs/ic_os/config/golden/guestos_vm_qemu.xml b/rs/ic_os/config/golden/guestos_vm_qemu.xml
new file mode 100644
index 000000000000..ad41bd577377
--- /dev/null
+++ b/rs/ic_os/config/golden/guestos_vm_qemu.xml
@@ -0,0 +1,179 @@
+
+ guestos
+ fd897da5-8017-41c8-8575-a706dba30766
+
+
+
+
+
+ 490
+ 490
+ 56
+
+
+ /machine
+
+
+ hvm
+ /usr/share/OVMF/OVMF_CODE_4M.fd
+ /var/lib/libvirt/qemu/nvram/guestos_VARS.fd
+
+
+
+
+
+
+
+
+
+
+
+ restart
+ restart
+ restart
+
+
+
+
+
+ /usr/local/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /dev/urandom
+
+
+
+
+
+
+ +64055:+108
+
+
diff --git a/rs/ic_os/config/src/guest_vm_config.rs b/rs/ic_os/config/src/guest_vm_config.rs
index 13c0a189ce81..ae2ca81364be 100644
--- a/rs/ic_os/config/src/guest_vm_config.rs
+++ b/rs/ic_os/config/src/guest_vm_config.rs
@@ -239,6 +239,8 @@ mod tests {
DeploymentEnvironment, DeterministicIpv6Config, HostOSConfig, HostOSSettings, ICOSSettings,
Ipv4Config, Ipv6Config, Logging, NetworkSettings,
};
+ use goldenfile::Mint;
+ use std::env;
use std::os::unix::prelude::MetadataExt;
use std::path::Path;
use tempfile::tempdir;
@@ -324,39 +326,36 @@ mod tests {
);
}
- // Temporarily comment these out until the next PR where we check in the golden files
- // (we do that to avoid messing up git history).
-
- // fn goldenfiles_path() -> PathBuf {
- // let mut path = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
- // path.push("golden");
- // path
- // }
- //
- // fn test_vm_config(cpu_type: &str, filename: &str) {
- // let mut mint = Mint::new(goldenfiles_path());
- // let mut config = create_test_hostos_config();
- //
- // config.hostos_settings = HostOSSettings {
- // vm_memory: 490,
- // vm_cpu: cpu_type.to_string(),
- // vm_nr_of_vcpus: 56,
- // verbose: false,
- // };
- //
- // let vm_config = generate_vm_config(&config, Path::new("/tmp/config.img")).unwrap();
- // fs::write(mint.new_goldenpath(filename).unwrap(), vm_config).unwrap();
- // }
- //
- // #[test]
- // fn test_generate_vm_config_qemu() {
- // test_vm_config("qemu", "guestos_vm_qemu.xml");
- // }
- //
- // #[test]
- // fn test_generate_vm_config_kvm() {
- // test_vm_config("kvm", "guestos_vm_kvm.xml");
- // }
+ fn goldenfiles_path() -> PathBuf {
+ let mut path = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
+ path.push("golden");
+ path
+ }
+
+ fn test_vm_config(cpu_type: &str, filename: &str) {
+ let mut mint = Mint::new(goldenfiles_path());
+ let mut config = create_test_hostos_config();
+
+ config.hostos_settings = HostOSSettings {
+ vm_memory: 490,
+ vm_cpu: cpu_type.to_string(),
+ vm_nr_of_vcpus: 56,
+ verbose: false,
+ };
+
+ let vm_config = generate_vm_config(&config, Path::new("/tmp/config.img")).unwrap();
+ fs::write(mint.new_goldenpath(filename).unwrap(), vm_config).unwrap();
+ }
+
+ #[test]
+ fn test_generate_vm_config_qemu() {
+ test_vm_config("qemu", "guestos_vm_qemu.xml");
+ }
+
+ #[test]
+ fn test_generate_vm_config_kvm() {
+ test_vm_config("kvm", "guestos_vm_kvm.xml");
+ }
#[test]
fn test_run_success() {