Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
2951363d
Unverified
Commit
2951363d
authored
Feb 26, 2021
by
Jonah Williams
Committed by
GitHub
Feb 26, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[flutter_tools] switch FakeCache to cache.test and NoopUsage to TestUsage (#76802)
parent
ae29dde3
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
192 additions
and
337 deletions
+192
-337
assemble_test.dart
...ter_tools/test/commands.shard/hermetic/assemble_test.dart
+9
-9
build_fuchsia_test.dart
...ools/test/commands.shard/hermetic/build_fuchsia_test.dart
+1
-0
build_linux_test.dart
..._tools/test/commands.shard/hermetic/build_linux_test.dart
+1
-0
build_macos_test.dart
..._tools/test/commands.shard/hermetic/build_macos_test.dart
+1
-0
build_windows_test.dart
...ools/test/commands.shard/hermetic/build_windows_test.dart
+1
-0
doctor_test.dart
...utter_tools/test/commands.shard/hermetic/doctor_test.dart
+1
-0
precache_test.dart
...ter_tools/test/commands.shard/hermetic/precache_test.dart
+1
-1
test_test.dart
...flutter_tools/test/commands.shard/hermetic/test_test.dart
+7
-7
create_test.dart
...tter_tools/test/commands.shard/permeable/create_test.dart
+1
-0
devices_test.dart
...ter_tools/test/commands.shard/permeable/devices_test.dart
+1
-0
android_device_discovery_test.dart
.../general.shard/android/android_device_discovery_test.dart
+1
-1
android_workflow_test.dart
...ols/test/general.shard/android/android_workflow_test.dart
+0
-1
doctor.dart
packages/flutter_tools/test/general.shard/doctor.dart
+1
-0
emulator_test.dart
packages/flutter_tools/test/general.shard/emulator_test.dart
+1
-0
fuchsia_workflow_test.dart
...ols/test/general.shard/fuchsia/fuchsia_workflow_test.dart
+1
-1
ios_device_logger_test.dart
..._tools/test/general.shard/ios/ios_device_logger_test.dart
+3
-3
ios_workflow_test.dart
...utter_tools/test/general.shard/ios/ios_workflow_test.dart
+1
-1
linux_device_test.dart
...ter_tools/test/general.shard/linux/linux_device_test.dart
+1
-1
linux_workflow_test.dart
...r_tools/test/general.shard/linux/linux_workflow_test.dart
+1
-1
macos_device_test.dart
...ter_tools/test/general.shard/macos/macos_device_test.dart
+1
-1
macos_workflow_test.dart
...r_tools/test/general.shard/macos/macos_workflow_test.dart
+1
-1
plugins_test.dart
packages/flutter_tools/test/general.shard/plugins_test.dart
+1
-0
resident_runner_test.dart
...lutter_tools/test/general.shard/resident_runner_test.dart
+1
-0
devices_test.dart
...es/flutter_tools/test/general.shard/web/devices_test.dart
+1
-1
workflow_test.dart
...s/flutter_tools/test/general.shard/web/workflow_test.dart
+1
-1
windows_device_test.dart
...tools/test/general.shard/windows/windows_device_test.dart
+1
-1
windows_workflow_test.dart
...ols/test/general.shard/windows/windows_workflow_test.dart
+1
-1
fakes.dart
packages/flutter_tools/test/src/fakes.dart
+148
-0
testbed.dart
packages/flutter_tools/test/src/testbed.dart
+2
-305
No files found.
packages/flutter_tools/test/commands.shard/hermetic/assemble_test.dart
View file @
2951363d
...
...
@@ -33,7 +33,7 @@ void main() {
expect
(
testLogger
.
traceText
,
contains
(
'build succeeded.'
));
},
overrides:
<
Type
,
Generator
>{
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
FileSystem:
()
=>
MemoryFileSystem
.
test
(),
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
});
...
...
@@ -48,7 +48,7 @@ void main() {
expect
(
testLogger
.
traceText
,
contains
(
'build succeeded.'
));
},
overrides:
<
Type
,
Generator
>{
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
FileSystem:
()
=>
MemoryFileSystem
.
test
(),
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
});
...
...
@@ -63,7 +63,7 @@ void main() {
expect
(
testLogger
.
traceText
,
contains
(
'build succeeded.'
));
},
overrides:
<
Type
,
Generator
>{
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
FileSystem:
()
=>
MemoryFileSystem
.
test
(),
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
});
...
...
@@ -75,7 +75,7 @@ void main() {
expect
(
commandRunner
.
run
(<
String
>[
'assemble'
,
'debug_macos_bundle_flutter_assets'
]),
throwsToolExit
());
},
overrides:
<
Type
,
Generator
>{
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
FileSystem:
()
=>
MemoryFileSystem
.
test
(),
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
});
...
...
@@ -88,7 +88,7 @@ void main() {
expect
(
commandRunner
.
run
(<
String
>[
'assemble'
,
'-o Output'
,
'undefined'
]),
throwsToolExit
());
},
overrides:
<
Type
,
Generator
>{
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
FileSystem:
()
=>
MemoryFileSystem
.
test
(),
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
});
...
...
@@ -105,7 +105,7 @@ void main() {
expect
(
testLogger
.
errorText
,
isNot
(
contains
(
'bar'
)));
expect
(
testLogger
.
errorText
,
isNot
(
contains
(
stackTrace
.
toString
())));
},
overrides:
<
Type
,
Generator
>{
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
FileSystem:
()
=>
MemoryFileSystem
.
test
(),
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
});
...
...
@@ -140,7 +140,7 @@ void main() {
)),
);
},
overrides:
<
Type
,
Generator
>{
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
FileSystem:
()
=>
MemoryFileSystem
.
test
(),
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
});
...
...
@@ -154,7 +154,7 @@ void main() {
await
commandRunner
.
run
(<
String
>[
'assemble'
,
'-o Output'
,
'debug_macos_bundle_flutter_assets'
]);
},
overrides:
<
Type
,
Generator
>{
Artifacts:
()
=>
Artifacts
.
test
(
localEngine:
'out/host_release'
),
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
FileSystem:
()
=>
MemoryFileSystem
.
test
(),
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
});
...
...
@@ -217,7 +217,7 @@ void main() {
expect
(
inputs
.
readAsStringSync
(),
contains
(
'fizz'
));
expect
(
inputs
.
lastModifiedSync
(),
isNot
(
theDistantPast
));
},
overrides:
<
Type
,
Generator
>{
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
FileSystem:
()
=>
MemoryFileSystem
.
test
(),
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
});
...
...
packages/flutter_tools/test/commands.shard/hermetic/build_fuchsia_test.dart
View file @
2951363d
...
...
@@ -22,6 +22,7 @@ import 'package:test/fake.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/fakes.dart'
;
import
'../../src/testbed.dart'
;
// Defined globally for fakes to use.
...
...
packages/flutter_tools/test/commands.shard/hermetic/build_linux_test.dart
View file @
2951363d
...
...
@@ -24,6 +24,7 @@ import 'package:test/fake.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/fakes.dart'
;
import
'../../src/testbed.dart'
;
const
String
_kTestFlutterRoot
=
'/flutter'
;
...
...
packages/flutter_tools/test/commands.shard/hermetic/build_macos_test.dart
View file @
2951363d
...
...
@@ -24,6 +24,7 @@ import 'package:process/process.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/fakes.dart'
;
import
'../../src/testbed.dart'
;
class
FakeXcodeProjectInterpreterWithProfile
extends
FakeXcodeProjectInterpreter
{
...
...
packages/flutter_tools/test/commands.shard/hermetic/build_windows_test.dart
View file @
2951363d
...
...
@@ -18,6 +18,7 @@ import 'package:process/process.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/fakes.dart'
;
import
'../../src/testbed.dart'
;
const
String
flutterRoot
=
r'C:\flutter'
;
...
...
packages/flutter_tools/test/commands.shard/hermetic/doctor_test.dart
View file @
2951363d
...
...
@@ -34,6 +34,7 @@ import 'package:fake_async/fake_async.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/fakes.dart'
;
import
'../../src/testbed.dart'
;
final
Generator
_kNoColorOutputPlatform
=
()
=>
FakePlatform
(
...
...
packages/flutter_tools/test/commands.shard/hermetic/precache_test.dart
View file @
2951363d
...
...
@@ -13,7 +13,7 @@ import 'package:mockito/mockito.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/
testbed
.dart'
;
import
'../../src/
fakes
.dart'
;
void
main
(
)
{
MockCache
cache
;
...
...
packages/flutter_tools/test/commands.shard/hermetic/test_test.dart
View file @
2951363d
...
...
@@ -100,7 +100,7 @@ void main() {
},
overrides:
<
Type
,
Generator
>{
FileSystem:
()
=>
fs
,
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
});
group
(
'shard-index and total-shards'
,
()
{
...
...
@@ -124,7 +124,7 @@ void main() {
},
overrides:
<
Type
,
Generator
>{
FileSystem:
()
=>
fs
,
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
});
testUsingContext
(
'without the params they not Piped to package:test'
,
...
...
@@ -145,7 +145,7 @@ void main() {
},
overrides:
<
Type
,
Generator
>{
FileSystem:
()
=>
fs
,
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
});
});
...
...
@@ -168,7 +168,7 @@ void main() {
},
overrides:
<
Type
,
Generator
>{
FileSystem:
()
=>
fs
,
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
});
testUsingContext
(
'Pipes start-paused to package:test'
,
...
...
@@ -193,7 +193,7 @@ void main() {
},
overrides:
<
Type
,
Generator
>{
FileSystem:
()
=>
fs
,
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
});
testUsingContext
(
'Pipes run-skipped to package:test'
,
...
...
@@ -218,7 +218,7 @@ void main() {
},
overrides:
<
Type
,
Generator
>{
FileSystem:
()
=>
fs
,
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
});
testUsingContext
(
'Pipes enable-observatory'
,
()
async
{
...
...
@@ -266,7 +266,7 @@ void main() {
},
overrides:
<
Type
,
Generator
>{
FileSystem:
()
=>
fs
,
ProcessManager:
()
=>
FakeProcessManager
.
any
(),
Cache:
()
=>
FakeCache
(
),
Cache:
()
=>
Cache
.
test
(
processManager:
FakeProcessManager
.
any
()
),
});
}
...
...
packages/flutter_tools/test/commands.shard/permeable/create_test.dart
View file @
2951363d
...
...
@@ -31,6 +31,7 @@ import 'package:pubspec_parse/pubspec_parse.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/fake_http_client.dart'
;
import
'../../src/fakes.dart'
;
import
'../../src/pubspec_schema.dart'
;
import
'../../src/testbed.dart'
;
...
...
packages/flutter_tools/test/commands.shard/permeable/devices_test.dart
View file @
2951363d
...
...
@@ -20,6 +20,7 @@ import 'package:mockito/mockito.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/fakes.dart'
;
import
'../../src/testbed.dart'
;
void
main
(
)
{
...
...
packages/flutter_tools/test/general.shard/android/android_device_discovery_test.dart
View file @
2951363d
...
...
@@ -17,7 +17,7 @@ import 'package:test/fake.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/fake_process_manager.dart'
;
import
'../../src/
testbed
.dart'
;
import
'../../src/
fakes
.dart'
;
void
main
(
)
{
AndroidWorkflow
androidWorkflow
;
...
...
packages/flutter_tools/test/general.shard/android/android_workflow_test.dart
View file @
2951363d
...
...
@@ -21,7 +21,6 @@ import '../../src/common.dart';
import
'../../src/context.dart'
;
import
'../../src/fakes.dart'
;
import
'../../src/mocks.dart'
show
MockAndroidSdk
,
MockProcessManager
;
import
'../../src/testbed.dart'
;
class
MockAndroidSdkVersion
extends
Mock
implements
AndroidSdkVersion
{}
...
...
packages/flutter_tools/test/general.shard/doctor.dart
View file @
2951363d
...
...
@@ -11,6 +11,7 @@ import 'package:flutter_tools/src/web/web_validator.dart';
import
'package:flutter_tools/src/windows/visual_studio_validator.dart'
;
import
'../src/common.dart'
;
import
'../src/fakes.dart'
;
import
'../src/testbed.dart'
;
void
main
(
)
{
...
...
packages/flutter_tools/test/general.shard/emulator_test.dart
View file @
2951363d
...
...
@@ -16,6 +16,7 @@ import 'package:mockito/mockito.dart';
import
'../src/common.dart'
;
import
'../src/context.dart'
;
import
'../src/fakes.dart'
;
import
'../src/mocks.dart'
;
import
'../src/testbed.dart'
;
...
...
packages/flutter_tools/test/general.shard/fuchsia/fuchsia_workflow_test.dart
View file @
2951363d
...
...
@@ -11,7 +11,7 @@ import 'package:flutter_tools/src/fuchsia/fuchsia_sdk.dart';
import
'package:flutter_tools/src/fuchsia/fuchsia_workflow.dart'
;
import
'../../src/common.dart'
;
import
'../../src/
testbed
.dart'
;
import
'../../src/
fakes
.dart'
;
void
main
(
)
{
final
FileSystem
fileSystem
=
MemoryFileSystem
.
test
();
...
...
packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart
View file @
2951363d
...
...
@@ -9,6 +9,7 @@ import 'dart:async';
import
'package:flutter_tools/src/artifacts.dart'
;
import
'package:flutter_tools/src/base/logger.dart'
;
import
'package:flutter_tools/src/build_info.dart'
;
import
'package:flutter_tools/src/cache.dart'
;
import
'package:flutter_tools/src/convert.dart'
;
import
'package:flutter_tools/src/device.dart'
;
import
'package:flutter_tools/src/ios/devices.dart'
;
...
...
@@ -20,18 +21,17 @@ import 'package:vm_service/vm_service.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/testbed.dart'
;
void
main
(
)
{
FakeProcessManager
processManager
;
Artifacts
artifacts
;
Fake
Cache
fakeCache
;
Cache
fakeCache
;
BufferLogger
logger
;
String
ideviceSyslogPath
;
setUp
(()
{
processManager
=
FakeProcessManager
.
list
(<
FakeCommand
>[]);
fakeCache
=
FakeCache
();
fakeCache
=
Cache
.
test
();
artifacts
=
Artifacts
.
test
();
logger
=
BufferLogger
.
test
();
ideviceSyslogPath
=
artifacts
.
getArtifactPath
(
Artifact
.
idevicesyslog
,
platform:
TargetPlatform
.
ios
);
...
...
packages/flutter_tools/test/general.shard/ios/ios_workflow_test.dart
View file @
2951363d
...
...
@@ -11,7 +11,7 @@ import 'package:flutter_tools/src/macos/xcode.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/
testbed
.dart'
;
import
'../../src/
fakes
.dart'
;
void
main
(
)
{
testWithoutContext
(
'iOS workflow is disabled if feature is disabled'
,
()
{
...
...
packages/flutter_tools/test/general.shard/linux/linux_device_test.dart
View file @
2951363d
...
...
@@ -18,7 +18,7 @@ import 'package:mockito/mockito.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/
testbed
.dart'
;
import
'../../src/
fakes
.dart'
;
final
FakePlatform
linux
=
FakePlatform
(
operatingSystem:
'linux'
,
...
...
packages/flutter_tools/test/general.shard/linux/linux_workflow_test.dart
View file @
2951363d
...
...
@@ -9,7 +9,7 @@ import 'package:flutter_tools/src/features.dart';
import
'package:flutter_tools/src/linux/linux_workflow.dart'
;
import
'../../src/common.dart'
;
import
'../../src/
testbed
.dart'
;
import
'../../src/
fakes
.dart'
;
void
main
(
)
{
final
Platform
linux
=
FakePlatform
(
...
...
packages/flutter_tools/test/general.shard/macos/macos_device_test.dart
View file @
2951363d
...
...
@@ -20,7 +20,7 @@ import 'package:mockito/mockito.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/
testbed
.dart'
;
import
'../../src/
fakes
.dart'
;
final
FakePlatform
macOS
=
FakePlatform
(
operatingSystem:
'macos'
,
...
...
packages/flutter_tools/test/general.shard/macos/macos_workflow_test.dart
View file @
2951363d
...
...
@@ -8,7 +8,7 @@ import 'package:flutter_tools/src/base/platform.dart';
import
'package:flutter_tools/src/macos/macos_workflow.dart'
;
import
'../../src/common.dart'
;
import
'../../src/
testbed
.dart'
;
import
'../../src/
fakes
.dart'
;
final
FakePlatform
macOS
=
FakePlatform
(
operatingSystem:
'macos'
,
...
...
packages/flutter_tools/test/general.shard/plugins_test.dart
View file @
2951363d
...
...
@@ -28,6 +28,7 @@ import 'package:yaml/yaml.dart';
import
'../src/common.dart'
;
import
'../src/context.dart'
;
import
'../src/fakes.dart'
;
import
'../src/pubspec_schema.dart'
;
import
'../src/testbed.dart'
;
...
...
packages/flutter_tools/test/general.shard/resident_runner_test.dart
View file @
2951363d
...
...
@@ -38,6 +38,7 @@ import 'package:mockito/mockito.dart';
import
'../src/common.dart'
;
import
'../src/context.dart'
;
import
'../src/fakes.dart'
;
import
'../src/testbed.dart'
;
final
vm_service
.
Isolate
fakeUnpausedIsolate
=
vm_service
.
Isolate
(
...
...
packages/flutter_tools/test/general.shard/web/devices_test.dart
View file @
2951363d
...
...
@@ -15,7 +15,7 @@ import 'package:mockito/mockito.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/
testbed
.dart'
;
import
'../../src/
fakes
.dart'
;
void
main
(
)
{
testWithoutContext
(
'No web devices listed if feature is disabled'
,
()
async
{
...
...
packages/flutter_tools/test/general.shard/web/workflow_test.dart
View file @
2951363d
...
...
@@ -8,7 +8,7 @@ import 'package:flutter_tools/src/base/platform.dart';
import
'package:flutter_tools/src/web/workflow.dart'
;
import
'../../src/common.dart'
;
import
'../../src/
testbed
.dart'
;
import
'../../src/
fakes
.dart'
;
void
main
(
)
{
testWithoutContext
(
'WebWorkflow applies on Linux'
,
()
{
...
...
packages/flutter_tools/test/general.shard/windows/windows_device_test.dart
View file @
2951363d
...
...
@@ -18,7 +18,7 @@ import 'package:test/fake.dart';
import
'../../src/common.dart'
;
import
'../../src/context.dart'
;
import
'../../src/
testbed
.dart'
;
import
'../../src/
fakes
.dart'
;
void
main
(
)
{
testWithoutContext
(
'WindowsDevice defaults'
,
()
async
{
...
...
packages/flutter_tools/test/general.shard/windows/windows_workflow_test.dart
View file @
2951363d
...
...
@@ -8,7 +8,7 @@ import 'package:flutter_tools/src/base/platform.dart';
import
'package:flutter_tools/src/windows/windows_workflow.dart'
;
import
'../../src/common.dart'
;
import
'../../src/
testbed
.dart'
;
import
'../../src/
fakes
.dart'
;
void
main
(
)
{
final
FakePlatform
windows
=
FakePlatform
(
operatingSystem:
'windows'
);
...
...
packages/flutter_tools/test/src/fakes.dart
View file @
2951363d
...
...
@@ -17,7 +17,9 @@ import 'package:flutter_tools/src/cache.dart';
import
'package:flutter_tools/src/convert.dart'
;
import
'package:flutter_tools/src/dart/pub.dart'
;
import
'package:flutter_tools/src/device.dart'
;
import
'package:flutter_tools/src/features.dart'
;
import
'package:flutter_tools/src/ios/plist_parser.dart'
;
import
'package:flutter_tools/src/version.dart'
;
import
'package:test/fake.dart'
;
/// A fake implementation of the [DeviceLogReader].
...
...
@@ -445,6 +447,152 @@ class FakePub extends Fake implements Pub {
})
async
{
}
}
class
FakeFlutterVersion
implements
FlutterVersion
{
@override
void
fetchTagsAndUpdate
()
{
}
@override
String
get
channel
=>
'master'
;
@override
Future
<
void
>
checkFlutterVersionFreshness
()
async
{
}
@override
bool
checkRevisionAncestry
({
String
tentativeDescendantRevision
,
String
tentativeAncestorRevision
})
{
throw
UnimplementedError
();
}
@override
String
get
dartSdkVersion
=>
'12'
;
@override
String
get
engineRevision
=>
'42.2'
;
@override
String
get
engineRevisionShort
=>
'42'
;
@override
Future
<
void
>
ensureVersionFile
()
async
{
}
@override
String
get
frameworkAge
=>
null
;
@override
String
get
frameworkCommitDate
=>
null
;
@override
String
get
frameworkDate
=>
null
;
@override
String
get
frameworkRevision
=>
null
;
@override
String
get
frameworkRevisionShort
=>
null
;
@override
String
get
frameworkVersion
=>
null
;
@override
GitTagVersion
get
gitTagVersion
=>
null
;
@override
String
getBranchName
({
bool
redactUnknownBranches
=
false
})
{
return
'master'
;
}
@override
String
getVersionString
({
bool
redactUnknownBranches
=
false
})
{
return
'v0.0.0'
;
}
@override
String
get
repositoryUrl
=>
null
;
@override
Map
<
String
,
Object
>
toJson
()
{
return
null
;
}
}
// A test implementation of [FeatureFlags] that allows enabling without reading
// config. If not otherwise specified, all values default to false.
class
TestFeatureFlags
implements
FeatureFlags
{
TestFeatureFlags
({
this
.
isLinuxEnabled
=
false
,
this
.
isMacOSEnabled
=
false
,
this
.
isWebEnabled
=
false
,
this
.
isWindowsEnabled
=
false
,
this
.
isSingleWidgetReloadEnabled
=
false
,
this
.
isAndroidEnabled
=
true
,
this
.
isIOSEnabled
=
true
,
this
.
isFuchsiaEnabled
=
false
,
this
.
isExperimentalInvalidationStrategyEnabled
=
false
,
});
@override
final
bool
isLinuxEnabled
;
@override
final
bool
isMacOSEnabled
;
@override
final
bool
isWebEnabled
;
@override
final
bool
isWindowsEnabled
;
@override
final
bool
isSingleWidgetReloadEnabled
;
@override
final
bool
isAndroidEnabled
;
@override
final
bool
isIOSEnabled
;
@override
final
bool
isFuchsiaEnabled
;
@override
final
bool
isExperimentalInvalidationStrategyEnabled
;
@override
bool
isEnabled
(
Feature
feature
)
{
switch
(
feature
)
{
case
flutterWebFeature:
return
isWebEnabled
;
case
flutterLinuxDesktopFeature:
return
isLinuxEnabled
;
case
flutterMacOSDesktopFeature:
return
isMacOSEnabled
;
case
flutterWindowsDesktopFeature:
return
isWindowsEnabled
;
case
singleWidgetReload:
return
isSingleWidgetReloadEnabled
;
case
flutterAndroidFeature:
return
isAndroidEnabled
;
case
flutterIOSFeature:
return
isIOSEnabled
;
case
flutterFuchsiaFeature:
return
isFuchsiaEnabled
;
case
experimentalInvalidationStrategy:
return
isExperimentalInvalidationStrategyEnabled
;
}
return
false
;
}
}
class
FakeStatusLogger
extends
DelegatingLogger
{
FakeStatusLogger
(
Logger
delegate
)
:
super
(
delegate
);
Status
status
;
@override
Status
startProgress
(
String
message
,
{
Duration
timeout
,
String
progressId
,
bool
multilineOutput
=
false
,
int
progressIndicatorPadding
=
kDefaultStatusPadding
})
{
return
status
;
}
}
class
TestBuildSystem
implements
BuildSystem
{
/// Create a [BuildSystem] instance that returns the provided results in order.
TestBuildSystem
.
list
(
this
.
_results
,
[
this
.
_onRun
])
...
...
packages/flutter_tools/test/src/testbed.dart
View file @
2951363d
...
...
@@ -19,7 +19,6 @@ import 'package:flutter_tools/src/base/terminal.dart';
import
'package:flutter_tools/src/cache.dart'
;
import
'package:flutter_tools/src/context_runner.dart'
;
import
'package:flutter_tools/src/dart/pub.dart'
;
import
'package:flutter_tools/src/features.dart'
;
import
'package:flutter_tools/src/reporting/reporting.dart'
;
import
'package:flutter_tools/src/version.dart'
;
import
'package:flutter_tools/src/globals.dart'
as
globals
;
...
...
@@ -29,6 +28,7 @@ import 'package:process/process.dart';
import
'common.dart'
as
tester
;
import
'context.dart'
;
import
'fake_http_client.dart'
;
import
'fakes.dart'
;
import
'throwing_pub.dart'
;
export
'package:flutter_tools/src/base/context.dart'
show
Generator
;
...
...
@@ -45,7 +45,7 @@ final Map<Type, Generator> _testbedDefaults = <Type, Generator>{
),
// Allows reading logs and prevents stdout.
OperatingSystemUtils:
()
=>
FakeOperatingSystemUtils
(),
OutputPreferences:
()
=>
OutputPreferences
.
test
(),
// configures BufferLogger to avoid color codes.
Usage:
()
=>
NoOp
Usage
(),
// prevent addition of analytics from burdening test mocks
Usage:
()
=>
Test
Usage
(),
// prevent addition of analytics from burdening test mocks
FlutterVersion:
()
=>
FakeFlutterVersion
(),
// prevent requirement to mock git for test runner.
Signals:
()
=>
FakeSignals
(),
// prevent registering actual signal handlers.
Pub:
()
=>
ThrowingPub
(),
// prevent accidental invocations of pub.
...
...
@@ -157,306 +157,3 @@ class Testbed {
},
createHttpClient:
(
SecurityContext
c
)
=>
FakeHttpClient
.
any
());
}
}
/// A no-op implementation of [Usage] for testing.
class
NoOpUsage
implements
Usage
{
@override
bool
enabled
=
false
;
@override
bool
suppressAnalytics
=
true
;
@override
String
get
clientId
=>
'test'
;
@override
Future
<
void
>
ensureAnalyticsSent
()
{
return
null
;
}
@override
Stream
<
Map
<
String
,
Object
>>
get
onSend
=>
const
Stream
<
Map
<
String
,
Object
>>.
empty
();
@override
void
printWelcome
()
{}
@override
void
sendCommand
(
String
command
,
{
Map
<
String
,
String
>
parameters
})
{}
@override
void
sendEvent
(
String
category
,
String
parameter
,
{
String
label
,
int
value
,
Map
<
String
,
String
>
parameters
,
})
{}
@override
void
sendException
(
dynamic
exception
)
{}
@override
void
sendTiming
(
String
category
,
String
variableName
,
Duration
duration
,
{
String
label
})
{}
}
class
FakeFlutterVersion
implements
FlutterVersion
{
@override
void
fetchTagsAndUpdate
()
{
}
@override
String
get
channel
=>
'master'
;
@override
Future
<
void
>
checkFlutterVersionFreshness
()
async
{
}
@override
bool
checkRevisionAncestry
({
String
tentativeDescendantRevision
,
String
tentativeAncestorRevision
})
{
throw
UnimplementedError
();
}
@override
String
get
dartSdkVersion
=>
'12'
;
@override
String
get
engineRevision
=>
'42.2'
;
@override
String
get
engineRevisionShort
=>
'42'
;
@override
Future
<
void
>
ensureVersionFile
()
async
{
}
@override
String
get
frameworkAge
=>
null
;
@override
String
get
frameworkCommitDate
=>
null
;
@override
String
get
frameworkDate
=>
null
;
@override
String
get
frameworkRevision
=>
null
;
@override
String
get
frameworkRevisionShort
=>
null
;
@override
String
get
frameworkVersion
=>
null
;
@override
GitTagVersion
get
gitTagVersion
=>
null
;
@override
String
getBranchName
({
bool
redactUnknownBranches
=
false
})
{
return
'master'
;
}
@override
String
getVersionString
({
bool
redactUnknownBranches
=
false
})
{
return
'v0.0.0'
;
}
@override
String
get
repositoryUrl
=>
null
;
@override
Map
<
String
,
Object
>
toJson
()
{
return
null
;
}
}
// A test implementation of [FeatureFlags] that allows enabling without reading
// config. If not otherwise specified, all values default to false.
class
TestFeatureFlags
implements
FeatureFlags
{
TestFeatureFlags
({
this
.
isLinuxEnabled
=
false
,
this
.
isMacOSEnabled
=
false
,
this
.
isWebEnabled
=
false
,
this
.
isWindowsEnabled
=
false
,
this
.
isSingleWidgetReloadEnabled
=
false
,
this
.
isAndroidEnabled
=
true
,
this
.
isIOSEnabled
=
true
,
this
.
isFuchsiaEnabled
=
false
,
this
.
isExperimentalInvalidationStrategyEnabled
=
false
,
});
@override
final
bool
isLinuxEnabled
;
@override
final
bool
isMacOSEnabled
;
@override
final
bool
isWebEnabled
;
@override
final
bool
isWindowsEnabled
;
@override
final
bool
isSingleWidgetReloadEnabled
;
@override
final
bool
isAndroidEnabled
;
@override
final
bool
isIOSEnabled
;
@override
final
bool
isFuchsiaEnabled
;
@override
final
bool
isExperimentalInvalidationStrategyEnabled
;
@override
bool
isEnabled
(
Feature
feature
)
{
switch
(
feature
)
{
case
flutterWebFeature:
return
isWebEnabled
;
case
flutterLinuxDesktopFeature:
return
isLinuxEnabled
;
case
flutterMacOSDesktopFeature:
return
isMacOSEnabled
;
case
flutterWindowsDesktopFeature:
return
isWindowsEnabled
;
case
singleWidgetReload:
return
isSingleWidgetReloadEnabled
;
case
flutterAndroidFeature:
return
isAndroidEnabled
;
case
flutterIOSFeature:
return
isIOSEnabled
;
case
flutterFuchsiaFeature:
return
isFuchsiaEnabled
;
case
experimentalInvalidationStrategy:
return
isExperimentalInvalidationStrategyEnabled
;
}
return
false
;
}
}
class
FakeStatusLogger
extends
DelegatingLogger
{
FakeStatusLogger
(
Logger
delegate
)
:
super
(
delegate
);
Status
status
;
@override
Status
startProgress
(
String
message
,
{
Duration
timeout
,
String
progressId
,
bool
multilineOutput
=
false
,
int
progressIndicatorPadding
=
kDefaultStatusPadding
})
{
return
status
;
}
}
/// An implementation of the Cache which does not download or require locking.
class
FakeCache
implements
Cache
{
@override
bool
includeAllPlatforms
;
@override
Set
<
String
>
platformOverrideArtifacts
;
@override
bool
useUnsignedMacBinaries
;
@override
Future
<
bool
>
areRemoteArtifactsAvailable
({
String
engineVersion
,
bool
includeAllPlatforms
=
true
})
async
{
return
true
;
}
@override
String
get
dartSdkVersion
=>
null
;
@override
String
get
storageBaseUrl
=>
null
;
@override
MapEntry
<
String
,
String
>
get
dyLdLibEntry
=>
const
MapEntry
<
String
,
String
>(
'DYLD_LIBRARY_PATH'
,
''
);
@override
String
get
engineRevision
=>
null
;
@override
Directory
getArtifactDirectory
(
String
name
)
{
return
globals
.
fs
.
currentDirectory
;
}
@override
Directory
getCacheArtifacts
()
{
return
globals
.
fs
.
currentDirectory
;
}
@override
Directory
getCacheDir
(
String
name
)
{
return
globals
.
fs
.
currentDirectory
;
}
@override
Directory
getDownloadDir
()
{
return
globals
.
fs
.
currentDirectory
;
}
@override
Directory
getRoot
()
{
return
globals
.
fs
.
currentDirectory
;
}
@override
String
getHostPlatformArchName
()
=>
'x64'
;
@override
File
getLicenseFile
()
{
return
globals
.
fs
.
currentDirectory
.
childFile
(
'LICENSE'
);
}
@override
File
getStampFileFor
(
String
artifactName
)
{
throw
UnsupportedError
(
'Not supported in the fake Cache'
);
}
@override
String
getStampFor
(
String
artifactName
)
{
throw
UnsupportedError
(
'Not supported in the fake Cache'
);
}
@override
String
getVersionFor
(
String
artifactName
)
{
throw
UnsupportedError
(
'Not supported in the fake Cache'
);
}
@override
Directory
getWebSdkDirectory
()
{
return
globals
.
fs
.
currentDirectory
;
}
@override
bool
isOlderThanToolsStamp
(
FileSystemEntity
entity
)
{
return
false
;
}
@override
Future
<
bool
>
isUpToDate
()
async
{
return
true
;
}
@override
void
setStampFor
(
String
artifactName
,
String
version
)
{
throw
UnsupportedError
(
'Not supported in the fake Cache'
);
}
@override
Future
<
void
>
updateAll
(
Set
<
DevelopmentArtifact
>
requiredArtifacts
)
async
{
}
@override
Future
<
bool
>
doesRemoteExist
(
String
message
,
Uri
url
)
async
{
return
true
;
}
@override
void
clearStampFiles
()
{
}
@override
void
checkLockAcquired
()
{
}
@override
Future
<
void
>
lock
()
async
{
}
@override
void
releaseLock
()
{
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment