blob: 613b3b07985a685b99889dd05dd183f178075427 [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:io';
/// Returns the run-time location of `//scripts/codesize/testdata`, regardless
/// of environment (dev, infra, etc.).
Directory locateTestData() {
// See the `//scripts/codesize:bloaty_reports` target in `BUILD.gn`.
final buildDirTestData =
Directory('${Directory(Platform.environment['PWD']).absolute.path}/'
'host_x64/test_data/codesize');
Directory testData;
if (buildDirTestData.existsSync()) {
// Running in `fx test` mode or infra.
testData = buildDirTestData;
} else {
// Running from `pub run test`.
final sourceDir = Platform.environment['FUCHSIA_DIR'];
if (sourceDir == null)
throw Exception('Missing the FUCHSIA_DIR environment variable.');
testData = Directory(
'${Directory(sourceDir).absolute.path}/scripts/codesize/testdata');
}
if (!testData.existsSync()) {
throw Exception('Cannot find the $testData folder.');
}
return testData;
}