[pve-devel] [PATCH installer 4/6] tui, common: move network option tests to correct crate

Christoph Heiss c.heiss at proxmox.com
Thu Mar 27 16:17:15 CET 2025


The `NetworkOptions` struct was moved here in

  5362c05cd ("common: copy common code from tui-installer")

and

  86c48f76f ("tui: switch to common crate")

but the tests were forgotten at the original place.

No functional changes.

Signed-off-by: Christoph Heiss <c.heiss at proxmox.com>
---
 proxmox-installer-common/Cargo.toml     |  3 +
 proxmox-installer-common/src/options.rs | 88 +++++++++++++++++++++++
 proxmox-tui-installer/Cargo.toml        |  3 -
 proxmox-tui-installer/src/options.rs    | 93 -------------------------
 4 files changed, 91 insertions(+), 96 deletions(-)

diff --git a/proxmox-installer-common/Cargo.toml b/proxmox-installer-common/Cargo.toml
index c220f01..4bdb2b0 100644
--- a/proxmox-installer-common/Cargo.toml
+++ b/proxmox-installer-common/Cargo.toml
@@ -31,3 +31,6 @@ http = [
     "dep:sha2",
     "dep:ureq"
 ]
+
+[dev-dependencies]
+pretty_assertions = "1.4"
diff --git a/proxmox-installer-common/src/options.rs b/proxmox-installer-common/src/options.rs
index 6ebf64c..28f2971 100644
--- a/proxmox-installer-common/src/options.rs
+++ b/proxmox-installer-common/src/options.rs
@@ -497,6 +497,12 @@ pub fn email_validate(email: &str) -> Result<()> {
 #[cfg(test)]
 mod tests {
     use super::*;
+    use crate::{
+        setup::{Dns, Gateway, Interface, InterfaceState, NetworkInfo, Routes, SetupInfo},
+        utils::CidrAddress,
+    };
+    use std::collections::BTreeMap;
+    use std::net::{IpAddr, Ipv4Addr};
 
     #[test]
     fn zfs_arc_limit() {
@@ -520,4 +526,86 @@ mod tests {
             assert_eq!(default_zfs_arc_max(ProxmoxProduct::PDM, *total_memory), 0);
         }
     }
+
+    #[test]
+    fn network_options_from_setup_network_info() {
+        let setup = SetupInfo::mocked();
+
+        let mut interfaces = BTreeMap::new();
+        interfaces.insert(
+            "eth0".to_owned(),
+            Interface {
+                name: "eth0".to_owned(),
+                index: 0,
+                state: InterfaceState::Up,
+                mac: "01:23:45:67:89:ab".to_owned(),
+                addresses: Some(vec![
+                    CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
+                ]),
+            },
+        );
+
+        let mut info = NetworkInfo {
+            dns: Dns {
+                domain: Some("bar.com".to_owned()),
+                dns: Vec::new(),
+            },
+            routes: Some(Routes {
+                gateway4: Some(Gateway {
+                    dev: "eth0".to_owned(),
+                    gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
+                }),
+                gateway6: None,
+            }),
+            interfaces,
+            hostname: Some("foo".to_owned()),
+        };
+
+        pretty_assertions::assert_eq!(
+            NetworkOptions::defaults_from(&setup, &info),
+            NetworkOptions {
+                ifname: "eth0".to_owned(),
+                fqdn: Fqdn::from("foo.bar.com").unwrap(),
+                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
+                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
+                dns_server: Ipv4Addr::UNSPECIFIED.into(),
+            }
+        );
+
+        info.hostname = None;
+        pretty_assertions::assert_eq!(
+            NetworkOptions::defaults_from(&setup, &info),
+            NetworkOptions {
+                ifname: "eth0".to_owned(),
+                fqdn: Fqdn::from("pve.bar.com").unwrap(),
+                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
+                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
+                dns_server: Ipv4Addr::UNSPECIFIED.into(),
+            }
+        );
+
+        info.dns.domain = None;
+        pretty_assertions::assert_eq!(
+            NetworkOptions::defaults_from(&setup, &info),
+            NetworkOptions {
+                ifname: "eth0".to_owned(),
+                fqdn: Fqdn::from("pve.example.invalid").unwrap(),
+                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
+                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
+                dns_server: Ipv4Addr::UNSPECIFIED.into(),
+            }
+        );
+
+        info.hostname = Some("foo".to_owned());
+        pretty_assertions::assert_eq!(
+            NetworkOptions::defaults_from(&setup, &info),
+            NetworkOptions {
+                ifname: "eth0".to_owned(),
+                fqdn: Fqdn::from("foo.example.invalid").unwrap(),
+                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
+                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
+                dns_server: Ipv4Addr::UNSPECIFIED.into(),
+            }
+        );
+    }
 }
diff --git a/proxmox-tui-installer/Cargo.toml b/proxmox-tui-installer/Cargo.toml
index 0e9c940..403d1ef 100644
--- a/proxmox-tui-installer/Cargo.toml
+++ b/proxmox-tui-installer/Cargo.toml
@@ -14,6 +14,3 @@ serde_json.workspace = true
 regex.workspace = true
 
 cursive = { version = "0.21", default-features = false, features = ["crossterm-backend"] }
-
-[dev-dependencies]
-pretty_assertions = "1.4"
diff --git a/proxmox-tui-installer/src/options.rs b/proxmox-tui-installer/src/options.rs
index 8dcd697..c80877f 100644
--- a/proxmox-tui-installer/src/options.rs
+++ b/proxmox-tui-installer/src/options.rs
@@ -79,96 +79,3 @@ impl InstallerOptions {
         ]
     }
 }
