From d2612e5a6722050217082544a22221c2d705e75e Mon Sep 17 00:00:00 2001 From: Nanaloveyuki Date: Sun, 14 Jun 2026 05:19:55 +0800 Subject: [PATCH] :white_check_mark: cover configured file helper parity --- src/BitLogger_test.mbt | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/BitLogger_test.mbt b/src/BitLogger_test.mbt index ef6d903..d14abd3 100644 --- a/src/BitLogger_test.mbt +++ b/src/BitLogger_test.mbt @@ -1003,6 +1003,40 @@ test "configured logger exposes file sink observability helpers" { ignore(logger.close()) } +test "configured logger file observation helpers stay aligned with runtime sink helpers" { + let file_logger = build_logger( + LoggerConfig::new( + target="config.file.delegate", + sink=SinkConfig::new(kind=SinkKind::File, path="config-file-delegate.log"), + ), + ) + let file_sink = file_logger.sink + + inspect(file_logger.file_available() == file_sink.file_available(), content="true") + inspect(file_logger.file_path() == file_sink.file_path(), content="true") + inspect(file_logger.file_open_failures() == file_sink.file_open_failures(), content="true") + inspect(file_logger.file_write_failures() == file_sink.file_write_failures(), content="true") + inspect(file_logger.file_flush_failures() == file_sink.file_flush_failures(), content="true") + inspect(file_logger.file_rotation_failures() == file_sink.file_rotation_failures(), content="true") + + let console_logger = build_logger( + LoggerConfig::new( + target="config.file.delegate.console", + sink=SinkConfig::new(kind=SinkKind::Console), + ), + ) + let console_sink = console_logger.sink + + inspect(console_logger.file_available() == console_sink.file_available(), content="true") + inspect(console_logger.file_path() == console_sink.file_path(), content="true") + inspect(console_logger.file_open_failures() == console_sink.file_open_failures(), content="true") + inspect(console_logger.file_write_failures() == console_sink.file_write_failures(), content="true") + inspect(console_logger.file_flush_failures() == console_sink.file_flush_failures(), content="true") + inspect(console_logger.file_rotation_failures() == console_sink.file_rotation_failures(), content="true") + + ignore(file_logger.close()) +} + test "file state json helpers stringify stable snapshots" { let rotation_json = file_rotation_config_to_json(file_rotation(64, max_backups=2)) let rotation_obj = rotation_json.as_object().unwrap()