diff --git a/dev/devicelab/lib/tasks/perf_tests.dart b/dev/devicelab/lib/tasks/perf_tests.dart index 0e15fe70625..f8b7e07ff21 100644 --- a/dev/devicelab/lib/tasks/perf_tests.dart +++ b/dev/devicelab/lib/tasks/perf_tests.dart @@ -21,7 +21,7 @@ import '../framework/utils.dart'; /// Must match flutter_driver/lib/src/common.dart. /// /// Redefined here to avoid taking a dependency on flutter_driver. -String _testOutputDirectory(String testDirectory) { +String testOutputDirectory(String testDirectory) { return Platform.environment['FLUTTER_TEST_OUTPUTS_DIR'] ?? '$testDirectory/build'; } @@ -484,7 +484,7 @@ TaskFunction createsScrollSmoothnessPerfTest() { deviceId, ]); final Map data = json.decode( - file('${_testOutputDirectory(testDirectory)}/scroll_smoothness_test.json').readAsStringSync(), + file('${testOutputDirectory(testDirectory)}/scroll_smoothness_test.json').readAsStringSync(), ) as Map; final Map result = {}; @@ -535,7 +535,7 @@ TaskFunction createFramePolicyIntegrationTest() { deviceId, ]); final Map data = json.decode( - file('${_testOutputDirectory(testDirectory)}/frame_policy_event_delay.json').readAsStringSync(), + file('${testOutputDirectory(testDirectory)}/frame_policy_event_delay.json').readAsStringSync(), ) as Map; final Map fullLiveData = data['fullyLive'] as Map; final Map benchmarkLiveData = data['benchmarkLive'] as Map; @@ -1025,7 +1025,7 @@ class StartupTest { timer.cancel(); if (result == 0) { final Map data = json.decode( - file('${_testOutputDirectory(testDirectory)}/start_up_info.json').readAsStringSync(), + file('${testOutputDirectory(testDirectory)}/start_up_info.json').readAsStringSync(), ) as Map; results.add(data); } else { @@ -1418,7 +1418,7 @@ class PerfTest { } final Map data = json.decode( - file('${_testOutputDirectory(testDirectory)}/$resultFilename.json').readAsStringSync(), + file('${testOutputDirectory(testDirectory)}/$resultFilename.json').readAsStringSync(), ) as Map; if (data['frame_count'] as int < 5) { @@ -1451,7 +1451,7 @@ class PerfTest { data, detailFiles: [ if (saveTraceFile) - '${_testOutputDirectory(testDirectory)}/$traceFilename.json', + '${testOutputDirectory(testDirectory)}/$traceFilename.json', ], benchmarkScoreKeys: benchmarkScoreKeys ?? [ ..._kCommonScoreKeys, diff --git a/dev/devicelab/test/perf_tests_test.dart b/dev/devicelab/test/perf_tests_test.dart index 57a214cc8b7..b3b957b9868 100644 --- a/dev/devicelab/test/perf_tests_test.dart +++ b/dev/devicelab/test/perf_tests_test.dart @@ -16,9 +16,11 @@ void main() { late Directory testDirectory; late File testTarget; late Device device; + late String perfTestOutputPath; setUp(() async { testDirectory = Directory.systemTemp.createTempSync('test_dir'); + perfTestOutputPath = testOutputDirectory(testDirectory.absolute.path); testTarget = File('${testDirectory.absolute.path}/test_file')..createSync(); device = const FakeDevice(deviceId: 'fakeDeviceId'); deviceOperatingSystem = DeviceOperatingSystem.fake; @@ -64,7 +66,7 @@ void main() { }; const String resultFileName = 'fake_result'; void driveCallback(List arguments) { - final File resultFile = File('${testDirectory.absolute.path}/build/$resultFileName.json')..createSync(recursive: true); + final File resultFile = File('$perfTestOutputPath/$resultFileName.json')..createSync(recursive: true); resultFile.writeAsStringSync(json.encode(fakeData)); } final PerfTest perfTest = PerfTest(testDirectory.absolute.path, testTarget.absolute.path, 'test_file', resultFilename: resultFileName, device: device, flutterDriveCallback: driveCallback); @@ -117,7 +119,7 @@ void main() { }; const String resultFileName = 'fake_result'; void driveCallback(List arguments) { - final File resultFile = File('${testDirectory.absolute.path}/build/$resultFileName.json')..createSync(recursive: true); + final File resultFile = File('$perfTestOutputPath/$resultFileName.json')..createSync(recursive: true); resultFile.writeAsStringSync(json.encode(fakeData)); } final PerfTest perfTest = PerfTest(testDirectory.absolute.path, testTarget.absolute.path, 'test_file', resultFilename: resultFileName, device: device, flutterDriveCallback: driveCallback);