-
-#[cfg(test)]
-mod tests {
-    use super::*;
-    use proxmox_installer_common::{
-        setup::{Dns, Gateway, Interface, InterfaceState, NetworkInfo, Routes, SetupInfo},
-        utils::{CidrAddress, Fqdn},
-    };
-    use std::collections::BTreeMap;
-    use std::net::{IpAddr, Ipv4Addr};
-
-    #[test]
-    fn network_options_from_setup_network_info() {
-        let setup = SetupInfo::mocked();
-
-        let mut interfaces = BTreeMap::new();
-        interfaces.insert(
-            "eth0".to_owned(),
-            Interface {
-                name: "eth0".to_owned(),
-                index: 0,
-                state: InterfaceState::Up,
-                mac: "01:23:45:67:89:ab".to_owned(),
-                addresses: Some(vec![
-                    CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
-                ]),
-            },
-        );
-
-        let mut info = NetworkInfo {
-            dns: Dns {
-                domain: Some("bar.com".to_owned()),
-                dns: Vec::new(),
-            },
-            routes: Some(Routes {
-                gateway4: Some(Gateway {
-                    dev: "eth0".to_owned(),
-                    gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
-                }),
-                gateway6: None,
-            }),
-            interfaces,
-            hostname: Some("foo".to_owned()),
-        };
-
-        pretty_assertions::assert_eq!(
-            NetworkOptions::defaults_from(&setup, &info),
-            NetworkOptions {
-                ifname: "eth0".to_owned(),
-                fqdn: Fqdn::from("foo.bar.com").unwrap(),
-                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
-                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
-                dns_server: Ipv4Addr::UNSPECIFIED.into(),
-            }
-        );
-
-        info.hostname = None;
-        pretty_assertions::assert_eq!(
-            NetworkOptions::defaults_from(&setup, &info),
-            NetworkOptions {
-                ifname: "eth0".to_owned(),
-                fqdn: Fqdn::from("pve.bar.com").unwrap(),
-                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
-                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
-                dns_server: Ipv4Addr::UNSPECIFIED.into(),
-            }
-        );
-
-        info.dns.domain = None;
-        pretty_assertions::assert_eq!(
-            NetworkOptions::defaults_from(&setup, &info),
-            NetworkOptions {
-                ifname: "eth0".to_owned(),
-                fqdn: Fqdn::from("pve.example.invalid").unwrap(),
-                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
-                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
-                dns_server: Ipv4Addr::UNSPECIFIED.into(),
-            }
-        );
-
-        info.hostname = Some("foo".to_owned());
-        pretty_assertions::assert_eq!(
-            NetworkOptions::defaults_from(&setup, &info),
-            NetworkOptions {
-                ifname: "eth0".to_owned(),
-                fqdn: Fqdn::from("foo.example.invalid").unwrap(),
-                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
-                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
-                dns_server: Ipv4Addr::UNSPECIFIED.into(),
-            }
-        );
-    }
-}
-- 
2.48.1





More information about the pve-devel mailing list