| // 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; |
| } |