From 7dd752ace6932fe9a0fe35f4e34d4bfa520ec60a Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Wed, 17 Mar 2021 17:35:43 -0700 Subject: [PATCH] Add trace logging to local engine path autodetection (#78482) --- .../flutter_tools/lib/src/runner/local_engine.dart | 7 ++++++- .../general.shard/runner/local_engine_test.dart | 13 ++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/flutter_tools/lib/src/runner/local_engine.dart b/packages/flutter_tools/lib/src/runner/local_engine.dart index 3c0b899c4a4..eab3e568b9c 100644 --- a/packages/flutter_tools/lib/src/runner/local_engine.dart +++ b/packages/flutter_tools/lib/src/runner/local_engine.dart @@ -66,6 +66,7 @@ class LocalEngineLocator { Uri engineUri = packageConfig[kFlutterEnginePackageName]?.packageUriRoot; final String cachedPath = _fileSystem.path.join(_flutterRoot, 'bin', 'cache', 'pkg', kFlutterEnginePackageName, 'lib'); if (engineUri != null && _fileSystem.identicalSync(cachedPath, engineUri.path)) { + _logger.printTrace('Local engine auto-detection sky_engine in $packagePath is the same version in bin/cache.'); engineUri = null; } // If sky_engine is specified and the engineSourcePath not set, try to @@ -92,7 +93,8 @@ class LocalEngineLocator { ); } } - } on FileSystemException { + } on FileSystemException catch (e) { + _logger.printTrace('Local engine auto-detection file exception: $e'); engineSourcePath = null; } // If engineSourcePath is still not set, try to determine it by flutter root. @@ -109,7 +111,10 @@ class LocalEngineLocator { } if (engineSourcePath != null) { + _logger.printTrace('Local engine source at $engineSourcePath'); return _findEngineBuildPath(localEngine, engineSourcePath); + } else if (localEngine != null) { + _logger.printTrace('Could not find engine source for $localEngine, skipping'); } return null; } diff --git a/packages/flutter_tools/test/general.shard/runner/local_engine_test.dart b/packages/flutter_tools/test/general.shard/runner/local_engine_test.dart index 43d2a0c2d81..52906b384af 100644 --- a/packages/flutter_tools/test/general.shard/runner/local_engine_test.dart +++ b/packages/flutter_tools/test/general.shard/runner/local_engine_test.dart @@ -36,10 +36,11 @@ void main() { .file('bin/cache/pkg/sky_engine/lib') .createSync(recursive: true); + final BufferLogger logger = BufferLogger.test(); final LocalEngineLocator localEngineLocator = LocalEngineLocator( fileSystem: fileSystem, flutterRoot: '', - logger: BufferLogger.test(), + logger: logger, userMessages: UserMessages(), platform: FakePlatform(environment: {}), ); @@ -51,6 +52,7 @@ void main() { targetEngine: '/arbitrary/engine/src/out/ios_debug', ), ); + expect(logger.traceText, contains('Local engine source at /arbitrary/engine/src')); // Verify that this also works if the sky_engine path is a symlink to the engine root. fileSystem.link('/symlink').createSync(kArbitraryEngineRoot); @@ -65,6 +67,7 @@ void main() { targetEngine: '/symlink/src/out/ios_debug', ), ); + expect(logger.traceText, contains('Local engine source at /symlink/src')); }); testWithoutContext('works if --local-engine is specified and --local-engine-src-path ' @@ -74,10 +77,11 @@ void main() { fileSystem.directory('$kArbitraryEngineRoot/src/out/ios_debug').createSync(recursive: true); fileSystem.directory('$kArbitraryEngineRoot/src/out/host_debug').createSync(recursive: true); + final BufferLogger logger = BufferLogger.test(); final LocalEngineLocator localEngineLocator = LocalEngineLocator( fileSystem: fileSystem, flutterRoot: '', - logger: BufferLogger.test(), + logger: logger, userMessages: UserMessages(), platform: FakePlatform(environment: {}), ); @@ -89,6 +93,7 @@ void main() { targetEngine: '/arbitrary/engine/src/out/ios_debug', ), ); + expect(logger.traceText, contains('Local engine source at /arbitrary/engine/src')); }); testWithoutContext('works if --local-engine is specified and --local-engine-src-path ' @@ -105,10 +110,11 @@ void main() { .file('bin/cache/pkg/sky_engine/lib') .createSync(recursive: true); + final BufferLogger logger = BufferLogger.test(); final LocalEngineLocator localEngineLocator = LocalEngineLocator( fileSystem: fileSystem, flutterRoot: 'flutter/flutter', - logger: BufferLogger.test(), + logger: logger, userMessages: UserMessages(), platform: FakePlatform(environment: {}), ); @@ -120,6 +126,7 @@ void main() { targetEngine: 'flutter/engine/src/out/ios_debug', ), ); + expect(logger.traceText, contains('Local engine source at flutter/engine/src')); }); }