mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 04:27:17 +00:00
326f7b4a8f
Initial: https://dart-review.googlesource.com/c/sdk/+/149495 Reverted: https://dart-review.googlesource.com/c/sdk/+/149687 Change-Id: Ibd3f1af1aef83adc35f77cfbda66e07c5ae99922 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153241 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
78 lines
2.1 KiB
Dart
78 lines
2.1 KiB
Dart
// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
|
|
// 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.
|
|
|
|
import 'dart:io';
|
|
|
|
import 'package:analyzer/src/dart/sdk/sdk.dart';
|
|
import 'package:analyzer_cli/src/driver.dart' show Driver, errorSink, outSink;
|
|
import 'package:path/path.dart' as path;
|
|
import 'package:test/test.dart';
|
|
|
|
import 'utils.dart';
|
|
|
|
void main() {
|
|
group('_embedder.yaml', () {
|
|
StringSink savedOutSink, savedErrorSink;
|
|
int savedExitCode;
|
|
|
|
setUp(() {
|
|
savedOutSink = outSink;
|
|
savedErrorSink = errorSink;
|
|
savedExitCode = exitCode;
|
|
outSink = StringBuffer();
|
|
errorSink = StringBuffer();
|
|
});
|
|
|
|
tearDown(() {
|
|
outSink = savedOutSink;
|
|
errorSink = savedErrorSink;
|
|
exitCode = savedExitCode;
|
|
});
|
|
|
|
test('resolution', wrap(() async {
|
|
var testDir = path.join(testDirectory, 'data', 'embedder_client');
|
|
await Driver(isTesting: true).start([
|
|
'--packages',
|
|
path.join(testDir, '_packages'),
|
|
path.join(testDir, 'embedder_yaml_user.dart')
|
|
]);
|
|
|
|
expect(exitCode, 0);
|
|
expect(outSink.toString(), contains('No issues found'));
|
|
}));
|
|
|
|
test('sdk setup', wrap(() async {
|
|
var testDir = path.join(testDirectory, 'data', 'embedder_client');
|
|
var driver = Driver(isTesting: true);
|
|
await driver.start([
|
|
'--packages',
|
|
path.join(testDir, '_packages'),
|
|
path.join(testDir, 'embedder_yaml_user.dart')
|
|
]);
|
|
|
|
var sdk = driver.sdk;
|
|
expect(sdk, const TypeMatcher<FolderBasedDartSdk>());
|
|
}));
|
|
});
|
|
}
|
|
|
|
/// Wrap a function call to dump stdout and stderr in case of an exception.
|
|
dynamic Function() wrap(dynamic Function() f) {
|
|
return () async {
|
|
try {
|
|
await f();
|
|
} catch (e) {
|
|
if (outSink.toString().isNotEmpty) {
|
|
print('stdout:');
|
|
print(outSink);
|
|
}
|
|
if (errorSink.toString().isNotEmpty) {
|
|
print('stderr:');
|
|
print(errorSink);
|
|
}
|
|
rethrow;
|
|
}
|
|
};
|
|
}
|