Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: tests/standalone/precompilation_dart2js_test.dart

Issue 1430993003: Add test precompiling dart2js. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: status file Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/snapshot.cc ('k') | tests/standalone/standalone.status » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // Test generating and running a simple precompiled snapshot of this script. 5 // Test generating and running a simple precompiled snapshot of this script.
6 6
7 import 'dart:io'; 7 import 'dart:io';
8 8
9 main(List args) { 9 main(List args) {
10 if (args.length > 0 && args[0] == "--hello") { 10 if (args.length > 0 && args[0] == "--hello") {
(...skipping 25 matching lines...) Expand all
36 cc_flags = "-m32"; 36 cc_flags = "-m32";
37 } else if (Platform.version.contains("arm")) { 37 } else if (Platform.version.contains("arm")) {
38 cc_flags = ""; 38 cc_flags = "";
39 } else if (Platform.version.contains("mips")) { 39 } else if (Platform.version.contains("mips")) {
40 cc_flags = "-EL"; 40 cc_flags = "-EL";
41 } else { 41 } else {
42 print("Architecture not supported: ${Platform.version}"); 42 print("Architecture not supported: ${Platform.version}");
43 return; 43 return;
44 } 44 }
45 45
46 var abs_package_root = new File(Platform.packageRoot).absolute.path;
46 var dart_executable = 47 var dart_executable =
47 Directory.current.path + Platform.pathSeparator + Platform.executable; 48 Directory.current.path + Platform.pathSeparator + Platform.executable;
48 Directory tmp; 49 Directory tmp;
49 try { 50 try {
50 tmp = Directory.current.createTempSync("temp_precompilation_test"); 51 tmp = Directory.current.createTempSync("temp_precompilation_test");
51 var result = Process.runSync( 52 var exec = "${dart_executable}_no_snapshot";
52 "${dart_executable}_no_snapshot", 53 var args = ["--package-root=$abs_package_root",
53 ["--gen-precompiled-snapshot", Platform.script.path], 54 "--gen-precompiled-snapshot",
54 workingDirectory: tmp.path); 55 "${abs_package_root}compiler/src/dart2js.dart"];
56 print("$exec ${args.join(' ')}");
57 var result = Process.runSync(exec, args, workingDirectory: tmp.path);
55 if (result.exitCode != 0) { 58 if (result.exitCode != 0) {
56 print(result.stdout); 59 print(result.stdout);
57 print(result.stderr); 60 print(result.stderr);
58 throw "Snapshot generation failed."; 61 throw "Snapshot generation failed.";
59 } 62 }
60 63
61 // Check if gcc is present, and skip test if it is not. 64 // Check if gcc is present, and skip test if it is not.
62 try { 65 try {
63 result = Process.runSync( 66 result = Process.runSync(
64 cc, 67 cc,
(...skipping 12 matching lines...) Expand all
77 [shared, cc_flags, "-o", libname, "precompiled.S"], 80 [shared, cc_flags, "-o", libname, "precompiled.S"],
78 workingDirectory: tmp.path); 81 workingDirectory: tmp.path);
79 if (result.exitCode != 0) { 82 if (result.exitCode != 0) {
80 print(result.stdout); 83 print(result.stdout);
81 print(result.stderr); 84 print(result.stderr);
82 throw "Shared library creation failed!"; 85 throw "Shared library creation failed!";
83 } 86 }
84 87
85 var ld_library_path = new String.fromEnvironment("LD_LIBRARY_PATH"); 88 var ld_library_path = new String.fromEnvironment("LD_LIBRARY_PATH");
86 ld_library_path = "${ld_library_path}:${tmp.path}"; 89 ld_library_path = "${ld_library_path}:${tmp.path}";
87 90 exec = "${dart_executable}";
88 result = Process.runSync( 91 args = ["--run-precompiled-snapshot", "ignored_script", "--version"];
89 "${dart_executable}", 92 print("LD_LIBRARY_PATH=$ld_library_path $exec ${args.join(' ')}");
90 ["--run-precompiled-snapshot", "ignored_script", "--hello"], 93 result = Process.runSync(exec, args,
91 workingDirectory: tmp.path, 94 workingDirectory: tmp.path,
92 environment: {"LD_LIBRARY_PATH": ld_library_path}); 95 environment: {"LD_LIBRARY_PATH": ld_library_path});
93 if (result.exitCode != 0) { 96 if (result.exitCode != 0) {
94 print(result.stdout); 97 print(result.stdout);
95 print(result.stderr); 98 print(result.stderr);
96 throw "Precompiled binary failed."; 99 throw "Precompiled binary failed.";
97 } 100 }
98 print(result.stdout); 101 print(result.stdout);
99 if (result.stdout != "Hello\n") { 102 if (!result.stdout.contains("Dart-to-JavaScript compiler")) {
100 throw "Precompiled binary output mismatch."; 103 throw "Precompiled binary output mismatch.";
101 } 104 }
102 } finally { 105 } finally {
103 tmp?.deleteSync(recursive: true); 106 tmp?.deleteSync(recursive: true);
104 } 107 }
105 } 108 }
OLDNEW
« no previous file with comments | « runtime/vm/snapshot.cc ('k') | tests/standalone/standalone.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698