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

Unified Diff: test/test_pub.dart

Issue 2184303002: Make pub strong-mode clean. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Code review changes Created 4 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 | « test/pub_uploader_test.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/test_pub.dart
diff --git a/test/test_pub.dart b/test/test_pub.dart
index d23a3a1e23bb9eb557a5e8144d56001dedd1dfec..24cd4407740fa35aa0bddd9f50018229d3b597af 100644
--- a/test/test_pub.dart
+++ b/test/test_pub.dart
@@ -12,6 +12,7 @@ import 'dart:convert';
import 'dart:io';
import 'dart:math';
+import 'package:async/async.dart';
import 'package:http/testing.dart';
import 'package:path/path.dart' as p;
import 'package:pub/src/entrypoint.dart';
@@ -160,7 +161,7 @@ void pubDowngrade({Iterable<String> args, output, error, warning,
/// "pub run".
///
/// Returns the `pub run` process.
-ScheduledProcess pubRun({bool global: false, Iterable<String> args}) {
+PubProcess pubRun({bool global: false, Iterable<String> args}) {
var pubArgs = global ? ["global", "run"] : ["run"];
pubArgs.addAll(args);
var pub = startPub(args: pubArgs);
@@ -243,7 +244,7 @@ void schedulePub({List args, output, error, outputJson, silent,
var actualError = (await pub.stderrStream().toList()).join("\n");
var actualSilent = (await pub.silentStream().toList()).join("\n");
- var failures = [];
+ var failures = <String>[];
if (outputJson == null) {
_validateOutput(failures, 'stdout', output, actualOutput);
} else {
@@ -263,11 +264,11 @@ void schedulePub({List args, output, error, outputJson, silent,
/// package server.
///
/// Any futures in [args] will be resolved before the process is started.
-ScheduledProcess startPublish(ScheduledServer server, {List args}) {
+PubProcess startPublish(ScheduledServer server, {List args}) {
var tokenEndpoint = server.url.then((url) =>
url.resolve('/token').toString());
if (args == null) args = [];
- args = flatten(['lish', '--server', tokenEndpoint, args]);
+ args = ['lish', '--server', tokenEndpoint]..addAll(args);
return startPub(args: args, tokenEndpoint: tokenEndpoint);
}
@@ -311,15 +312,17 @@ Future<Map> getPubTestEnvironment([String tokenEndpoint]) async {
return environment;
}
-/// Starts a Pub process and returns a [ScheduledProcess] that supports
-/// interaction with that process.
+/// Starts a Pub process and returns a [PubProcess] that supports interaction
+/// with that process.
///
/// Any futures in [args] will be resolved before the process is started.
///
/// If [environment] is given, any keys in it will override the environment
/// variables passed to the spawned process.
-ScheduledProcess startPub({List args, Future<String> tokenEndpoint,
+PubProcess startPub({List args, Future<String> tokenEndpoint,
Map<String, String> environment}) {
+ args ??= [];
+
schedule(() {
ensureDir(_pathInSandbox(appPath));
}, "ensuring $appPath exists");
@@ -342,7 +345,7 @@ ScheduledProcess startPub({List args, Future<String> tokenEndpoint,
var pubPath = p.absolute(p.join(pubRoot, 'bin/pub.dart'));
if (fileExists('$pubPath.snapshot')) pubPath += '.snapshot';
- var dartArgs = [
+ var dartArgs = <dynamic>[
'--package-root=${p.toUri(p.absolute(p.fromUri(Platform.packageRoot)))}',
pubPath,
'--verbose'
@@ -381,14 +384,15 @@ class PubProcess extends ScheduledProcess {
Stream<Pair<log.Level, String>> _logStream() {
if (_log == null) {
- _log = mergeStreams(
+ _log = StreamGroup.merge([
_outputToLog(super.stdoutStream(), log.Level.MESSAGE),
- _outputToLog(super.stderrStream(), log.Level.ERROR));
+ _outputToLog(super.stderrStream(), log.Level.ERROR)
+ ]);
}
- var pair = tee(_log);
- _log = pair.first;
- return pair.last;
+ var logs = StreamSplitter.splitFrom(_log);
+ _log = logs.first;
+ return logs.last;
}
final _logLineRegExp = new RegExp(r"^([A-Z ]{4})[:|] (.*)$");
@@ -422,9 +426,9 @@ class PubProcess extends ScheduledProcess {
});
}
- var pair = tee(_stdout);
- _stdout = pair.first;
- return pair.last;
+ var stdouts = StreamSplitter.splitFrom(_stdout);
+ _stdout = stdouts.first;
+ return stdouts.last;
}
Stream<String> stderrStream() {
@@ -438,9 +442,9 @@ class PubProcess extends ScheduledProcess {
});
}
- var pair = tee(_stderr);
- _stderr = pair.first;
- return pair.last;
+ var stderrs = StreamSplitter.splitFrom(_stderr);
+ _stderr = stderrs.first;
+ return stderrs.last;
}
/// A stream of log messages that are silent by default.
@@ -454,9 +458,9 @@ class PubProcess extends ScheduledProcess {
});
}
- var pair = tee(_silent);
- _silent = pair.first;
- return pair.last;
+ var silents = StreamSplitter.splitFrom(_silent);
+ _silent = silents.first;
+ return silents.last;
}
}
@@ -581,7 +585,7 @@ void useMockClient(MockClient client) {
/// Describes a map representing a library package with the given [name],
/// [version], and [dependencies].
Map packageMap(String name, String version, [Map dependencies]) {
- var package = {
+ var package = <String, dynamic>{
"name": name,
"version": version,
"author": "Natalie Weizenbaum <nweiz@google.com>",
@@ -663,7 +667,7 @@ void _validateOutputString(List<String> failures, String pipe,
expectedLines.removeLast();
}
- var results = [];
+ var results = <String>[];
var failed = false;
// Compare them line by line to see which ones match.
@@ -728,14 +732,11 @@ typedef Validator ValidatorCreator(Entrypoint entrypoint);
/// by that validator.
Future<Pair<List<String>, List<String>>> schedulePackageValidation(
ValidatorCreator fn) {
- return schedule(() {
+ return schedule/*<Future<Pair<List<String>, List<String>>>>*/(() async {
var cache = new SystemCache(rootDir: p.join(sandboxDir, cachePath));
- return new Future.sync(() {
- var validator = fn(new Entrypoint(p.join(sandboxDir, appPath), cache));
- return validator.validate().then((_) {
- return new Pair(validator.errors, validator.warnings);
- });
- });
+ var validator = fn(new Entrypoint(p.join(sandboxDir, appPath), cache));
+ await validator.validate();
+ return new Pair(validator.errors, validator.warnings);
}, "validating package");
}
« no previous file with comments | « test/pub_uploader_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698