Skip to content

Commit 1641c40

Browse files
committed
uefi-raw: net: extend unit tests
1 parent f65ec9e commit 1641c40

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

uefi-raw/src/net.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,29 @@ mod tests {
328328
assert_eq!(unsafe { uefi_addr.v6.0 }, TEST_IPV6);
329329
}
330330

331+
/// Test conversions between `MacAddress` and octet arrays.
332+
#[test]
333+
fn test_mac_addr_conversion() {
334+
let ethernet_octets = [0, 1, 2, 3, 4, 5];
335+
let mut padded_octets = [0; 32];
336+
padded_octets[..6].copy_from_slice(&ethernet_octets);
337+
338+
let efi_mac_addr = MacAddress::from(ethernet_octets);
339+
assert_eq!(efi_mac_addr.octets(), padded_octets);
340+
assert_eq!(<[u8; 6]>::from(efi_mac_addr), ethernet_octets);
341+
assert_eq!(efi_mac_addr.into_ethernet_addr(), ethernet_octets);
342+
343+
let efi_octets = [
344+
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
345+
24, 25, 26, 27, 28, 29, 30, 31,
346+
];
347+
348+
let efi_mac_addr = MacAddress::from(efi_octets);
349+
assert_eq!(efi_mac_addr.octets(), efi_octets);
350+
assert_eq!(<[u8; 6]>::from(efi_mac_addr), ethernet_octets);
351+
assert_eq!(efi_mac_addr.into_ethernet_addr(), ethernet_octets);
352+
}
353+
331354
// Ensure that our IpAddress type can be put into a packed struct,
332355
// even when it is normally 4 byte aligned.
333356
#[test]

0 commit comments

Comments
 (0)