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

Side by Side Diff: tools/testing/dart/test_suite.dart

Issue 1732323005: Toward a green tools/build.py -cprecompiler -rdart_precompiled: (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 9 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 unified diff | Download patch
« runtime/vm/object.cc ('K') | « tools/testing/dart/test_runner.dart ('k') | no next file » | 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 /** 5 /**
6 * Classes and methods for enumerating and preparing tests. 6 * Classes and methods for enumerating and preparing tests.
7 * 7 *
8 * This library includes: 8 * This library includes:
9 * 9 *
10 * - Creating tests by listing all the Dart files in certain directories, 10 * - Creating tests by listing all the Dart files in certain directories,
(...skipping 1000 matching lines...) Expand 10 before | Expand all | Expand 10 after
1011 void enqueueStandardTest(List<Command> baseCommands, 1011 void enqueueStandardTest(List<Command> baseCommands,
1012 TestInformation info, 1012 TestInformation info,
1013 String testName, 1013 String testName,
1014 Set<Expectation> expectations) { 1014 Set<Expectation> expectations) {
1015 var commonArguments = commonArgumentsFromFile(info.filePath, 1015 var commonArguments = commonArgumentsFromFile(info.filePath,
1016 info.optionsFromFile); 1016 info.optionsFromFile);
1017 1017
1018 List<List<String>> vmOptionsList = getVmOptions(info.optionsFromFile); 1018 List<List<String>> vmOptionsList = getVmOptions(info.optionsFromFile);
1019 assert(!vmOptionsList.isEmpty); 1019 assert(!vmOptionsList.isEmpty);
1020 1020
1021 for (var vmOptions in vmOptionsList) { 1021 for (var vmOptionsVarient = 0;
1022 vmOptionsVarient < vmOptionsList.length;
1023 vmOptionsVarient++) {
1024 var vmOptions = vmOptionsList[vmOptionsVarient];
1022 var allVmOptions = vmOptions; 1025 var allVmOptions = vmOptions;
1023 if (!extraVmOptions.isEmpty) { 1026 if (!extraVmOptions.isEmpty) {
1024 allVmOptions = new List.from(vmOptions)..addAll(extraVmOptions); 1027 allVmOptions = new List.from(vmOptions)..addAll(extraVmOptions);
1025 } 1028 }
1026 1029
1027 var commands = []..addAll(baseCommands); 1030 var commands = []..addAll(baseCommands);
1028 commands.addAll(makeCommands(info, allVmOptions, commonArguments)); 1031 commands.addAll(makeCommands(info, vmOptionsVarient,
1032 allVmOptions, commonArguments));
1029 enqueueNewTestCase( 1033 enqueueNewTestCase(
1030 new TestCase('$suiteName/$testName', 1034 new TestCase('$suiteName/$testName',
1031 commands, 1035 commands,
1032 configuration, 1036 configuration,
1033 expectations, 1037 expectations,
1034 isNegative: isNegative(info), 1038 isNegative: isNegative(info),
1035 info: info)); 1039 info: info));
1036 } 1040 }
1037 } 1041 }
1038 1042
1039 bool expectCompileError(TestInformation info) { 1043 bool expectCompileError(TestInformation info) {
1040 return info.hasCompileError || 1044 return info.hasCompileError ||
1041 (configuration['checked'] && info.hasCompileErrorIfChecked); 1045 (configuration['checked'] && info.hasCompileErrorIfChecked);
1042 } 1046 }
1043 1047
1044 bool isNegative(TestInformation info) { 1048 bool isNegative(TestInformation info) {
1045 bool negative = expectCompileError(info) || 1049 bool negative = expectCompileError(info) ||
1046 (configuration['checked'] && info.isNegativeIfChecked); 1050 (configuration['checked'] && info.isNegativeIfChecked);
1047 if (info.hasRuntimeError && hasRuntime) { 1051 if (info.hasRuntimeError && hasRuntime) {
1048 negative = true; 1052 negative = true;
1049 } 1053 }
1050 return negative; 1054 return negative;
1051 } 1055 }
1052 1056
1053 List<Command> makeCommands(TestInformation info, var vmOptions, var args) { 1057 List<Command> makeCommands(TestInformation info,
1058 int vmOptionsVarient,
1059 var vmOptions,
1060 var args) {
1054 List<Command> commands = <Command>[]; 1061 List<Command> commands = <Command>[];
1055 CompilerConfiguration compilerConfiguration = 1062 CompilerConfiguration compilerConfiguration =
1056 new CompilerConfiguration(configuration); 1063 new CompilerConfiguration(configuration);
1057 List<String> sharedOptions = info.optionsFromFile['sharedOptions']; 1064 List<String> sharedOptions = info.optionsFromFile['sharedOptions'];
1058 1065
1059 List<String> compileTimeArguments = <String>[]; 1066 List<String> compileTimeArguments = <String>[];
1060 String tempDir; 1067 String tempDir;
1061 if (compilerConfiguration.hasCompiler) { 1068 if (compilerConfiguration.hasCompiler) {
1062 compileTimeArguments = 1069 compileTimeArguments =
1063 compilerConfiguration.computeCompilerArguments(vmOptions, 1070 compilerConfiguration.computeCompilerArguments(vmOptions,
1064 sharedOptions, 1071 sharedOptions,
1065 args); 1072 args);
1066 // Avoid doing this for analyzer. 1073 // Avoid doing this for analyzer.
1067 tempDir = createCompilationOutputDirectory(info.filePath); 1074 var path = info.filePath;
1075 if (vmOptionsVarient != 0) {
1076 // Ensure a unique directory for each test case.
1077 path = path.join(new Path(vmOptionsVarient.toString()));
1078 }
1079 tempDir = createCompilationOutputDirectory(path);
1068 } 1080 }
1069 1081
1070 CommandArtifact compilationArtifact = 1082 CommandArtifact compilationArtifact =
1071 compilerConfiguration.computeCompilationArtifact( 1083 compilerConfiguration.computeCompilationArtifact(
1072 buildDir, 1084 buildDir,
1073 tempDir, 1085 tempDir,
1074 CommandBuilder.instance, 1086 CommandBuilder.instance,
1075 compileTimeArguments, 1087 compileTimeArguments,
1076 environmentOverrides); 1088 environmentOverrides);
1077 commands.addAll(compilationArtifact.commands); 1089 commands.addAll(compilationArtifact.commands);
(...skipping 1421 matching lines...) Expand 10 before | Expand all | Expand 10 after
2499 for (var key in PATH_REPLACEMENTS.keys) { 2511 for (var key in PATH_REPLACEMENTS.keys) {
2500 if (path.startsWith(key)) { 2512 if (path.startsWith(key)) {
2501 path = path.replaceFirst(key, PATH_REPLACEMENTS[key]); 2513 path = path.replaceFirst(key, PATH_REPLACEMENTS[key]);
2502 break; 2514 break;
2503 } 2515 }
2504 } 2516 }
2505 } 2517 }
2506 return path; 2518 return path;
2507 } 2519 }
2508 } 2520 }
OLDNEW
« runtime/vm/object.cc ('K') | « tools/testing/dart/test_runner.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698