diff --git a/src/tests/helpers.rs b/src/__private_tests/helpers.rs similarity index 97% rename from src/tests/helpers.rs rename to src/__private_tests/helpers.rs index ce175c5..0b228df 100644 --- a/src/tests/helpers.rs +++ b/src/__private_tests/helpers.rs @@ -1,7 +1,5 @@ //! Some test helpers for setting up isolated dummy steam installations. -// TODO: add a test with an env var flag that runs against your real local steam installation? - use std::{ collections::BTreeMap, convert::{TryFrom, TryInto}, @@ -10,9 +8,9 @@ use std::{ }; use crate::{ - tests::{temp::TempDir, TestError}, SteamDir, }; +use super::{temp::TempDir, TestError}; use serde::Serialize; @@ -305,7 +303,7 @@ impl SampleApp { #[cfg(test)] mod test { use super::*; - use crate::tests::TestResult; + use crate::__private_tests::TestResult; #[test] fn sanity() -> TestResult { diff --git a/src/tests/legacy.rs b/src/__private_tests/legacy.rs similarity index 99% rename from src/tests/legacy.rs rename to src/__private_tests/legacy.rs index 9271609..7755ec8 100644 --- a/src/tests/legacy.rs +++ b/src/__private_tests/legacy.rs @@ -1,10 +1,10 @@ use crate::{ - tests::{ - helpers::{expect_test_env, SampleApp}, - TestResult, - }, Error, }; +use super::{ + helpers::{expect_test_env, SampleApp}, + TestResult, + }; static GMOD_ID: u32 = SampleApp::GarrysMod.id(); diff --git a/src/tests/mod.rs b/src/__private_tests/mod.rs similarity index 100% rename from src/tests/mod.rs rename to src/__private_tests/mod.rs diff --git a/src/tests/temp.rs b/src/__private_tests/temp.rs similarity index 93% rename from src/tests/temp.rs rename to src/__private_tests/temp.rs index bb6197b..2ce1b7e 100644 --- a/src/tests/temp.rs +++ b/src/__private_tests/temp.rs @@ -5,7 +5,7 @@ use std::{collections, env, fs, hash, path}; -use crate::tests::TestError; +use super::TestError; #[derive(Debug)] pub struct TempDir(Option); @@ -15,7 +15,6 @@ impl TempDir { let mut dir = env::temp_dir(); let random_name = format!("steamlocate-test-{:x}", random_seed()); dir.push(random_name); - // TODO: could retry on failure fs::create_dir_all(&dir)?; Ok(Self(Some(dir))) } diff --git a/src/tests/tests.rs b/src/__private_tests/tests.rs similarity index 96% rename from src/tests/tests.rs rename to src/__private_tests/tests.rs index f98454e..6c9f9fa 100644 --- a/src/tests/tests.rs +++ b/src/__private_tests/tests.rs @@ -1,4 +1,4 @@ -use crate::tests::{ +use super::{ helpers::{SampleApp, TempSteamDir}, TestResult, }; diff --git a/src/tests/wasm.rs b/src/__private_tests/wasm.rs similarity index 100% rename from src/tests/wasm.rs rename to src/__private_tests/wasm.rs diff --git a/src/lib.rs b/src/lib.rs index 77cbe6f..8aaefd3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -28,7 +28,7 @@ //! # /* //! let steam_dir = steamlocate::SteamDir::locate()?; //! # */ -//! # let temp_steam_dir = steamlocate::tests::helpers::expect_test_env(); +//! # let temp_steam_dir = steamlocate::__private_tests::helpers::expect_test_env(); //! # let steam_dir = temp_steam_dir.steam_dir(); //! println!("Steam installation - {}", steam_dir.path().display()); //! // ^^ prints something like `Steam installation - C:\Program Files (x86)\Steam` @@ -40,7 +40,7 @@ //! assert_eq!(garrys_mod.name.as_ref().unwrap(), "Garry's Mod"); //! println!("{garrys_mod:#?}"); //! // ^^ prints something like vv -//! # Ok::<_, steamlocate::tests::TestError>(()) +//! # Ok::<_, steamlocate::__private_tests::TestError>(()) //! ``` //! ```ignore //! App { @@ -61,7 +61,7 @@ //! # /* //! let steam_dir = steamlocate::SteamDir::locate()?; //! # */ -//! # let temp_steam_dir = steamlocate::tests::helpers::expect_test_env(); +//! # let temp_steam_dir = steamlocate::__private_tests::helpers::expect_test_env(); //! # let steam_dir = temp_steam_dir.steam_dir(); //! //! for library in steam_dir.libraries()? { @@ -73,7 +73,7 @@ //! println!(" App {} - {:?}", app.app_id, app.name); //! } //! } -//! # Ok::<_, steamlocate::tests::TestError>(()) +//! # Ok::<_, steamlocate::__private_tests::TestError>(()) //! ``` //! //! On my laptop this prints @@ -106,7 +106,7 @@ pub mod shortcut; // NOTE: exposed publicly, so that we can use them in doctests /// Not part of the public API >:V #[doc(hidden)] -pub mod tests; // TODO: rename this since it may leak out in compiler error messages +pub mod __private_tests; use std::collections::HashMap; use std::fs; @@ -149,7 +149,7 @@ pub struct ReadmeDoctests; /// # /* /// let steam_dir = SteamDir::locate()?; /// # */ -/// # let temp_steam_dir = steamlocate::tests::helpers::expect_test_env(); +/// # let temp_steam_dir = steamlocate::__private_tests::helpers::expect_test_env(); /// # let steam_dir = temp_steam_dir.steam_dir(); /// assert!(steam_dir.path().ends_with("Steam")); /// ``` @@ -180,7 +180,7 @@ impl SteamDir { /// /// # Example /// ``` - /// # let temp_steam_dir = steamlocate::tests::helpers::expect_test_env(); + /// # let temp_steam_dir = steamlocate::__private_tests::helpers::expect_test_env(); /// # let steam_dir = temp_steam_dir.steam_dir(); /// # /* /// let steam_dir = SteamDir::locate()?; @@ -189,7 +189,7 @@ impl SteamDir { /// let (warframe, library) = steam_dir.find_app(WARFRAME)?.unwrap(); /// assert_eq!(warframe.app_id, WARFRAME); /// assert!(library.app_ids().contains(&warframe.app_id)); - /// # Ok::<_, steamlocate::tests::TestError>(()) + /// # Ok::<_, steamlocate::__private_tests::TestError>(()) /// ``` pub fn find_app(&self, app_id: u32) -> Result> { // Search for the `app_id` in each library diff --git a/src/library.rs b/src/library.rs index 8db1f1a..3fdfaf4 100644 --- a/src/library.rs +++ b/src/library.rs @@ -135,7 +135,6 @@ impl Library { &self.path } - // TODO: if this was sorted then we could locate single apps faster pub fn app_ids(&self) -> &[u32] { &self.apps } @@ -163,14 +162,14 @@ impl Library { /// /// ``` /// # use std::path::Path; - /// # let temp_steam_dir = steamlocate::tests::helpers::expect_test_env(); + /// # let temp_steam_dir = steamlocate::__private_tests::helpers::expect_test_env(); /// # let steam_dir = temp_steam_dir.steam_dir(); /// const GRAVEYARD_KEEPER: u32 = 599_140; /// let (graveyard_keeper, library) = steam_dir.find_app(GRAVEYARD_KEEPER)?.unwrap(); /// let app_dir = library.resolve_app_dir(&graveyard_keeper); /// let expected_rel_path = Path::new("steamapps").join("common").join("Graveyard Keeper"); /// assert!(app_dir.ends_with(expected_rel_path)); - /// # Ok::<_, steamlocate::tests::TestError>(()) + /// # Ok::<_, steamlocate::__private_tests::TestError>(()) /// ``` pub fn resolve_app_dir(&self, app: &App) -> PathBuf { self.path