Files
sdk/pkg/front_end/tool/compile_platform_test.dart
Paul Berry d810c7d0c0 [front_end] Bump language version to 3.9 and reformat.
This commit was generated by the following steps:

- Manually change the SDK constraint in `pkg/front_end/pubspec.yaml`

- Run `gclient sync`

- Run `find pkg/front_end/benchmarks pkg/front_end/lib
  pkg/front_end/presubmit_helper.dart
  pkg/front_end/presubmit_helper_spawn.dart pkg/front_end/test
  pkg/front_end/tool -iname '*.dart' | xargs
  tools/sdks/dart-sdk/bin/dart format`

- Manually fix remaining long lines and add dead code ignore comments.

- Fix coverage by running `dart --enable-asserts
  pkg/front_end/test/coverage_suite.dart --tasks=5
  --add-and-remove-comments`

- Fix `pkg/front_end/test/coverage_merger/assert_message_auto_ignored`
  by running `dart pkg/front_end/test/unit_test_suites.dart -p
  pkg/front_end/test/coverage_merger/assert_message_auto_ignored
  -DupdateExpectations=true`

The diff is large because the version bump causes the formatter to
switch into "tall mode".

Change-Id: I6a6a696410da8b168060acfe0e4d6e91e294c4f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/447628
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2025-08-29 07:31:41 -07:00

80 lines
2.6 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.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);
}
}