// Copyright (c) 2020, 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. // OtherResources=splay_test.dart // Tests AOT kernel generation split into 2 steps using '--from-dill' option. import 'dart:io' show Platform; import 'package:path/path.dart' as path; import 'snapshot_test_helper.dart'; Future runSplitAOTKernelGenerationTest(Uri testScriptUri) async { await withTempDir((String temp) async { final intermediateDillPath = path.join(temp, 'intermediate.dill'); final outputDillPath = path.join(temp, 'output.dill'); final snapshotPath = path.join(temp, 'aot.snapshot'); await runGenKernel('BUILD INTERMEDIATE DILL FILE', [ '--no-aot', '--link-platform', '--output=$intermediateDillPath', testScriptUri.toFilePath(), ]); await runGenKernel('BUILD FINAL DILL FILE', [ '--aot', '--from-dill=$intermediateDillPath', '--link-platform', '--output=$outputDillPath', testScriptUri.toFilePath(), ]); await runGenSnapshot('GENERATE SNAPSHOT', [ '--snapshot-kind=app-aot-elf', '--elf=$snapshotPath', outputDillPath, ]); await runBinary('RUN SNAPSHOT', dartPrecompiledRuntime, [snapshotPath]); }); } main() async { await runSplitAOTKernelGenerationTest( Platform.script.resolve('splay_test.dart')); }