
- Create unit test and integration tests for logs in separate tests - Centralize temporary log file creation in common.rs - Remove redundant logging initialization code from common.rs - Update all test files to handle their own logging initialization - Add detailed debug logging throughout test execution - Add log file content display for better test debugging - Standardize error handling across test files Changes: - Create setup_test_log_file() helper in common.rs - Remove setup_test_logging() and setup_temp_log() functions - Update test files to use common setup_test_log_file(): - test_log_detail_macro.rs - test_log_timed_macro.rs - test_different_log_levels.rs - test_init_logging_with_file.rs - test_init_logging_append_mode.rs This change improves test maintainability by: 1. Reducing code duplication 2. Making test behavior more explicit 3. Improving test output for debugging 4. Following single responsibility principle
38 lines
1.0 KiB
Rust
38 lines
1.0 KiB
Rust
use dir_odt_to_pdf::error::{ProcessError, Result};
|
|
use dir_odt_to_pdf::logging::{LogConfig, init_logging};
|
|
use log::{LevelFilter, debug, info};
|
|
use std::fs;
|
|
mod common;
|
|
|
|
#[test]
|
|
fn test_init_logging_with_file() -> Result<()> {
|
|
// Create a temporary file for logging
|
|
let (_temp_dir, log_path) = common::setup_test_log_file();
|
|
|
|
// Initialize logging with Debug level
|
|
let config = LogConfig {
|
|
log_file: Some(log_path.clone()),
|
|
log_level: LevelFilter::Debug,
|
|
append_log: false,
|
|
};
|
|
|
|
// Initialize logging
|
|
init_logging(config)?;
|
|
debug!("Starting test_init_logging_with_file test");
|
|
|
|
// Test basic logging
|
|
info!("Testing basic file logging...");
|
|
info!("test message");
|
|
|
|
// Read and verify the log file
|
|
let content = fs::read_to_string(&log_path).map_err(ProcessError::Io)?;
|
|
println!("=== Log File Contents ===");
|
|
println!("{}", content);
|
|
println!("=======================");
|
|
|
|
assert!(content.contains("test message"));
|
|
debug!("Test completed successfully");
|
|
|
|
Ok(())
|
|
}
|