Skip to content

Commit 92d24ff

Browse files
Traistaru Andrei Cristianandreitraistaru
Traistaru Andrei Cristian
authored andcommitted
Extract duplicate code into a method
Signed-off-by: Traistaru Andrei Cristian <[email protected]>
1 parent 89064c1 commit 92d24ff

File tree

1 file changed

+30
-69
lines changed

1 file changed

+30
-69
lines changed

src/vmm/src/builder.rs

Lines changed: 30 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,6 +1088,15 @@ pub mod tests {
10881088
.unwrap()
10891089
}
10901090

1091+
fn cmdline_contains(cmdline: &Cmdline, slug: &str) -> bool {
1092+
cmdline
1093+
.as_cstring()
1094+
.unwrap()
1095+
.into_string()
1096+
.unwrap()
1097+
.contains(slug)
1098+
}
1099+
10911100
pub(crate) fn default_kernel_cmdline() -> Cmdline {
10921101
linux_loader::cmdline::Cmdline::try_from(DEFAULT_KERNEL_CMDLINE, arch::CMDLINE_MAX_SIZE)
10931102
.unwrap()
@@ -1379,12 +1388,7 @@ pub mod tests {
13791388
let mut vmm = default_vmm();
13801389
let mut cmdline = default_kernel_cmdline();
13811390
insert_block_devices(&mut vmm, &mut cmdline, &mut event_manager, block_configs);
1382-
assert!(cmdline
1383-
.as_cstring()
1384-
.unwrap()
1385-
.into_string()
1386-
.unwrap()
1387-
.contains("root=/dev/vda ro"));
1391+
assert!(cmdline_contains(&cmdline, "root=/dev/vda ro"));
13881392
assert!(vmm
13891393
.mmio_device_manager
13901394
.get_device(DeviceType::Virtio(TYPE_BLOCK), drive_id.as_str())
@@ -1404,12 +1408,7 @@ pub mod tests {
14041408
let mut vmm = default_vmm();
14051409
let mut cmdline = default_kernel_cmdline();
14061410
insert_block_devices(&mut vmm, &mut cmdline, &mut event_manager, block_configs);
1407-
assert!(cmdline
1408-
.as_cstring()
1409-
.unwrap()
1410-
.into_string()
1411-
.unwrap()
1412-
.contains("root=PARTUUID=0eaa91a0-01 rw"));
1411+
assert!(cmdline_contains(&cmdline, "root=PARTUUID=0eaa91a0-01 rw"));
14131412
assert!(vmm
14141413
.mmio_device_manager
14151414
.get_device(DeviceType::Virtio(TYPE_BLOCK), drive_id.as_str())
@@ -1429,18 +1428,8 @@ pub mod tests {
14291428
let mut vmm = default_vmm();
14301429
let mut cmdline = default_kernel_cmdline();
14311430
insert_block_devices(&mut vmm, &mut cmdline, &mut event_manager, block_configs);
1432-
assert!(!cmdline
1433-
.as_cstring()
1434-
.unwrap()
1435-
.into_string()
1436-
.unwrap()
1437-
.contains("root=PARTUUID="));
1438-
assert!(!cmdline
1439-
.as_cstring()
1440-
.unwrap()
1441-
.into_string()
1442-
.unwrap()
1443-
.contains("root=/dev/vda"));
1431+
assert!(!cmdline_contains(&cmdline, "root=PARTUUID="));
1432+
assert!(!cmdline_contains(&cmdline, "root=/dev/vda"));
14441433
assert!(vmm
14451434
.mmio_device_manager
14461435
.get_device(DeviceType::Virtio(TYPE_BLOCK), drive_id.as_str())
@@ -1476,12 +1465,7 @@ pub mod tests {
14761465
let mut cmdline = default_kernel_cmdline();
14771466
insert_block_devices(&mut vmm, &mut cmdline, &mut event_manager, block_configs);
14781467

1479-
assert!(cmdline
1480-
.as_cstring()
1481-
.unwrap()
1482-
.into_string()
1483-
.unwrap()
1484-
.contains("root=PARTUUID=0eaa91a0-01 rw"));
1468+
assert!(cmdline_contains(&cmdline, "root=PARTUUID=0eaa91a0-01 rw"));
14851469
assert!(vmm
14861470
.mmio_device_manager
14871471
.get_device(DeviceType::Virtio(TYPE_BLOCK), "root")
@@ -1497,15 +1481,11 @@ pub mod tests {
14971481

14981482
// Check if these three block devices are inserted in kernel_cmdline.
14991483
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
1500-
assert!(cmdline
1501-
.as_cstring()
1502-
.unwrap()
1503-
.into_string()
1504-
.unwrap()
1505-
.contains(
1506-
"virtio_mmio.device=4K@0xd0000000:5 virtio_mmio.device=4K@0xd0001000:6 \
1507-
virtio_mmio.device=4K@0xd0002000:7"
1508-
));
1484+
assert!(cmdline_contains(
1485+
&cmdline,
1486+
"virtio_mmio.device=4K@0xd0000000:5 virtio_mmio.device=4K@0xd0001000:6 \
1487+
virtio_mmio.device=4K@0xd0002000:7"
1488+
));
15091489
}
15101490

15111491
// Use case 5: root block device is rw.
@@ -1521,12 +1501,7 @@ pub mod tests {
15211501
let mut vmm = default_vmm();
15221502
let mut cmdline = default_kernel_cmdline();
15231503
insert_block_devices(&mut vmm, &mut cmdline, &mut event_manager, block_configs);
1524-
assert!(cmdline
1525-
.as_cstring()
1526-
.unwrap()
1527-
.into_string()
1528-
.unwrap()
1529-
.contains("root=/dev/vda rw"));
1504+
assert!(cmdline_contains(&cmdline, "root=/dev/vda rw"));
15301505
assert!(vmm
15311506
.mmio_device_manager
15321507
.get_device(DeviceType::Virtio(TYPE_BLOCK), drive_id.as_str())
@@ -1546,12 +1521,7 @@ pub mod tests {
15461521
let mut vmm = default_vmm();
15471522
let mut cmdline = default_kernel_cmdline();
15481523
insert_block_devices(&mut vmm, &mut cmdline, &mut event_manager, block_configs);
1549-
assert!(cmdline
1550-
.as_cstring()
1551-
.unwrap()
1552-
.into_string()
1553-
.unwrap()
1554-
.contains("root=PARTUUID=0eaa91a0-01 ro"));
1524+
assert!(cmdline_contains(&cmdline, "root=PARTUUID=0eaa91a0-01 ro"));
15551525
assert!(vmm
15561526
.mmio_device_manager
15571527
.get_device(DeviceType::Virtio(TYPE_BLOCK), drive_id.as_str())
@@ -1571,12 +1541,7 @@ pub mod tests {
15711541
let mut vmm = default_vmm();
15721542
let mut cmdline = default_kernel_cmdline();
15731543
insert_block_devices(&mut vmm, &mut cmdline, &mut event_manager, block_configs);
1574-
assert!(cmdline
1575-
.as_cstring()
1576-
.unwrap()
1577-
.into_string()
1578-
.unwrap()
1579-
.contains("root=/dev/vda rw"));
1544+
assert!(cmdline_contains(&cmdline, "root=/dev/vda rw"));
15801545
assert!(vmm
15811546
.mmio_device_manager
15821547
.get_device(DeviceType::Virtio(TYPE_BLOCK), drive_id.as_str())
@@ -1612,12 +1577,10 @@ pub mod tests {
16121577
insert_balloon_device(&mut vmm, &mut cmdline, &mut event_manager, balloon_config);
16131578
// Check if the vsock device is described in kernel_cmdline.
16141579
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
1615-
assert!(cmdline
1616-
.as_cstring()
1617-
.unwrap()
1618-
.into_string()
1619-
.unwrap()
1620-
.contains("virtio_mmio.device=4K@0xd0000000:5"));
1580+
assert!(cmdline_contains(
1581+
&cmdline,
1582+
"virtio_mmio.device=4K@0xd0000000:5"
1583+
));
16211584
}
16221585

16231586
#[test]
@@ -1633,12 +1596,10 @@ pub mod tests {
16331596
insert_vsock_device(&mut vmm, &mut cmdline, &mut event_manager, vsock_config);
16341597
// Check if the vsock device is described in kernel_cmdline.
16351598
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
1636-
assert!(cmdline
1637-
.as_cstring()
1638-
.unwrap()
1639-
.into_string()
1640-
.unwrap()
1641-
.contains("virtio_mmio.device=4K@0xd0000000:5"));
1599+
assert!(cmdline_contains(
1600+
&cmdline,
1601+
"virtio_mmio.device=4K@0xd0000000:5"
1602+
));
16421603
}
16431604

16441605
#[test]

0 commit comments

Comments
 (0)