aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests/installer/metapackage_installer_test.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-07-17 18:22:54 +0900
committernsfisis <nsfisis@gmail.com>2026-07-17 18:22:54 +0900
commit6aa4808a0936e85384100f13e07aa7bea559bc3c (patch)
treefe2c3008fce0825a8d74c37588ce8bece91e3df3 /crates/shirabe/tests/installer/metapackage_installer_test.rs
parente44085eb742cb14dff22de054ef19fe725a4e2c2 (diff)
downloadphp-shirabe-6aa4808a0936e85384100f13e07aa7bea559bc3c.tar.gz
php-shirabe-6aa4808a0936e85384100f13e07aa7bea559bc3c.tar.zst
php-shirabe-6aa4808a0936e85384100f13e07aa7bea559bc3c.zip
refactor(tests-async): unify duplicated tokio runtime bridges
11 downloader/installer integration-test files each redefined an identical current_thread `run()` helper to block on async code. Extract one shared multi_thread Runtime into tests/common/async_runtime.rs so concurrent #[test] threads can all block_on it, matching the direction item 7 (top-level Runtime) will take in production code.
Diffstat (limited to 'crates/shirabe/tests/installer/metapackage_installer_test.rs')
-rw-r--r--crates/shirabe/tests/installer/metapackage_installer_test.rs8
1 files changed, 1 insertions, 7 deletions
diff --git a/crates/shirabe/tests/installer/metapackage_installer_test.rs b/crates/shirabe/tests/installer/metapackage_installer_test.rs
index bc740e74..3380befb 100644
--- a/crates/shirabe/tests/installer/metapackage_installer_test.rs
+++ b/crates/shirabe/tests/installer/metapackage_installer_test.rs
@@ -3,19 +3,13 @@
//! PHP verifies the mocked repository's add/remove/hasPackage calls; here the same
//! behaviour is checked against a real InstalledArrayRepository by observing its state.
+use crate::async_runtime::run;
use crate::test_case::get_package;
use shirabe::installer::{InstallerInterface, MetapackageInstaller};
use shirabe::io::IOInterface;
use shirabe::io::null_io::NullIO;
use shirabe::repository::{InstalledArrayRepository, RepositoryInterface};
-fn run<F: std::future::Future>(future: F) -> F::Output {
- tokio::runtime::Builder::new_current_thread()
- .build()
- .unwrap()
- .block_on(future)
-}
-
fn installer() -> MetapackageInstaller {
let io: std::rc::Rc<std::cell::RefCell<dyn IOInterface>> =
std::rc::Rc::new(std::cell::RefCell::new(NullIO::new()));