| Index: sdk/lib/_internal/pub_generated/test/global/binstubs/utils.dart
|
| diff --git a/sdk/lib/_internal/pub_generated/test/global/binstubs/utils.dart b/sdk/lib/_internal/pub_generated/test/global/binstubs/utils.dart
|
| index e52a1ebdfcd0798cb3595d6317ae0aba7930ccaf..7e1a7ae98bc164ca116c76f7cc3486fcd67c8813 100644
|
| --- a/sdk/lib/_internal/pub_generated/test/global/binstubs/utils.dart
|
| +++ b/sdk/lib/_internal/pub_generated/test/global/binstubs/utils.dart
|
| @@ -2,12 +2,42 @@
|
| // 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:async';
|
| import 'dart:io';
|
|
|
| -/// Returns the name of the shell script for a binstub named [name].
|
| -///
|
| -/// Adds a ".bat" extension on Windows.
|
| -binStubName(String name) {
|
| - if (Platform.operatingSystem == "windows") return "$name.bat";
|
| - return name;
|
| +import 'package:path/path.dart' as p;
|
| +
|
| +import '../../test_pub.dart';
|
| +
|
| +/// The buildbots do not have the Dart SDK (containing "dart" and "pub") on
|
| +/// their PATH, so we need to spawn the binstub process with a PATH that
|
| +/// explicitly includes it.
|
| +Future<Map> getEnvironment() {
|
| + final completer0 = new Completer();
|
| + scheduleMicrotask(() {
|
| + try {
|
| + var binDir = p.dirname(Platform.executable);
|
| + join0(x0) {
|
| + var separator = x0;
|
| + var path = "${Platform.environment["PATH"]}${separator}${binDir}";
|
| + getPubTestEnvironment().then((x1) {
|
| + try {
|
| + var environment = x1;
|
| + environment["PATH"] = path;
|
| + completer0.complete(environment);
|
| + } catch (e0, s0) {
|
| + completer0.completeError(e0, s0);
|
| + }
|
| + }, onError: completer0.completeError);
|
| + }
|
| + if (Platform.operatingSystem == "windows") {
|
| + join0(";");
|
| + } else {
|
| + join0(":");
|
| + }
|
| + } catch (e, s) {
|
| + completer0.completeError(e, s);
|
| + }
|
| + });
|
| + return completer0.future;
|
| }
|
|
|