Skip to content

Commit 203a19e

Browse files
Ensure that the output path used by perf_tests_test matches the path used by perf_tests if the FLUTTER_TEST_OUTPUTS_DIR variable is set (#153888)
A recent change to the flutter_drone recipe is setting FLUTTER_TEST_OUTPUTS_DIR in the environment (see https://flutter.googlesource.com/recipes/+/b111cd3ef2297e66905cc48c2cfedce0cf1ba46f) If FLUTTER_TEST_OUTPUTS_DIR is set, then perf_tests will use an output path based on that variable. perf_tests_test needs to use the same logic when looking for the expected output file.
1 parent a57eb8f commit 203a19e

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

dev/devicelab/lib/tasks/perf_tests.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import '../framework/utils.dart';
2121
/// Must match flutter_driver/lib/src/common.dart.
2222
///
2323
/// Redefined here to avoid taking a dependency on flutter_driver.
24-
String _testOutputDirectory(String testDirectory) {
24+
String testOutputDirectory(String testDirectory) {
2525
return Platform.environment['FLUTTER_TEST_OUTPUTS_DIR'] ?? '$testDirectory/build';
2626
}
2727

@@ -484,7 +484,7 @@ TaskFunction createsScrollSmoothnessPerfTest() {
484484
deviceId,
485485
]);
486486
final Map<String, dynamic> data = json.decode(
487-
file('${_testOutputDirectory(testDirectory)}/scroll_smoothness_test.json').readAsStringSync(),
487+
file('${testOutputDirectory(testDirectory)}/scroll_smoothness_test.json').readAsStringSync(),
488488
) as Map<String, dynamic>;
489489

490490
final Map<String, dynamic> result = <String, dynamic>{};
@@ -535,7 +535,7 @@ TaskFunction createFramePolicyIntegrationTest() {
535535
deviceId,
536536
]);
537537
final Map<String, dynamic> data = json.decode(
538-
file('${_testOutputDirectory(testDirectory)}/frame_policy_event_delay.json').readAsStringSync(),
538+
file('${testOutputDirectory(testDirectory)}/frame_policy_event_delay.json').readAsStringSync(),
539539
) as Map<String, dynamic>;
540540
final Map<String, dynamic> fullLiveData = data['fullyLive'] as Map<String, dynamic>;
541541
final Map<String, dynamic> benchmarkLiveData = data['benchmarkLive'] as Map<String, dynamic>;
@@ -1025,7 +1025,7 @@ class StartupTest {
10251025
timer.cancel();
10261026
if (result == 0) {
10271027
final Map<String, dynamic> data = json.decode(
1028-
file('${_testOutputDirectory(testDirectory)}/start_up_info.json').readAsStringSync(),
1028+
file('${testOutputDirectory(testDirectory)}/start_up_info.json').readAsStringSync(),
10291029
) as Map<String, dynamic>;
10301030
results.add(data);
10311031
} else {
@@ -1418,7 +1418,7 @@ class PerfTest {
14181418
}
14191419

14201420
final Map<String, dynamic> data = json.decode(
1421-
file('${_testOutputDirectory(testDirectory)}/$resultFilename.json').readAsStringSync(),
1421+
file('${testOutputDirectory(testDirectory)}/$resultFilename.json').readAsStringSync(),
14221422
) as Map<String, dynamic>;
14231423

14241424
if (data['frame_count'] as int < 5) {
@@ -1451,7 +1451,7 @@ class PerfTest {
14511451
data,
14521452
detailFiles: <String>[
14531453
if (saveTraceFile)
1454-
'${_testOutputDirectory(testDirectory)}/$traceFilename.json',
1454+
'${testOutputDirectory(testDirectory)}/$traceFilename.json',
14551455
],
14561456
benchmarkScoreKeys: benchmarkScoreKeys ?? <String>[
14571457
..._kCommonScoreKeys,

dev/devicelab/test/perf_tests_test.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@ void main() {
1616
late Directory testDirectory;
1717
late File testTarget;
1818
late Device device;
19+
late String perfTestOutputPath;
1920

2021
setUp(() async {
2122
testDirectory = Directory.systemTemp.createTempSync('test_dir');
23+
perfTestOutputPath = testOutputDirectory(testDirectory.absolute.path);
2224
testTarget = File('${testDirectory.absolute.path}/test_file')..createSync();
2325
device = const FakeDevice(deviceId: 'fakeDeviceId');
2426
deviceOperatingSystem = DeviceOperatingSystem.fake;
@@ -64,7 +66,7 @@ void main() {
6466
};
6567
const String resultFileName = 'fake_result';
6668
void driveCallback(List<String> arguments) {
67-
final File resultFile = File('${testDirectory.absolute.path}/build/$resultFileName.json')..createSync(recursive: true);
69+
final File resultFile = File('$perfTestOutputPath/$resultFileName.json')..createSync(recursive: true);
6870
resultFile.writeAsStringSync(json.encode(fakeData));
6971
}
7072
final PerfTest perfTest = PerfTest(testDirectory.absolute.path, testTarget.absolute.path, 'test_file', resultFilename: resultFileName, device: device, flutterDriveCallback: driveCallback);
@@ -117,7 +119,7 @@ void main() {
117119
};
118120
const String resultFileName = 'fake_result';
119121
void driveCallback(List<String> arguments) {
120-
final File resultFile = File('${testDirectory.absolute.path}/build/$resultFileName.json')..createSync(recursive: true);
122+
final File resultFile = File('$perfTestOutputPath/$resultFileName.json')..createSync(recursive: true);
121123
resultFile.writeAsStringSync(json.encode(fakeData));
122124
}
123125
final PerfTest perfTest = PerfTest(testDirectory.absolute.path, testTarget.absolute.path, 'test_file', resultFilename: resultFileName, device: device, flutterDriveCallback: driveCallback);

0 commit comments

Comments
 (0)