From 27bbf9902c9d77b1cb03a7e48b403600a15ea505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Overg=C3=A5rd=20Nielsen?= Date: Mon, 18 Mar 2024 19:12:18 +0100 Subject: [PATCH] Make logger test more robust --- .../realm_dart/test/realm_logger_test.dart | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/packages/realm_dart/test/realm_logger_test.dart b/packages/realm_dart/test/realm_logger_test.dart index 764d6ca1e..dddc3932e 100644 --- a/packages/realm_dart/test/realm_logger_test.dart +++ b/packages/realm_dart/test/realm_logger_test.dart @@ -13,7 +13,8 @@ void main() { setupTests(); group('All levels', () { - Realm.logger.setLogLevel(RealmLogLevel.all); + Realm.logger.setLogLevel(RealmLogLevel.off); + Realm.logger.setLogLevel(RealmLogLevel.all, category: RealmLogCategory.realm.sdk); for (var level in RealmLogLevel.values) { test('Realm.logger supports log level $level', () { final tag = Uuid.v4(); @@ -27,10 +28,11 @@ void main() { }); group('Match levels', () { + Realm.logger.setLogLevel(RealmLogLevel.off); for (var level in RealmLogLevel.values) { final expectedLevels = RealmLogLevel.logToValues.where((l) => l.index >= level.index); - test('$level matches $expectedLevels', () { - Realm.logger.setLogLevel(level); + test('$level matches $expectedLevels', () { + Realm.logger.setLogLevel(level, category: RealmLogCategory.realm.sdk); expectLater(Realm.logger.onRecord, emitsInOrder(expectedLevels.map((l) => isA().having((r) => r.level, '$l', l)))); for (var sendLevel in RealmLogLevel.logToValues) { Realm.logger.log(sendLevel, '$sendLevel'); @@ -50,7 +52,8 @@ void main() { }); test('Trace in subisolate seen in parent', () { - Realm.logger.setLogLevel(RealmLogLevel.all); + Realm.logger.setLogLevel(RealmLogLevel.off); + Realm.logger.setLogLevel(RealmLogLevel.all, category: RealmLogCategory.realm.sdk); expectLater(Realm.logger.onRecord, emits(isA().having((r) => r.message, 'message', 'Hey'))); Isolate.run(() { Realm.logger.log(RealmLogLevel.trace, 'Hey'); @@ -58,31 +61,36 @@ void main() { }); test('Trace in root isolate seen in subisolate', () async { - Realm.logger.setLogLevel(RealmLogLevel.all); + Realm.logger.setLogLevel(RealmLogLevel.off); + Realm.logger.setLogLevel(RealmLogLevel.all, category: RealmLogCategory.realm.sdk); final trace = Isolate.run(() async { return (await Realm.logger.onRecord.first).message; }); - await Future.delayed(const Duration(milliseconds: 1)); // yield + await Future.delayed(const Duration(milliseconds: 100)); // yield expectLater(trace, completion('Hey')); Realm.logger.log(RealmLogLevel.trace, 'Hey'); }); test('RealmLogger hookup logging', () async { + Realm.logger.setLogLevel(RealmLogLevel.off); + Realm.logger.setLogLevel(RealmLogLevel.all, category: RealmLogCategory.realm.sdk); + final logger = Logger.detached('Test'); Realm.logger.onRecord.forEach((r) => logger.log(r.level.level, r.message)); logger.level = Level.ALL; - Realm.logger.setLogLevel(RealmLogLevel.error); expectLater(logger.onRecord, emits(isA().having((r) => r.level, 'level', Level.SEVERE).having((r) => r.message, 'message', 'error'))); - Realm.logger.log(RealmLogLevel.error, 'error', category: RealmLogCategory.realm.sdk); + Realm.logger.log(RealmLogLevel.error, 'error'); }); test('RealmLogger hookup hierarchical logging', () async { + Realm.logger.setLogLevel(RealmLogLevel.off); + Realm.logger.setLogLevel(RealmLogLevel.all, category: RealmLogCategory.realm.sdk); + hierarchicalLoggingEnabled = true; Realm.logger.onRecord.forEach((r) => Logger(r.category.toString()).log(r.level.level, r.message)); Logger.root.level = Level.ALL; - Realm.logger.setLogLevel(RealmLogLevel.error); expectLater(Logger('Realm').onRecord, emits(isA().having((r) => r.level, 'level', Level.SEVERE).having((r) => r.message, 'message', 'error'))); expectLater(