808fa4ca8b
Change-Id: I5b7348fb4adb4e7f4039c91d54d712c1eb131ecf Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/395002 Reviewed-by: Jens Johansen <jensj@google.com> Reviewed-by: Slava Egorov <vegorov@google.com> Commit-Queue: Johnni Winther <johnniwinther@google.com>
71 lines
2.5 KiB
Dart
71 lines
2.5 KiB
Dart
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
|
|
// for details. 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';
|
|
|
|
import 'package:expect/async_helper.dart';
|
|
import 'package:expect/expect.dart';
|
|
|
|
void main(List<String> arguments) {
|
|
Uri dartVm = Uri.base.resolveUri(new Uri.file(Platform.resolvedExecutable));
|
|
Uri librariesJson = Uri.base.resolve("sdk/lib/libraries.json");
|
|
Uri compilePlatform =
|
|
Uri.base.resolve("pkg/front_end/tool/compile_platform.dart");
|
|
asyncTest(() async {
|
|
await withTemporaryDirectory("compile_platform_test_", (Uri tmp) async {
|
|
Uri platformDill = tmp.resolve("vm_platform.dill");
|
|
Uri outlineDill = tmp.resolve("vm_outline_strong.dill");
|
|
ProcessResult result = await Process.run(dartVm.toFilePath(), <String>[
|
|
compilePlatform.toFilePath(),
|
|
"-v",
|
|
"dart:core",
|
|
librariesJson.toFilePath(),
|
|
outlineDill.toFilePath(),
|
|
platformDill.toFilePath(),
|
|
outlineDill.toFilePath(),
|
|
]);
|
|
stdout.write(result.stdout);
|
|
stderr.write(result.stderr);
|
|
Expect.equals(
|
|
0, result.exitCode, "Non-zero exitcode from compile_platform.dart");
|
|
Expect.isTrue(await new File.fromUri(platformDill).exists());
|
|
Expect.isTrue(await new File.fromUri(outlineDill).exists());
|
|
});
|
|
});
|
|
|
|
asyncTest(() async {
|
|
await withTemporaryDirectory("compile_platform_test_", (Uri tmp) async {
|
|
Uri platformDill = tmp.resolve("dart2js_platform.dill");
|
|
Uri outlineDill = tmp.resolve("dart2js_outline.dill");
|
|
ProcessResult result = await Process.run(dartVm.toFilePath(), <String>[
|
|
compilePlatform.toFilePath(),
|
|
"--target=dart2js",
|
|
"--no-deps",
|
|
"-v",
|
|
"dart:core,dart:js_util",
|
|
librariesJson.toFilePath(),
|
|
outlineDill.toFilePath(),
|
|
platformDill.toFilePath(),
|
|
outlineDill.toFilePath(),
|
|
]);
|
|
stdout.write(result.stdout);
|
|
stderr.write(result.stderr);
|
|
Expect.equals(
|
|
0, result.exitCode, "Non-zero exitcode from compile_platform.dart");
|
|
Expect.isTrue(await new File.fromUri(platformDill).exists());
|
|
Expect.isTrue(await new File.fromUri(outlineDill).exists());
|
|
});
|
|
});
|
|
}
|
|
|
|
Future<void> withTemporaryDirectory(
|
|
String prefix, Future<void> f(Uri tmp)) async {
|
|
Directory tmp = await Directory.systemTemp.createTemp(prefix);
|
|
try {
|
|
await f(tmp.uri);
|
|
} finally {
|
|
await tmp.delete(recursive: true);
|
|
}
|
|
}
|