in src/flowgger/output/file_output.rs [400:435]
fn test_log_rotate_nobuf() -> Result<()> {
let test_object = WriterTest::new("test_log_rotate_nobuf")?;
let cfg = Config::from_string(&format!(
"[output]\nfile_path = \"{}\"\nfile_rotation_size = 15\n",
test_object.get_file_base()
))
.unwrap();
let mut writer = test_object.setup_writer(
cfg,
15,
FILE_DEFAULT_ROTATION_MAXFILES,
FILE_DEFAULT_BUFFER_SIZE,
FILE_DEFAULT_ROTATION_TIME,
);
// We should have a RotatingFile instance unbuffered, check a 2 files are created after >15 bytes written
let file_rotated = &format!("{}.0", test_object.get_file_base());
let _ = fs::remove_file(file_rotated);
let _ = writer.write_all(test_object.test_patterns[0].as_bytes());
let _ = writer.write_all(test_object.test_patterns[1].as_bytes());
let _ = writer.write_all(test_object.test_patterns[2].as_bytes());
assert_eq!(
fs::read_to_string(test_object.get_file_base()).unwrap(),
test_object.test_patterns[2]
);
assert_eq!(
fs::read_to_string(file_rotated).unwrap(),
format!(
"{}{}",
test_object.test_patterns[0], test_object.test_patterns[1]
)
);
let _ = fs::remove_file(file_rotated);
Ok(())
}