blob: 1f0c7514ca3fb0a777a6f7f324e3ae1094d25ba5 [file] [log] [blame]
// Copyright 2018 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.
// TODO(https://fxbug.dev/84961): Fix null safety and remove this language version.
// @dart=2.9
import 'dart:async';
import 'dart:io';
import 'package:args/args.dart';
import 'package:flutter_tools/src/test/flutter_platform.dart' as loader;
const String _testNameKey = 'test-name';
const String _outputKey = 'output';
/// Builds the Flutter test wrapper that gets executed by the test harness.
Future<Null> main(List<String> args) async {
ArgParser parser = ArgParser();
parser.addOption(
_testNameKey,
valueHelp: 'filename',
help: 'Basename of the test script file being wrapped.',
);
parser.addOption(
_outputKey,
valueHelp: 'path',
help: 'Path to the output file that this tool should generate.',
);
ArgResults results = parser.parse(args);
if (!results.wasParsed(_outputKey) || !results.wasParsed(_testNameKey)) {
stderr.writeln(parser.usage);
exit(1);
}
String content = loader.generateTestBootstrap(
testUrl: Uri.parse(results[_testNameKey]),
host: InternetAddress.loopbackIPv4,
);
File outputFile = File(results[_outputKey]);
await outputFile.writeAsString(content);
}