expand helpers tests with new test module tests/helpers
Signed-off-by: onur-ozkan <work@onurozkan.dev>
This commit is contained in:
parent
3ea3c3885b
commit
81b98a0a13
@ -156,22 +156,6 @@ fn alias_and_path_for_library() {
|
|||||||
assert_eq!(first(cache.all::<doc::Std>()), &[doc_std!(A => A, stage = 0)]);
|
assert_eq!(first(cache.all::<doc::Std>()), &[doc_std!(A => A, stage = 0)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_beta_rev_parsing() {
|
|
||||||
use crate::utils::helpers::extract_beta_rev;
|
|
||||||
|
|
||||||
// single digit revision
|
|
||||||
assert_eq!(extract_beta_rev("1.99.9-beta.7 (xxxxxx)"), Some("7".to_string()));
|
|
||||||
// multiple digits
|
|
||||||
assert_eq!(extract_beta_rev("1.99.9-beta.777 (xxxxxx)"), Some("777".to_string()));
|
|
||||||
// nightly channel (no beta revision)
|
|
||||||
assert_eq!(extract_beta_rev("1.99.9-nightly (xxxxxx)"), None);
|
|
||||||
// stable channel (no beta revision)
|
|
||||||
assert_eq!(extract_beta_rev("1.99.9 (xxxxxxx)"), None);
|
|
||||||
// invalid string
|
|
||||||
assert_eq!(extract_beta_rev("invalid"), None);
|
|
||||||
}
|
|
||||||
|
|
||||||
mod defaults {
|
mod defaults {
|
||||||
use super::{configure, first, run_build};
|
use super::{configure, first, run_build};
|
||||||
use crate::core::builder::*;
|
use crate::core::builder::*;
|
||||||
|
59
src/bootstrap/src/tests/helpers.rs
Normal file
59
src/bootstrap/src/tests/helpers.rs
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
use crate::utils::helpers::{extract_beta_rev, hex_encode, make};
|
||||||
|
use std::path::PathBuf;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_make() {
|
||||||
|
for (host, make_path) in vec![
|
||||||
|
("dragonfly", PathBuf::from("gmake")),
|
||||||
|
("netbsd", PathBuf::from("gmake")),
|
||||||
|
("freebsd", PathBuf::from("gmake")),
|
||||||
|
("openbsd", PathBuf::from("gmake")),
|
||||||
|
("linux", PathBuf::from("make")),
|
||||||
|
// for checking the default
|
||||||
|
("_", PathBuf::from("make")),
|
||||||
|
] {
|
||||||
|
assert_eq!(make(host), make_path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(unix)]
|
||||||
|
#[test]
|
||||||
|
fn test_absolute_unix() {
|
||||||
|
use crate::utils::helpers::absolute_unix;
|
||||||
|
|
||||||
|
// Test an absolute path
|
||||||
|
let path = PathBuf::from("/home/user/file.txt");
|
||||||
|
assert_eq!(absolute_unix(&path).unwrap(), PathBuf::from("/home/user/file.txt"));
|
||||||
|
|
||||||
|
// Test an absolute path with double leading slashes
|
||||||
|
let path = PathBuf::from("//root//file.txt");
|
||||||
|
assert_eq!(absolute_unix(&path).unwrap(), PathBuf::from("//root/file.txt"));
|
||||||
|
|
||||||
|
// Test a relative path
|
||||||
|
let path = PathBuf::from("relative/path");
|
||||||
|
assert_eq!(
|
||||||
|
absolute_unix(&path).unwrap(),
|
||||||
|
std::env::current_dir().unwrap().join("relative/path")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_beta_rev_parsing() {
|
||||||
|
// single digit revision
|
||||||
|
assert_eq!(extract_beta_rev("1.99.9-beta.7 (xxxxxx)"), Some("7".to_string()));
|
||||||
|
// multiple digits
|
||||||
|
assert_eq!(extract_beta_rev("1.99.9-beta.777 (xxxxxx)"), Some("777".to_string()));
|
||||||
|
// nightly channel (no beta revision)
|
||||||
|
assert_eq!(extract_beta_rev("1.99.9-nightly (xxxxxx)"), None);
|
||||||
|
// stable channel (no beta revision)
|
||||||
|
assert_eq!(extract_beta_rev("1.99.9 (xxxxxxx)"), None);
|
||||||
|
// invalid string
|
||||||
|
assert_eq!(extract_beta_rev("invalid"), None);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_string_to_hex_encode() {
|
||||||
|
let input_string = "Hello, World!";
|
||||||
|
let hex_string = hex_encode(input_string);
|
||||||
|
assert_eq!(hex_string, "48656c6c6f2c20576f726c6421");
|
||||||
|
}
|
@ -20,6 +20,10 @@
|
|||||||
|
|
||||||
pub use crate::utils::dylib::{dylib_path, dylib_path_var};
|
pub use crate::utils::dylib::{dylib_path, dylib_path_var};
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
#[path = "../tests/helpers.rs"]
|
||||||
|
mod tests;
|
||||||
|
|
||||||
/// A helper macro to `unwrap` a result except also print out details like:
|
/// A helper macro to `unwrap` a result except also print out details like:
|
||||||
///
|
///
|
||||||
/// * The file/line of the panic
|
/// * The file/line of the panic
|
||||||
|
Loading…
Reference in New Issue
Block a user