- 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
37 lines
1 KiB
Rust
37 lines
1 KiB
Rust
use dir_odt_to_pdf::error::Result;
|
|
use dir_odt_to_pdf::logging::{LogConfig, init_logging};
|
|
use log::{LevelFilter, debug, info};
|
|
use std::fs;
|
|
|
|
#[test]
|
|
fn test_simple_logging() -> Result<()> {
|
|
// Create a temporary file for logging
|
|
let temp_dir = tempfile::TempDir::new().unwrap();
|
|
let log_path = temp_dir.path().join("test.log");
|
|
|
|
// 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)?;
|
|
|
|
// Write some log messages
|
|
debug!("This is a debug message");
|
|
info!("This is an info message");
|
|
|
|
// Read the log file
|
|
let content = fs::read_to_string(&log_path).unwrap();
|
|
println!("=== Log File Contents ===");
|
|
println!("{}", content);
|
|
println!("=======================");
|
|
|
|
// Verify log messages
|
|
assert!(content.contains("This is a debug message"));
|
|
assert!(content.contains("This is an info message"));
|
|
|
|
Ok(())
|
|
}
|