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

Side by Side Diff: pkg/dev_compiler/test/options/options_test.dart

Issue 2757753002: Migrate DDC to the new analysis driver.
Patch Set: Rebase Created 3 years, 6 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
« no previous file with comments | « pkg/dev_compiler/test/not_yet_strong_tests.dart ('k') | pkg/dev_compiler/tool/build_pkgs.dart » ('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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 import 'dart:io'; 5 import 'dart:io';
6 import 'package:analyzer/analyzer.dart'; 6 import 'package:analyzer/analyzer.dart';
7 import 'package:analyzer/src/command_line/arguments.dart'; 7 import 'package:analyzer/src/command_line/arguments.dart';
8 import 'package:analyzer/src/summary/summary_sdk.dart'; 8 import 'package:analyzer/src/summary/summary_sdk.dart';
9 import 'package:path/path.dart' as path; 9 import 'package:path/path.dart' as path;
10 import 'package:test/test.dart'; 10 import 'package:test/test.dart';
11 11
12 import '../../lib/src/analyzer/context.dart'; 12 import '../../lib/src/analyzer/context.dart';
13 import '../../lib/src/compiler/command.dart'; 13 import '../../lib/src/compiler/command.dart';
14 import '../../lib/src/compiler/compiler.dart'; 14 import '../../lib/src/compiler/compiler.dart';
15 import '../testing.dart' show repoDirectory, testDirectory; 15 import '../testing.dart' show repoDirectory, testDirectory;
16 16
17 /// The `test/options` directory. 17 /// The `test/options` directory.
18 final optionsDir = path.join(testDirectory, 'options'); 18 final optionsDir = path.join(testDirectory, 'options');
19 19
20 /// Summary file for testing. 20 /// Summary file for testing.
21 final sdkSummaryFile = path.join(repoDirectory, 'lib', 'sdk', 'ddc_sdk.sum'); 21 final sdkSummaryFile = path.join(repoDirectory, 'lib', 'sdk', 'ddc_sdk.sum');
22 22
23 final sdkSummaryArgs = ['--$sdkSummaryPathOption', sdkSummaryFile]; 23 final sdkSummaryArgs = ['--$sdkSummaryPathOption', sdkSummaryFile];
24 24
25 main() { 25 main() {
26 test('basic', () { 26 test('basic', () {
27 var options = new AnalyzerOptions.basic(); 27 var options = new AnalyzerOptions.basic();
28 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); 28 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir);
29 var processors = compiler.context.analysisOptions.errorProcessors; 29 var processors = compiler.driver.analysisOptions.errorProcessors;
30 expect(processors, hasLength(1)); 30 expect(processors, hasLength(1));
31 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name); 31 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name);
32 }); 32 });
33 33
34 test('basic sdk summary', () { 34 test('basic sdk summary', () {
35 expect(new File(sdkSummaryFile).existsSync(), isTrue); 35 expect(new File(sdkSummaryFile).existsSync(), isTrue);
36 var options = new AnalyzerOptions.basic(dartSdkSummaryPath: sdkSummaryFile); 36 var options = new AnalyzerOptions.basic(dartSdkSummaryPath: sdkSummaryFile);
37 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); 37 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir);
38 var context = compiler.context; 38 var driver = compiler.driver;
39 var sdk = context.sourceFactory.dartSdk; 39 var sdk = driver.sourceFactory.dartSdk;
40 expect(sdk, new isInstanceOf<SummaryBasedDartSdk>()); 40 expect(sdk, new isInstanceOf<SummaryBasedDartSdk>());
41 var processors = context.analysisOptions.errorProcessors; 41 var processors = driver.analysisOptions.errorProcessors;
42 expect(processors, hasLength(1)); 42 expect(processors, hasLength(1));
43 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name); 43 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name);
44 }); 44 });
45 45
46 test('fromArgs', () { 46 test('fromArgs', () {
47 var args = <String>[]; 47 var args = <String>[];
48 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file 48 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file
49 args.addAll(sdkSummaryArgs); 49 args.addAll(sdkSummaryArgs);
50 var argResults = ddcArgParser().parse(args); 50 var argResults = ddcArgParser().parse(args);
51 var options = new AnalyzerOptions.fromArguments(argResults); 51 var options = new AnalyzerOptions.fromArguments(argResults);
52 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); 52 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir);
53 var processors = compiler.context.analysisOptions.errorProcessors; 53 var processors = compiler.driver.analysisOptions.errorProcessors;
54 expect(processors, hasLength(1)); 54 expect(processors, hasLength(1));
55 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name); 55 expect(processors[0].code, CompileTimeErrorCode.UNDEFINED_CLASS.name);
56 }); 56 });
57 57
58 test('fromArgs options file 2', () { 58 test('fromArgs options file 2', () {
59 var optionsFile2 = path.join(optionsDir, 'analysis_options_2.yaml'); 59 var optionsFile2 = path.join(optionsDir, 'analysis_options_2.yaml');
60 expect(new File(optionsFile2).existsSync(), isTrue); 60 expect(new File(optionsFile2).existsSync(), isTrue);
61 var args = <String>['--$analysisOptionsFileOption', optionsFile2]; 61 var args = <String>['--$analysisOptionsFileOption', optionsFile2];
62 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file 62 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file
63 args.addAll(sdkSummaryArgs); 63 args.addAll(sdkSummaryArgs);
64 var argResults = ddcArgParser().parse(args); 64 var argResults = ddcArgParser().parse(args);
65 var options = new AnalyzerOptions.fromArguments(argResults); 65 var options = new AnalyzerOptions.fromArguments(argResults);
66 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); 66 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir);
67 var processors = compiler.context.analysisOptions.errorProcessors; 67 var processors = compiler.driver.analysisOptions.errorProcessors;
68 expect(processors, hasLength(1)); 68 expect(processors, hasLength(1));
69 expect(processors[0].code, CompileTimeErrorCode.DUPLICATE_DEFINITION.name); 69 expect(processors[0].code, CompileTimeErrorCode.DUPLICATE_DEFINITION.name);
70 }); 70 });
71 71
72 test('fromArgs options flag', () { 72 test('fromArgs options flag', () {
73 var args = <String>['--$enableStrictCallChecksFlag']; 73 var args = <String>['--$enableStrictCallChecksFlag'];
74 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file 74 //TODO(danrubel) remove sdkSummaryArgs once all SDKs have summary file
75 args.addAll(sdkSummaryArgs); 75 args.addAll(sdkSummaryArgs);
76 var argResults = ddcArgParser().parse(args); 76 var argResults = ddcArgParser().parse(args);
77 var options = new AnalyzerOptions.fromArguments(argResults); 77 var options = new AnalyzerOptions.fromArguments(argResults);
78 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir); 78 var compiler = new ModuleCompiler(options, analysisRoot: optionsDir);
79 var analysisOptions = compiler.context.analysisOptions; 79 var analysisOptions = compiler.driver.analysisOptions;
80 expect(analysisOptions.enableStrictCallChecks, isTrue); 80 expect(analysisOptions.enableStrictCallChecks, isTrue);
81 }); 81 });
82 } 82 }
OLDNEW
« no previous file with comments | « pkg/dev_compiler/test/not_yet_strong_tests.dart ('k') | pkg/dev_compiler/tool/build_pkgs.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698