v0.1.4-pre.016

This commit is contained in:
2026-08-16 19:00:49 +02:00
parent d92eb01bc2
commit 5aa538ed5d
29 changed files with 994 additions and 73 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-logging-lib/unit_tests/runtime.rs
// version: 9
// version: 10
#[test]
fn level_mapping_covers_all_ksp_levels() {
@@ -258,3 +258,35 @@ fn lossy_non_blocking_builder_drops_lines_instead_of_blocking_a_stalled_producer
drop(non_blocking);
drop(worker_guard);
}
#[test]
fn launch_identity_decorates_file_outputs_without_mutating_source_settings() {
let root = std::env::temp_dir().join(format!("ksp-pre016-runtime-{}", std::process::id()));
let _cleanup_before = std::fs::remove_dir_all(root.as_path());
let file = crate::FileSettings::new(
"file.runtime",
true,
root.clone(),
"runtime.log",
crate::FileRotation::Never,
crate::LogFormat::Human,
crate::OutputFilter::unrestricted(),
);
let settings = crate::LoggingSettings::new(crate::LogFilterLevel::Info, crate::SpanEvents::Off, std::option::Option::None, std::vec![file]);
let identity = crate::LoggingRuntimeIdentity::new("ksp-app-config-desk", "20260816-182519.123-p4242");
assert!(identity.is_ok());
if let std::result::Result::Ok(identity) = identity {
let prepared = super::prepare_runtime_with_identity(&settings, std::option::Option::Some(&identity));
assert!(prepared.is_ok());
if let std::result::Result::Ok(prepared) = prepared {
assert_eq!(prepared.outputs.files.len(), 1);
assert_eq!(prepared.outputs.files[0].metadata.output_id(), "file.runtime");
assert_eq!(prepared.outputs.files[0].metadata.directory(), root.as_path());
assert_eq!(prepared.outputs.files[0].metadata.file_name_prefix(), "ksp-app-config-desk.20260816-182519.123-p4242.runtime.log");
assert_eq!(settings.files()[0].file_name_prefix(), "runtime.log");
drop(prepared);
}
}
let cleanup_after = std::fs::remove_dir_all(root.as_path());
assert!(cleanup_after.is_ok());
}