mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 03:47:13 +00:00
[ CLI ] Print unnecessary experiment warning to stderr instead of stdout
Fixes https://github.com/dart-lang/sdk/issues/51820 TEST=pkg/dartdev/test/commands/analyze_test.dart Change-Id: I6c3f31806e466b594776aa93062addc1ced4dc20 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/290621 Commit-Queue: Ben Konyi <bkonyi@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
parent
b4442e92eb
commit
27171f2d73
|
@ -2,6 +2,8 @@
|
||||||
// for details. All rights reserved. Use of this source code is governed by a
|
// 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.
|
// BSD-style license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:analyzer/src/dart/analysis/experiments.dart';
|
import 'package:analyzer/src/dart/analysis/experiments.dart';
|
||||||
import 'package:args/args.dart';
|
import 'package:args/args.dart';
|
||||||
import 'package:collection/collection.dart' show IterableExtension;
|
import 'package:collection/collection.dart' show IterableExtension;
|
||||||
|
@ -67,8 +69,8 @@ extension ArgResultsExtensions on ArgResults {
|
||||||
// We allow default true flags, but complain when they are passed in.
|
// We allow default true flags, but complain when they are passed in.
|
||||||
if (feature.isEnabledByDefault &&
|
if (feature.isEnabledByDefault &&
|
||||||
enabledExperiments.contains(feature.enableString)) {
|
enabledExperiments.contains(feature.enableString)) {
|
||||||
print("'${feature.enableString}' is now enabled by default; this "
|
stderr.writeln("'${feature.enableString}' is now enabled by default; "
|
||||||
'flag is no longer required.');
|
'this flag is no longer required.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return enabledExperiments;
|
return enabledExperiments;
|
||||||
|
|
|
@ -433,6 +433,15 @@ void defineAnalyze() {
|
||||||
expect(result.stderr, contains("Unknown experiment(s): 'bad'"));
|
expect(result.stderr, contains("Unknown experiment(s): 'bad'"));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('--enable-experiment with a non-experimental feature', () async {
|
||||||
|
p = project();
|
||||||
|
var result = await p.runAnalyze(['--enable-experiment=records']);
|
||||||
|
|
||||||
|
expect(result.exitCode, 0);
|
||||||
|
expect(result.stdout, contains('No issues found!'));
|
||||||
|
expect(result.stderr, contains("'records' is now enabled by default"));
|
||||||
|
});
|
||||||
|
|
||||||
test('--verbose', () async {
|
test('--verbose', () async {
|
||||||
p = project(mainSrc: '''
|
p = project(mainSrc: '''
|
||||||
int f() {
|
int f() {
|
||||||
|
|
|
@ -781,8 +781,6 @@ void residentRun() {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Handles experiments', () async {
|
test('Handles experiments', () async {
|
||||||
// TODO(https://github.com/dart-lang/sdk/issues/50230): Use
|
|
||||||
// `test-experiment` instead of `records` here.
|
|
||||||
p = project(
|
p = project(
|
||||||
mainSrc: r"void main() { print(('hello','world').$1); }",
|
mainSrc: r"void main() { print(('hello','world').$1); }",
|
||||||
sdkConstraint: VersionConstraint.parse(
|
sdkConstraint: VersionConstraint.parse(
|
||||||
|
@ -792,7 +790,7 @@ void residentRun() {
|
||||||
final result = await p.run([
|
final result = await p.run([
|
||||||
'run',
|
'run',
|
||||||
'--$serverInfoOption=$serverInfoFile',
|
'--$serverInfoOption=$serverInfoFile',
|
||||||
'--enable-experiment=records',
|
'--enable-experiment=test-experiment',
|
||||||
p.relativeFilePath,
|
p.relativeFilePath,
|
||||||
]);
|
]);
|
||||||
Directory? kernelCache = p.findDirectory('.dart_tool/kernel');
|
Directory? kernelCache = p.findDirectory('.dart_tool/kernel');
|
||||||
|
|
Loading…
Reference in a new issue