From 2410334c0baf7e472246b896931869f420c73b2b Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Mon, 10 Jun 2024 21:35:03 -0700 Subject: [PATCH] manager: Simplify test setup --- src/manager/root.rs | 60 ++++++++++++++++++--------------------------- src/manager/user.rs | 23 ++++++----------- 2 files changed, 31 insertions(+), 52 deletions(-) diff --git a/src/manager/root.rs b/src/manager/root.rs index c35a87b..71bc506 100644 --- a/src/manager/root.rs +++ b/src/manager/root.rs @@ -281,50 +281,33 @@ mod test { connection: Connection, } - async fn start(name: &str) -> TestHandle { + async fn start() -> Result { let handle = testing::start(); - create_dir_all(crate::path("/sys/class/dmi/id")) - .await - .expect("create_dir_all"); - write(crate::path("/sys/class/dmi/id/board_vendor"), "Valve\n") - .await - .expect("write"); - write(crate::path("/sys/class/dmi/id/board_name"), "Jupiter\n") - .await - .expect("write"); - create_dir_all(crate::path("/etc/NetworkManager/conf.d")) - .await - .expect("create_dir_all"); + create_dir_all(crate::path("/sys/class/dmi/id")).await?; + write(crate::path("/sys/class/dmi/id/board_vendor"), "Valve\n").await?; + write(crate::path("/sys/class/dmi/id/board_name"), "Jupiter\n").await?; + create_dir_all(crate::path("/etc/NetworkManager/conf.d")).await?; write( crate::path("/etc/NetworkManager/conf.d/wifi_backend.conf"), "wifi.backend=iwd\n", ) - .await - .expect("write"); + .await?; - let connection = ConnectionBuilder::session() - .unwrap() - .name(format!("com.steampowered.SteamOSManager1.Test.{name}")) - .unwrap() - .build() - .await - .unwrap(); - let manager = SteamOSManager::new(connection.clone()).await.unwrap(); + let connection = ConnectionBuilder::session()?.build().await?; + let manager = SteamOSManager::new(connection.clone()).await?; connection .object_server() .at("/com/steampowered/SteamOSManager1", manager) - .await - .expect("object_server at"); + .await?; - TestHandle { + Ok(TestHandle { _handle: handle, connection, - } + }) } #[zbus::proxy( interface = "com.steampowered.SteamOSManager1.RootManager", - default_service = "com.steampowered.SteamOSManager1.Test.GpuPerformanceLevel", default_path = "/com/steampowered/SteamOSManager1" )] trait GpuPerformanceLevel { @@ -333,10 +316,11 @@ mod test { #[tokio::test] async fn gpu_performance_level() { - let test = start("GpuPerformanceLevel").await; + let test = start().await.expect("start"); power::test::setup().await; - let proxy = GpuPerformanceLevelProxy::new(&test.connection) + let name = test.connection.unique_name().unwrap(); + let proxy = GpuPerformanceLevelProxy::new(&test.connection, name.clone()) .await .unwrap(); proxy @@ -351,7 +335,6 @@ mod test { #[zbus::proxy( interface = "com.steampowered.SteamOSManager1.RootManager", - default_service = "com.steampowered.SteamOSManager1.Test.ManualGpuClock", default_path = "/com/steampowered/SteamOSManager1" )] trait ManualGpuClock { @@ -360,9 +343,12 @@ mod test { #[tokio::test] async fn manual_gpu_clock() { - let test = start("ManualGpuClock").await; + let test = start().await.expect("start"); - let proxy = ManualGpuClockProxy::new(&test.connection).await.unwrap(); + let name = test.connection.unique_name().unwrap(); + let proxy = ManualGpuClockProxy::new(&test.connection, name.clone()) + .await + .unwrap(); power::test::setup().await; proxy.set_manual_gpu_clock(200).await.expect("proxy_set"); @@ -374,7 +360,6 @@ mod test { #[zbus::proxy( interface = "com.steampowered.SteamOSManager1.RootManager", - default_service = "com.steampowered.SteamOSManager1.Test.Version", default_path = "/com/steampowered/SteamOSManager1" )] trait Version { @@ -384,8 +369,11 @@ mod test { #[tokio::test] async fn version() { - let test = start("Version").await; - let proxy = VersionProxy::new(&test.connection).await.unwrap(); + let test = start().await.expect("start"); + let name = test.connection.unique_name().unwrap(); + let proxy = VersionProxy::new(&test.connection, name.clone()) + .await + .unwrap(); assert_eq!(proxy.version().await, Ok(API_VERSION)); } } diff --git a/src/manager/user.rs b/src/manager/user.rs index e3063ca..2a8e4dc 100644 --- a/src/manager/user.rs +++ b/src/manager/user.rs @@ -325,28 +325,19 @@ mod test { connection: Connection, } - async fn start(name: &str) -> TestHandle { + async fn start() -> Result { let handle = testing::start(); - let connection = ConnectionBuilder::session() - .unwrap() - .name(format!("com.steampowered.SteamOSManager1.UserTest.{name}")) - .unwrap() - .build() - .await - .unwrap(); - let manager = SteamOSManager::new(connection.clone(), &connection) - .await - .unwrap(); + let connection = ConnectionBuilder::session()?.build().await?; + let manager = SteamOSManager::new(connection.clone(), &connection).await?; connection .object_server() .at("/com/steampowered/SteamOSManager1", manager) - .await - .expect("object_server at"); + .await?; - TestHandle { + Ok(TestHandle { _handle: handle, connection, - } + }) } fn collect_methods<'a>(methods: &'a [Method<'a>]) -> HashMap> { @@ -367,7 +358,7 @@ mod test { #[tokio::test] async fn interface_matches() { - let test = start("Interface").await; + let test = start().await.expect("start"); let manager_ref = test .connection