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

Unified Diff: tools/testing/dart/test_suite.dart

Issue 2981223002: Remove Dartium support from test.dart. (Closed)
Patch Set: Remove "dartium" from status files. Created 3 years, 5 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/testing/dart/test_runner.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/testing/dart/test_suite.dart
diff --git a/tools/testing/dart/test_suite.dart b/tools/testing/dart/test_suite.dart
index 04cc079469ea6f6d0ff2cc947988f257a40d81e7..828ce94bfb61dabf5baa0a46caf2d7bd2acf9d42 100644
--- a/tools/testing/dart/test_suite.dart
+++ b/tools/testing/dart/test_suite.dart
@@ -19,13 +19,13 @@ import 'browser_test.dart';
import 'command.dart';
import 'compiler_configuration.dart';
import 'configuration.dart';
-import 'drt_updater.dart';
import 'expectation.dart';
import 'expectation_set.dart';
import 'html_test.dart' as html_test;
import 'http_server.dart';
import 'multitest.dart';
import 'path.dart';
+import 'runtime_updater.dart';
import 'summary_report.dart';
import 'test_configurations.dart';
import 'test_runner.dart';
@@ -646,7 +646,10 @@ class StandardTestSuite extends TestSuite {
Future forEachTest(
Function onTest, Map<String, List<TestInformation>> testCache,
[VoidFunction onDone]) async {
- await updateDartium();
+ if (configuration.runtime == Runtime.drt && !configuration.listTests) {
+ await updateContentShell(configuration.drtPath);
+ }
+
doTest = onTest;
testExpectations = readExpectations();
@@ -666,24 +669,6 @@ class StandardTestSuite extends TestSuite {
}
/**
- * If Content shell/Dartium is required, and not yet updated, waits for
- * the update then completes. Otherwise completes immediately.
- */
- Future updateDartium() {
- var completer = new Completer();
- var updater = runtimeUpdater(configuration.runtime, configuration.drtPath,
- configuration.dartiumPath);
- if (updater == null || updater.updated) {
- return new Future.value(null);
- }
-
- assert(updater.isActive);
- updater.onUpdated.add(() => completer.complete(null));
-
- return completer.future;
- }
-
- /**
* Reads the status files and completes with the parsed expectations.
*/
ExpectationSet readExpectations() {
@@ -980,17 +965,6 @@ class StandardTestSuite extends TestSuite {
queryParameters: parameters);
}
- void _createWrapperFile(
- String dartWrapperFilename, Path localDartLibraryFilename) {
- File file = new File(dartWrapperFilename);
- RandomAccessFile dartWrapper = file.openSync(mode: FileMode.WRITE);
-
- var libraryPathComponent = _createUrlPathFromFile(localDartLibraryFilename);
- var generatedSource = dartTestWrapper(libraryPathComponent);
- dartWrapper.writeStringSync(generatedSource);
- dartWrapper.closeSync();
- }
-
/**
* The [StandardTestSuite] has support for tests that
* compile a test from Dart to JavaScript, and then run the resulting
@@ -1030,79 +1004,45 @@ class StandardTestSuite extends TestSuite {
Map<String, Set<Expectation>> expectations,
List<String> vmOptions,
String tempDir) {
- // TODO(Issue 14651): If we're on dartium, we need to pass [packageRoot]
- // on to the browser (it may be test specific).
- var filePath = info.filePath;
- var fileName = filePath.toNativePath();
-
+ var fileName = info.filePath.toNativePath();
var optionsFromFile = info.optionsFromFile;
var compilationTempDir = createCompilationOutputDirectory(info.filePath);
- var dartWrapperFilename = '$tempDir/test.dart';
- var compiledDartWrapperFilename = '$compilationTempDir/test.js';
- var dir = filePath.directoryPath;
- var nameNoExt = filePath.filenameWithoutExtension;
- var customHtmlPath = dir.append('$nameNoExt.html').toNativePath();
- var customHtml = new File(customHtmlPath);
+ var jsWrapperFileName = '$compilationTempDir/test.js';
+ var nameNoExt = info.filePath.filenameWithoutExtension;
// Use existing HTML document if available.
- String htmlPath;
String content;
+ var customHtml = new File(
+ info.filePath.directoryPath.append('$nameNoExt.html').toNativePath());
if (customHtml.existsSync()) {
- htmlPath = '$tempDir/test.html';
- dartWrapperFilename = filePath.toNativePath();
-
- var htmlContents = customHtml.readAsStringSync();
- if (configuration.compiler == Compiler.none) {
- var dartUrl = _createUrlPathFromFile(filePath);
- var dartScript =
- '<script type="application/dart" src="$dartUrl"></script>';
- var jsUrl = '/packages/browser/dart.js';
- var jsScript = '<script type="text/javascript" src="$jsUrl"></script>';
- htmlContents =
- htmlContents.replaceAll('%TEST_SCRIPTS%', '$dartScript\n$jsScript');
- } else {
- compiledDartWrapperFilename = '$tempDir/$nameNoExt.js';
- htmlContents = htmlContents.replaceAll(
- '%TEST_SCRIPTS%', '<script src="$nameNoExt.js"></script>');
- }
- new File(htmlPath).writeAsStringSync(htmlContents);
+ jsWrapperFileName = '$tempDir/$nameNoExt.js';
+ content = customHtml.readAsStringSync().replaceAll(
+ '%TEST_SCRIPTS%', '<script src="$nameNoExt.js"></script>');
} else {
- htmlPath = '$tempDir/test.html';
- if (configuration.compiler != Compiler.dart2js &&
- configuration.compiler != Compiler.dartdevc) {
- // test.dart will import the dart test.
- _createWrapperFile(dartWrapperFilename, filePath);
- } else {
- dartWrapperFilename = fileName;
- }
-
- // Create the HTML file for the test.
- var scriptPath = dartWrapperFilename;
- if (configuration.compiler != Compiler.none) {
- scriptPath = compiledDartWrapperFilename;
- }
- scriptPath = _createUrlPathFromFile(new Path(scriptPath));
+ // Synthesize an HTML file for the test.
+ var scriptPath = _createUrlPathFromFile(new Path(jsWrapperFileName));
if (configuration.compiler != Compiler.dartdevc) {
- content = getHtmlContents(fileName, scriptType, scriptPath);
+ content = dart2jsHtml(fileName, scriptPath);
} else {
var jsDir = new Path(compilationTempDir)
.relativeTo(TestUtils.dartDir)
.toString();
content = dartdevcHtml(nameNoExt, jsDir, buildDir);
}
-
- new File(htmlPath).writeAsStringSync(content);
}
+ var htmlPath = '$tempDir/test.html';
+ new File(htmlPath).writeAsStringSync(content);
+
// Construct the command(s) that compile all the inputs needed by the
// browser test. For running Dart in DRT, this will be noop commands.
var commands = <Command>[];
switch (configuration.compiler) {
case Compiler.dart2js:
- commands.add(_dart2jsCompileCommand(dartWrapperFilename,
- compiledDartWrapperFilename, tempDir, optionsFromFile));
+ commands.add(_dart2jsCompileCommand(
+ fileName, jsWrapperFileName, tempDir, optionsFromFile));
break;
case Compiler.dartdevc:
@@ -1113,9 +1053,6 @@ class StandardTestSuite extends TestSuite {
optionsFromFile["sharedOptions"] as List<String>));
break;
- case Compiler.none:
- break;
-
default:
assert(false);
}
@@ -1123,13 +1060,13 @@ class StandardTestSuite extends TestSuite {
// Some tests require compiling multiple input scripts.
for (var name in optionsFromFile['otherScripts'] as List<String>) {
var namePath = new Path(name);
- var fromPath = filePath.directoryPath.join(namePath);
+ var fromPath = info.filePath.directoryPath.join(namePath);
var toPath = new Path('$tempDir/${namePath.filename}.js').toNativePath();
switch (configuration.compiler) {
case Compiler.dart2js:
- commands.add(_dart2jsCompileCommand(fromPath.toNativePath(),
- toPath, tempDir, optionsFromFile));
+ commands.add(_dart2jsCompileCommand(
+ fromPath.toNativePath(), toPath, tempDir, optionsFromFile));
break;
case Compiler.dartdevc:
@@ -1137,17 +1074,6 @@ class StandardTestSuite extends TestSuite {
fromPath.toNativePath(), toPath,
optionsFromFile["sharedOptions"] as List<String>));
break;
-
- default:
- assert(configuration.compiler == Compiler.none);
- }
-
- if (configuration.compiler == Compiler.none) {
- // For the tests that require multiple input scripts but are not
- // compiled, move the input scripts over with the script so they can
- // be accessed.
- new File(fromPath.toNativePath())
- .copySync('$tempDir/${namePath.filename}');
}
}
@@ -1195,15 +1121,6 @@ class StandardTestSuite extends TestSuite {
contentShellOptions.add('--disable-gpu-early-init');
}
- if (configuration.compiler == Compiler.none) {
- dartFlags.add('--ignore-unrecognized-flags');
- if (configuration.isChecked) {
- dartFlags.add('--enable_asserts');
- dartFlags.add("--enable_type_checks");
- }
- dartFlags.addAll(vmOptions);
- }
-
commands.add(Command.contentShell(contentShellFilename, fullHtmlPath,
contentShellOptions, dartFlags, environmentOverrides));
} else {
@@ -1327,22 +1244,6 @@ class StandardTestSuite extends TestSuite {
alwaysCompile: !useSdk);
}
- String get scriptType {
- switch (configuration.compiler) {
- case Compiler.none:
- return 'application/dart';
- case Compiler.dart2js:
- case Compiler.dart2analyzer:
- case Compiler.dartdevc:
- return 'text/javascript';
- default:
- print('Non-web runtime, so no scriptType for: '
- '${configuration.compiler.name}');
- exit(1);
- return null;
- }
- }
-
bool get hasRuntime => configuration.runtime != Runtime.none;
String get contentShellFilename {
@@ -1406,8 +1307,8 @@ class StandardTestSuite extends TestSuite {
* creating additional files in the test directories.
*
* Here is a list of options that are used by 'test.dart' today:
- * - Flags can be passed to the vm or dartium process that runs the test by
- * adding a comment to the test file:
+ * - Flags can be passed to the vm process that runs the test by adding a
+ * comment to the test file:
*
* // VMOptions=--flag1 --flag2
*
@@ -1651,9 +1552,7 @@ class StandardTestSuite extends TestSuite {
Runtime.dartPrecompiled,
Runtime.vm,
Runtime.drt,
- Runtime.dartium,
- Runtime.contentShellOnAndroid,
- Runtime.dartiumOnAndroid
+ Runtime.contentShellOnAndroid
];
var needsVmOptions = compilers.contains(configuration.compiler) &&
@@ -1776,6 +1675,8 @@ class DartcCompilationTestSuite extends StandardTestSuite {
}
}
+// TODO(rnystrom): Merge with DartcCompilationTestSuite since that class isn't
+// used for anything but this now.
class AnalyzeLibraryTestSuite extends DartcCompilationTestSuite {
static String libraryPath(Configuration configuration) =>
configuration.useSdk ? '${configuration.buildDirectory}/dart-sdk' : 'sdk';
« no previous file with comments | « tools/testing/dart/test_runner.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698