Reverting my .pub-cache change to figure out why it's still failing. (#13355)
* Revert "Add tests." This reverts commit 31bad961ff2220a2708917ff8f748fed7efa9b51. * Revert "Use .pub-cache from Flutter root, if it exists. (#13248)" This reverts commit 72d6bcc3f7555c5a242f46cb09484f6c12e86f39.
This commit is contained in:
parent
3174443e0e
commit
c89cf6ccc6
1
.gitignore
vendored
1
.gitignore
vendored
@ -32,7 +32,6 @@
|
|||||||
**/doc/api/
|
**/doc/api/
|
||||||
.flutter-plugins
|
.flutter-plugins
|
||||||
.packages
|
.packages
|
||||||
.pub-cache/
|
|
||||||
.pub/
|
.pub/
|
||||||
build/
|
build/
|
||||||
flutter_*.png
|
flutter_*.png
|
||||||
|
63
bin/flutter
63
bin/flutter
@ -16,7 +16,7 @@ set -e
|
|||||||
|
|
||||||
function follow_links() {
|
function follow_links() {
|
||||||
cd -P "${1%/*}"
|
cd -P "${1%/*}"
|
||||||
local file="$PWD/${1##*/}"
|
file="$PWD/${1##*/}"
|
||||||
while [ -h "$file" ]; do
|
while [ -h "$file" ]; do
|
||||||
# On Mac OS, readlink -f doesn't work.
|
# On Mac OS, readlink -f doesn't work.
|
||||||
cd -P "${file%/*}"
|
cd -P "${file%/*}"
|
||||||
@ -33,39 +33,6 @@ function path_uri() {
|
|||||||
echo "$1" | sed -E -e "s,^/+,/,"
|
echo "$1" | sed -E -e "s,^/+,/,"
|
||||||
}
|
}
|
||||||
|
|
||||||
function upgrade_flutter () {
|
|
||||||
if hash flock 2>/dev/null; then
|
|
||||||
flock 3 # ensures that we don't simultaneously update Dart in multiple parallel instances
|
|
||||||
# some platforms (e.g. Mac) don't have flock or any reliable alternative
|
|
||||||
fi
|
|
||||||
|
|
||||||
local revision=`(cd "$FLUTTER_ROOT"; git rev-parse HEAD)`
|
|
||||||
if [ ! -f "$SNAPSHOT_PATH" ] || [ ! -s "$STAMP_PATH" ] || [ `cat "$STAMP_PATH"` != "$revision" ] || [ "$FLUTTER_TOOLS_DIR/pubspec.yaml" -nt "$FLUTTER_TOOLS_DIR/pubspec.lock" ]; then
|
|
||||||
mkdir -p "$FLUTTER_ROOT/bin/cache"
|
|
||||||
touch "$FLUTTER_ROOT/bin/cache/.dartignore"
|
|
||||||
"$FLUTTER_ROOT/bin/internal/update_dart_sdk.sh"
|
|
||||||
|
|
||||||
echo Building flutter tool...
|
|
||||||
if [ "$TRAVIS" == "true" ] || [ "$BOT" == "true" ] || [ "$CONTINUOUS_INTEGRATION" == "true" ] || [ "$CHROME_HEADLESS" == "1" ] || [ "$APPVEYOR" == "true" ] || [ "$CI" == "true" ]; then
|
|
||||||
PUB_ENVIRONMENT="$PUB_ENVIRONMENT:flutter_bot"
|
|
||||||
fi
|
|
||||||
export PUB_ENVIRONMENT="$PUB_ENVIRONMENT:flutter_install"
|
|
||||||
|
|
||||||
if [ -d "$FLUTTER_ROOT/.pub-cache" ]; then
|
|
||||||
export PUB_CACHE="${PUB_CACHE:-"$FLUTTER_ROOT/.pub-cache"}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
while : ; do
|
|
||||||
cd "$FLUTTER_TOOLS_DIR"
|
|
||||||
"$PUB" upgrade --verbosity=error --no-packages-dir && break
|
|
||||||
echo Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds...
|
|
||||||
sleep 5
|
|
||||||
done
|
|
||||||
"$DART" --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH"
|
|
||||||
echo "$revision" > "$STAMP_PATH"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
PROG_NAME="$(path_uri "$(follow_links "$BASH_SOURCE")")"
|
PROG_NAME="$(path_uri "$(follow_links "$BASH_SOURCE")")"
|
||||||
BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)"
|
BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)"
|
||||||
export FLUTTER_ROOT="$(cd "${BIN_DIR}/.." ; pwd -P)"
|
export FLUTTER_ROOT="$(cd "${BIN_DIR}/.." ; pwd -P)"
|
||||||
@ -103,7 +70,33 @@ FLUTTER_TOOL_ARGS="--assert-initializer $FLUTTER_TOOL_ARGS"
|
|||||||
# FLUTTER_TOOL_ARGS="--checked $FLUTTER_TOOL_ARGS"
|
# FLUTTER_TOOL_ARGS="--checked $FLUTTER_TOOL_ARGS"
|
||||||
# FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --observe=65432"
|
# FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --observe=65432"
|
||||||
|
|
||||||
(upgrade_flutter) 3< "$PROG_NAME"
|
(
|
||||||
|
if hash flock 2>/dev/null; then
|
||||||
|
flock 3 # ensures that we don't simultaneously update Dart in multiple parallel instances
|
||||||
|
# some platforms (e.g. Mac) don't have flock or any reliable alternative
|
||||||
|
fi
|
||||||
|
REVISION=`(cd "$FLUTTER_ROOT"; git rev-parse HEAD)`
|
||||||
|
if [ ! -f "$SNAPSHOT_PATH" ] || [ ! -s "$STAMP_PATH" ] || [ `cat "$STAMP_PATH"` != "$REVISION" ] || [ "$FLUTTER_TOOLS_DIR/pubspec.yaml" -nt "$FLUTTER_TOOLS_DIR/pubspec.lock" ]; then
|
||||||
|
mkdir -p "$FLUTTER_ROOT/bin/cache"
|
||||||
|
touch "$FLUTTER_ROOT/bin/cache/.dartignore"
|
||||||
|
"$FLUTTER_ROOT/bin/internal/update_dart_sdk.sh"
|
||||||
|
|
||||||
|
echo Building flutter tool...
|
||||||
|
LOCAL_PUB_ENV="$PUB_ENVIRONMENT"
|
||||||
|
if [ "$TRAVIS" == "true" ] || [ "$BOT" == "true" ] || [ "$CONTINUOUS_INTEGRATION" == "true" ] || [ "$CHROME_HEADLESS" == "1" ] || [ "$APPVEYOR" == "true" ] || [ "$CI" == "true" ]; then
|
||||||
|
LOCAL_PUB_ENV="$LOCAL_PUB_ENV:flutter_bot"
|
||||||
|
fi
|
||||||
|
LOCAL_PUB_ENV="$LOCAL_PUB_ENV:flutter_install"
|
||||||
|
while : ; do
|
||||||
|
cd "$FLUTTER_TOOLS_DIR"
|
||||||
|
PUB_ENVIRONMENT="$LOCAL_PUB_ENV" "$PUB" upgrade --verbosity=error --no-packages-dir && break
|
||||||
|
echo Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds...
|
||||||
|
sleep 5
|
||||||
|
done
|
||||||
|
"$DART" --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH"
|
||||||
|
echo $REVISION > "$STAMP_PATH"
|
||||||
|
fi
|
||||||
|
) 3< "$PROG_NAME"
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
"$DART" $FLUTTER_TOOL_ARGS "$SNAPSHOT_PATH" "$@"
|
"$DART" $FLUTTER_TOOL_ARGS "$SNAPSHOT_PATH" "$@"
|
||||||
|
@ -24,7 +24,6 @@ SET script_path=%flutter_tools_dir%\bin\flutter_tools.dart
|
|||||||
SET dart_sdk_path=%cache_dir%\dart-sdk
|
SET dart_sdk_path=%cache_dir%\dart-sdk
|
||||||
SET dart_stamp_path=%cache_dir%\dart-sdk.stamp
|
SET dart_stamp_path=%cache_dir%\dart-sdk.stamp
|
||||||
SET dart_version_path=%FLUTTER_ROOT%\bin\internal\dart-sdk.version
|
SET dart_version_path=%FLUTTER_ROOT%\bin\internal\dart-sdk.version
|
||||||
SET pub_cache_path=%FLUTTER_ROOT%\.pub-cache
|
|
||||||
|
|
||||||
SET dart=%dart_sdk_path%\bin\dart.exe
|
SET dart=%dart_sdk_path%\bin\dart.exe
|
||||||
SET pub=%dart_sdk_path%\bin\pub.bat
|
SET pub=%dart_sdk_path%\bin\pub.bat
|
||||||
@ -107,9 +106,6 @@ GOTO :after_subroutine
|
|||||||
SET PUB_ENVIRONMENT=%PUB_ENVIRONMENT%:flutter_bot
|
SET PUB_ENVIRONMENT=%PUB_ENVIRONMENT%:flutter_bot
|
||||||
:not_on_bot
|
:not_on_bot
|
||||||
SET PUB_ENVIRONMENT=%PUB_ENVIRONMENT%:flutter_install
|
SET PUB_ENVIRONMENT=%PUB_ENVIRONMENT%:flutter_install
|
||||||
IF "%PUB_CACHE%" == "" (
|
|
||||||
IF EXIST "%pub_cache_path%" SET PUB_CACHE=%pub_cache_path%
|
|
||||||
)
|
|
||||||
:retry_pub_upgrade
|
:retry_pub_upgrade
|
||||||
CALL "%pub%" upgrade --verbosity=error --no-packages-dir
|
CALL "%pub%" upgrade --verbosity=error --no-packages-dir
|
||||||
IF "%ERRORLEVEL%" NEQ "0" (
|
IF "%ERRORLEVEL%" NEQ "0" (
|
||||||
|
@ -3,29 +3,20 @@ set -e
|
|||||||
|
|
||||||
# If you want to run this script locally, make sure you run it from
|
# If you want to run this script locally, make sure you run it from
|
||||||
# the root of the flutter repository.
|
# the root of the flutter repository.
|
||||||
export FLUTTER_ROOT="$PWD"
|
|
||||||
|
|
||||||
# This is called from travis_upload.sh on Travis.
|
# This is called from travis_upload.sh on Travis.
|
||||||
|
|
||||||
# Make sure dart is installed
|
# Make sure dart is installed
|
||||||
bin/flutter --version
|
bin/flutter --version
|
||||||
|
|
||||||
# If the pub cache directory exists in the root, then use that.
|
|
||||||
FLUTTER_PUB_CACHE="$FLUTTER_ROOT/.pub-cache"
|
|
||||||
if [ -d "$FLUTTER_PUB_CACHE" ]; then
|
|
||||||
# This has to be exported, because pub interprets setting it
|
|
||||||
# to the empty string in the same way as setting it to ".".
|
|
||||||
export PUB_CACHE="${PUB_CACHE:-"$FLUTTER_PUB_CACHE"}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install dartdoc.
|
# Install dartdoc.
|
||||||
bin/cache/dart-sdk/bin/pub global activate dartdoc 0.14.1
|
bin/cache/dart-sdk/bin/pub global activate dartdoc 0.14.1
|
||||||
|
|
||||||
# This script generates a unified doc set, and creates
|
# This script generates a unified doc set, and creates
|
||||||
# a custom index.html, placing everything into dev/docs/doc.
|
# a custom index.html, placing everything into dev/docs/doc.
|
||||||
(cd dev/tools; ../../bin/cache/dart-sdk/bin/pub get)
|
(cd dev/tools; ../../bin/cache/dart-sdk/bin/pub get)
|
||||||
bin/cache/dart-sdk/bin/dart dev/tools/dartdoc.dart
|
FLUTTER_ROOT=$PWD bin/cache/dart-sdk/bin/dart dev/tools/dartdoc.dart
|
||||||
bin/cache/dart-sdk/bin/dart dev/tools/java_and_objc_doc.dart
|
FLUTTER_ROOT=$PWD bin/cache/dart-sdk/bin/dart dev/tools/java_and_objc_doc.dart
|
||||||
|
|
||||||
# Ensure google webmaster tools can verify our site.
|
# Ensure google webmaster tools can verify our site.
|
||||||
cp dev/docs/google2ed1af765c529f57.html dev/docs/doc
|
cp dev/docs/google2ed1af765c529f57.html dev/docs/doc
|
||||||
|
@ -14,7 +14,6 @@ final String flutterRoot = path.dirname(path.dirname(path.dirname(path.fromUri(P
|
|||||||
final String flutter = path.join(flutterRoot, 'bin', Platform.isWindows ? 'flutter.bat' : 'flutter');
|
final String flutter = path.join(flutterRoot, 'bin', Platform.isWindows ? 'flutter.bat' : 'flutter');
|
||||||
final String dart = path.join(flutterRoot, 'bin', 'cache', 'dart-sdk', 'bin', Platform.isWindows ? 'dart.exe' : 'dart');
|
final String dart = path.join(flutterRoot, 'bin', 'cache', 'dart-sdk', 'bin', Platform.isWindows ? 'dart.exe' : 'dart');
|
||||||
final String pub = path.join(flutterRoot, 'bin', 'cache', 'dart-sdk', 'bin', Platform.isWindows ? 'pub.bat' : 'pub');
|
final String pub = path.join(flutterRoot, 'bin', 'cache', 'dart-sdk', 'bin', Platform.isWindows ? 'pub.bat' : 'pub');
|
||||||
final String pubCache = path.join(flutterRoot, '.pub-cache');
|
|
||||||
final String flutterTestArgs = Platform.environment['FLUTTER_TEST_ARGS'];
|
final String flutterTestArgs = Platform.environment['FLUTTER_TEST_ARGS'];
|
||||||
final bool hasColor = stdout.supportsAnsiEscapes;
|
final bool hasColor = stdout.supportsAnsiEscapes;
|
||||||
|
|
||||||
@ -205,12 +204,8 @@ Future<Null> _pubRunTest(
|
|||||||
final List<String> args = <String>['run', 'test', '-j1', '-rexpanded'];
|
final List<String> args = <String>['run', 'test', '-j1', '-rexpanded'];
|
||||||
if (testPath != null)
|
if (testPath != null)
|
||||||
args.add(testPath);
|
args.add(testPath);
|
||||||
final Map<String, String> pubEnvironment = <String, String>{'DART_VM_OPTIONS': '--assert-initializer'};
|
|
||||||
if (new Directory(pubCache).existsSync()) {
|
|
||||||
pubEnvironment['PUB_CACHE'] = pubCache;
|
|
||||||
}
|
|
||||||
return _runCommand(pub, args, workingDirectory: workingDirectory,
|
return _runCommand(pub, args, workingDirectory: workingDirectory,
|
||||||
environment: pubEnvironment);
|
environment: <String, String>{'DART_VM_OPTIONS': '--assert-initializer'});
|
||||||
}
|
}
|
||||||
|
|
||||||
class EvalResult {
|
class EvalResult {
|
||||||
|
@ -65,25 +65,14 @@ dependencies:
|
|||||||
}
|
}
|
||||||
new File('dev/docs/lib/temp_doc.dart').writeAsStringSync(contents.toString());
|
new File('dev/docs/lib/temp_doc.dart').writeAsStringSync(contents.toString());
|
||||||
|
|
||||||
final String flutterRoot = Directory.current.path;
|
|
||||||
final Map<String, String> pubEnvironment = <String, String>{
|
|
||||||
'FLUTTER_ROOT': flutterRoot,
|
|
||||||
};
|
|
||||||
|
|
||||||
// If there's a .pub-cache dir in the flutter root, use that.
|
|
||||||
final String pubCachePath = '$flutterRoot/.pub-cache';
|
|
||||||
if (new Directory(pubCachePath).existsSync()) {
|
|
||||||
pubEnvironment['PUB_CACHE'] = pubCachePath;
|
|
||||||
}
|
|
||||||
|
|
||||||
final String pubExecutable = '$flutterRoot/bin/cache/dart-sdk/bin/pub';
|
|
||||||
|
|
||||||
// Run pub.
|
// Run pub.
|
||||||
Process process = await Process.start(
|
Process process = await Process.start(
|
||||||
pubExecutable,
|
'../../bin/cache/dart-sdk/bin/pub',
|
||||||
<String>['get'],
|
<String>['get'],
|
||||||
workingDirectory: 'dev/docs',
|
workingDirectory: 'dev/docs',
|
||||||
environment: pubEnvironment,
|
environment: <String, String>{
|
||||||
|
'FLUTTER_ROOT': Directory.current.path,
|
||||||
|
},
|
||||||
);
|
);
|
||||||
printStream(process.stdout, prefix: 'pub:stdout: ');
|
printStream(process.stdout, prefix: 'pub:stdout: ');
|
||||||
printStream(process.stderr, prefix: 'pub:stderr: ');
|
printStream(process.stderr, prefix: 'pub:stderr: ');
|
||||||
@ -95,10 +84,9 @@ dependencies:
|
|||||||
|
|
||||||
// Verify which version of dartdoc we're using.
|
// Verify which version of dartdoc we're using.
|
||||||
final ProcessResult result = Process.runSync(
|
final ProcessResult result = Process.runSync(
|
||||||
pubExecutable,
|
'../../bin/cache/dart-sdk/bin/pub',
|
||||||
<String>['global', 'run', 'dartdoc', '--version'],
|
<String>['global', 'run', 'dartdoc', '--version'],
|
||||||
workingDirectory: 'dev/docs',
|
workingDirectory: 'dev/docs',
|
||||||
environment: pubEnvironment,
|
|
||||||
);
|
);
|
||||||
print('\n${result.stdout}');
|
print('\n${result.stdout}');
|
||||||
|
|
||||||
@ -125,10 +113,9 @@ dependencies:
|
|||||||
}
|
}
|
||||||
|
|
||||||
process = await Process.start(
|
process = await Process.start(
|
||||||
pubExecutable,
|
'../../bin/cache/dart-sdk/bin/pub',
|
||||||
args,
|
args,
|
||||||
workingDirectory: 'dev/docs',
|
workingDirectory: 'dev/docs',
|
||||||
environment: pubEnvironment,
|
|
||||||
);
|
);
|
||||||
printStream(process.stdout, prefix: 'dartdoc:stdout: ',
|
printStream(process.stdout, prefix: 'dartdoc:stdout: ',
|
||||||
filter: kVerbose ? const <Pattern>[] : <Pattern>[
|
filter: kVerbose ? const <Pattern>[] : <Pattern>[
|
||||||
|
@ -148,26 +148,16 @@ List<String> _pubCommand(List<String> arguments) {
|
|||||||
///
|
///
|
||||||
/// [context] provides extra information to package server requests to
|
/// [context] provides extra information to package server requests to
|
||||||
/// understand usage. It must match the regular expression `[a-z][a-z_]*[a-z]`.
|
/// understand usage. It must match the regular expression `[a-z][a-z_]*[a-z]`.
|
||||||
Map<String, String> _createPubEnvironment(String context) {
|
Map<String, String> _createPubEnvironment(String context) => <String, String>{
|
||||||
final Map<String, String> environment = <String, String>{
|
'FLUTTER_ROOT': Cache.flutterRoot,
|
||||||
'FLUTTER_ROOT': Cache.flutterRoot,
|
_pubEnvironmentKey: _getPubEnvironmentValue(context),
|
||||||
_pubEnvironmentKey: _getPubEnvironmentValue(context),
|
};
|
||||||
};
|
|
||||||
final String pubCache = _getRootPubCacheIfAvailable();
|
|
||||||
if (pubCache != null) {
|
|
||||||
environment[_pubCacheEnvironmentKey] = pubCache;
|
|
||||||
}
|
|
||||||
return environment;
|
|
||||||
}
|
|
||||||
|
|
||||||
final RegExp _analyzerWarning = new RegExp(r'^! \w+ [^ ]+ from path \.\./\.\./bin/cache/dart-sdk/lib/\w+$');
|
final RegExp _analyzerWarning = new RegExp(r'^! \w+ [^ ]+ from path \.\./\.\./bin/cache/dart-sdk/lib/\w+$');
|
||||||
|
|
||||||
/// The console environment key used by the pub tool.
|
/// The console environment key used by the pub tool.
|
||||||
const String _pubEnvironmentKey = 'PUB_ENVIRONMENT';
|
const String _pubEnvironmentKey = 'PUB_ENVIRONMENT';
|
||||||
|
|
||||||
/// The console environment key used by the pub tool to find the cache directory.
|
|
||||||
const String _pubCacheEnvironmentKey = 'PUB_CACHE';
|
|
||||||
|
|
||||||
final RegExp _validContext = new RegExp('[a-z][a-z_]*[a-z]');
|
final RegExp _validContext = new RegExp('[a-z][a-z_]*[a-z]');
|
||||||
|
|
||||||
/// Returns the environment value that should be used when running pub.
|
/// Returns the environment value that should be used when running pub.
|
||||||
@ -199,21 +189,6 @@ String _getPubEnvironmentValue(String pubContext) {
|
|||||||
return values.join(':');
|
return values.join(':');
|
||||||
}
|
}
|
||||||
|
|
||||||
String _getRootPubCacheIfAvailable() {
|
|
||||||
if (platform.environment.containsKey(_pubCacheEnvironmentKey)) {
|
|
||||||
return platform.environment[_pubCacheEnvironmentKey];
|
|
||||||
}
|
|
||||||
|
|
||||||
final String cachePath = fs.path.join(Cache.flutterRoot, '.pub-cache');
|
|
||||||
if (fs.directory(cachePath).existsSync()) {
|
|
||||||
printTrace('Using $cachePath for the pub cache.');
|
|
||||||
return cachePath;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Use pub's default location by returning null.
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
String _filterOverrideWarnings(String message) {
|
String _filterOverrideWarnings(String message) {
|
||||||
// This function filters out these three messages:
|
// This function filters out these three messages:
|
||||||
// Warning: You are using these overridden dependencies:
|
// Warning: You are using these overridden dependencies:
|
||||||
|
@ -8,9 +8,7 @@ import 'package:file/file.dart';
|
|||||||
import 'package:file/memory.dart';
|
import 'package:file/memory.dart';
|
||||||
import 'package:flutter_tools/src/base/context.dart';
|
import 'package:flutter_tools/src/base/context.dart';
|
||||||
import 'package:flutter_tools/src/base/io.dart';
|
import 'package:flutter_tools/src/base/io.dart';
|
||||||
import 'package:flutter_tools/src/base/platform.dart';
|
|
||||||
import 'package:flutter_tools/src/dart/pub.dart';
|
import 'package:flutter_tools/src/dart/pub.dart';
|
||||||
|
|
||||||
import 'package:mockito/mockito.dart';
|
import 'package:mockito/mockito.dart';
|
||||||
import 'package:process/process.dart';
|
import 'package:process/process.dart';
|
||||||
import 'package:quiver/testing/async.dart';
|
import 'package:quiver/testing/async.dart';
|
||||||
@ -28,8 +26,8 @@ void main() {
|
|||||||
expect(processMock.lastPubEnvironmment, isNull);
|
expect(processMock.lastPubEnvironmment, isNull);
|
||||||
pubGet(context: 'flutter_tests', checkLastModified: false).then((Null value) {
|
pubGet(context: 'flutter_tests', checkLastModified: false).then((Null value) {
|
||||||
error = 'test completed unexpectedly';
|
error = 'test completed unexpectedly';
|
||||||
}, onError: (dynamic thrownError) {
|
}, onError: (dynamic error) {
|
||||||
error = 'test failed unexpectedly: $thrownError';
|
error = 'test failed unexpectedly';
|
||||||
});
|
});
|
||||||
expect(testLogger.statusText, '');
|
expect(testLogger.statusText, '');
|
||||||
time.elapse(const Duration(milliseconds: 500));
|
time.elapse(const Duration(milliseconds: 500));
|
||||||
@ -38,7 +36,6 @@ void main() {
|
|||||||
'pub get failed (69) -- attempting retry 1 in 1 second...\n'
|
'pub get failed (69) -- attempting retry 1 in 1 second...\n'
|
||||||
);
|
);
|
||||||
expect(processMock.lastPubEnvironmment, contains('flutter_cli:ctx_flutter_tests'));
|
expect(processMock.lastPubEnvironmment, contains('flutter_cli:ctx_flutter_tests'));
|
||||||
expect(processMock.lastPubCache, isNull);
|
|
||||||
time.elapse(const Duration(milliseconds: 500));
|
time.elapse(const Duration(milliseconds: 500));
|
||||||
expect(testLogger.statusText,
|
expect(testLogger.statusText,
|
||||||
'Running "flutter packages get" in /...\n'
|
'Running "flutter packages get" in /...\n'
|
||||||
@ -83,55 +80,6 @@ void main() {
|
|||||||
ProcessManager: () => new MockProcessManager(69),
|
ProcessManager: () => new MockProcessManager(69),
|
||||||
FileSystem: () => new MockFileSystem(),
|
FileSystem: () => new MockFileSystem(),
|
||||||
});
|
});
|
||||||
|
|
||||||
testUsingContext('pub cache in root is used', () async {
|
|
||||||
String error;
|
|
||||||
|
|
||||||
final MockProcessManager processMock = context.getVariable(ProcessManager);
|
|
||||||
|
|
||||||
new FakeAsync().run((FakeAsync time) {
|
|
||||||
MockDirectory.findCache = true;
|
|
||||||
expect(processMock.lastPubEnvironmment, isNull);
|
|
||||||
expect(processMock.lastPubCache, isNull);
|
|
||||||
pubGet(context: 'flutter_tests', checkLastModified: false).then((Null value) {
|
|
||||||
error = 'test completed unexpectedly';
|
|
||||||
}, onError: (dynamic thrownError) {
|
|
||||||
error = 'test failed unexpectedly: $thrownError';
|
|
||||||
});
|
|
||||||
time.elapse(const Duration(milliseconds: 500));
|
|
||||||
expect(processMock.lastPubCache, endsWith('flutter/.pub-cache'));
|
|
||||||
expect(error, isNull);
|
|
||||||
});
|
|
||||||
}, overrides: <Type, Generator>{
|
|
||||||
ProcessManager: () => new MockProcessManager(69),
|
|
||||||
FileSystem: () => new MockFileSystem(),
|
|
||||||
});
|
|
||||||
|
|
||||||
testUsingContext('pub cache in environment is used', () async {
|
|
||||||
String error;
|
|
||||||
|
|
||||||
final MockProcessManager processMock = context.getVariable(ProcessManager);
|
|
||||||
|
|
||||||
new FakeAsync().run((FakeAsync time) {
|
|
||||||
MockDirectory.findCache = false;
|
|
||||||
expect(processMock.lastPubEnvironmment, isNull);
|
|
||||||
expect(processMock.lastPubCache, isNull);
|
|
||||||
pubGet(context: 'flutter_tests', checkLastModified: false).then((Null value) {
|
|
||||||
error = 'test completed unexpectedly';
|
|
||||||
}, onError: (dynamic thrownError) {
|
|
||||||
error = 'test failed unexpectedly: $thrownError';
|
|
||||||
});
|
|
||||||
time.elapse(const Duration(milliseconds: 500));
|
|
||||||
expect(processMock.lastPubCache, equals('path/to/pub-cache'));
|
|
||||||
expect(error, isNull);
|
|
||||||
});
|
|
||||||
}, overrides: <Type, Generator>{
|
|
||||||
ProcessManager: () => new MockProcessManager(69),
|
|
||||||
FileSystem: () => new MockFileSystem(),
|
|
||||||
Platform: () => new FakePlatform(
|
|
||||||
environment: <String, String>{'PUB_CACHE': 'path/to/pub-cache'},
|
|
||||||
),
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef void StartCallback(List<dynamic> command);
|
typedef void StartCallback(List<dynamic> command);
|
||||||
@ -142,7 +90,6 @@ class MockProcessManager implements ProcessManager {
|
|||||||
final int fakeExitCode;
|
final int fakeExitCode;
|
||||||
|
|
||||||
String lastPubEnvironmment;
|
String lastPubEnvironmment;
|
||||||
String lastPubCache;
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<Process> start(
|
Future<Process> start(
|
||||||
@ -154,7 +101,6 @@ class MockProcessManager implements ProcessManager {
|
|||||||
ProcessStartMode mode: ProcessStartMode.NORMAL,
|
ProcessStartMode mode: ProcessStartMode.NORMAL,
|
||||||
}) {
|
}) {
|
||||||
lastPubEnvironmment = environment['PUB_ENVIRONMENT'];
|
lastPubEnvironmment = environment['PUB_ENVIRONMENT'];
|
||||||
lastPubCache = environment['PUB_CACHE'];
|
|
||||||
return new Future<Process>.value(new MockProcess(fakeExitCode));
|
return new Future<Process>.value(new MockProcess(fakeExitCode));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -213,11 +159,6 @@ class MockFileSystem extends MemoryFileSystem {
|
|||||||
File file(dynamic path) {
|
File file(dynamic path) {
|
||||||
return new MockFile();
|
return new MockFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
Directory directory(dynamic path) {
|
|
||||||
return new MockDirectory(path);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class MockFile implements File {
|
class MockFile implements File {
|
||||||
@ -236,19 +177,4 @@ class MockFile implements File {
|
|||||||
dynamic noSuchMethod(Invocation invocation) => null;
|
dynamic noSuchMethod(Invocation invocation) => null;
|
||||||
}
|
}
|
||||||
|
|
||||||
class MockDirectory implements Directory {
|
|
||||||
static bool findCache = false;
|
|
||||||
|
|
||||||
MockDirectory(this.path);
|
|
||||||
|
|
||||||
@override
|
|
||||||
final String path;
|
|
||||||
|
|
||||||
@override
|
|
||||||
bool existsSync() => findCache && path.endsWith('.pub-cache');
|
|
||||||
|
|
||||||
@override
|
|
||||||
dynamic noSuchMethod(Invocation invocation) => null;
|
|
||||||
}
|
|
||||||
|
|
||||||
class MockRandomAccessFile extends Mock implements RandomAccessFile {}
|
class MockRandomAccessFile extends Mock implements RandomAccessFile {}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user