From 94592acb714892384e69e44bcf79575565bc39e2 Mon Sep 17 00:00:00 2001 From: Greg Spencer Date: Sun, 13 Sep 2020 15:52:03 -0700 Subject: [PATCH] Creates a way to test private APIs in the Flutter package. (#65505) --- dev/bots/pubspec.yaml | 13 +- dev/bots/test.dart | 36 ++- .../image_loading/pubspec.yaml | 12 +- dev/manual_tests/pubspec.yaml | 30 +- dev/tools/pubspec.yaml | 12 +- packages/flutter/pubspec.yaml | 30 +- packages/flutter/test_private/README.md | 50 ++++ .../test_private/bin/test_private.dart | 259 ++++++++++++++++++ packages/flutter/test_private/pubspec.yaml | 23 ++ .../animated_icons_private_test.dart.tmpl} | 77 +++--- .../test/animated_icons_private_test.json | 27 ++ .../flutter/test_private/test/pubspec.yaml | 41 +++ packages/flutter_driver/pubspec.yaml | 26 +- packages/flutter_goldens/pubspec.yaml | 32 +-- packages/flutter_localizations/pubspec.yaml | 30 +- .../lib/src/commands/update_packages.dart | 2 +- packages/flutter_tools/pubspec.yaml | 8 +- .../pubspec.yaml | 12 +- 18 files changed, 495 insertions(+), 225 deletions(-) create mode 100644 packages/flutter/test_private/README.md create mode 100644 packages/flutter/test_private/bin/test_private.dart create mode 100644 packages/flutter/test_private/pubspec.yaml rename packages/flutter/{test/material/animated_icons_private_test.dart => test_private/test/animated_icons_private_test.dart.tmpl} (89%) create mode 100644 packages/flutter/test_private/test/animated_icons_private_test.json create mode 100644 packages/flutter/test_private/test/pubspec.yaml diff --git a/dev/bots/pubspec.yaml b/dev/bots/pubspec.yaml index a64ca1b74b..f530446495 100644 --- a/dev/bots/pubspec.yaml +++ b/dev/bots/pubspec.yaml @@ -73,16 +73,7 @@ dependencies: yaml: 2.2.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" dev_dependencies: - mockito: 4.1.2 + mockito: 4.1.1 test_api: 0.2.19-nullsafety - build: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_collection: 4.3.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_value: 7.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - code_builder: 3.4.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - dart_style: 1.3.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - fixnum: 0.10.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - quiver: 2.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_gen: 0.9.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - -# PUBSPEC CHECKSUM: 708f +# PUBSPEC CHECKSUM: 7ac4 diff --git a/dev/bots/test.dart b/dev/bots/test.dart index 3a160b7c70..fc6cc0b7ff 100644 --- a/dev/bots/test.dart +++ b/dev/bots/test.dart @@ -92,7 +92,6 @@ const List kWebTestFileKnownFailures = [ 'test/widgets/selectable_text_test.dart', 'test/widgets/color_filter_test.dart', 'test/widgets/editable_text_cursor_test.dart', - 'test/material/animated_icons_private_test.dart', 'test/material/data_table_test.dart', 'test/cupertino/nav_bar_transition_test.dart', 'test/cupertino/refresh_test.dart', @@ -578,6 +577,40 @@ Future _runFrameworkTests() async { } } + Future runPrivateTests() async { + final List args = [ + 'run', + '--enable-experiment=non-nullable', + '--sound-null-safety', + 'test_private.dart', + ]; + final Map pubEnvironment = { + 'FLUTTER_ROOT': flutterRoot, + }; + if (Directory(pubCache).existsSync()) { + pubEnvironment['PUB_CACHE'] = pubCache; + } + + // If an existing env variable exists append to it, but only if + // it doesn't appear to already include enable-asserts. + String toolsArgs = Platform.environment['FLUTTER_TOOL_ARGS'] ?? ''; + if (!toolsArgs.contains('--enable-asserts')) { + toolsArgs += ' --enable-asserts'; + } + pubEnvironment['FLUTTER_TOOL_ARGS'] = toolsArgs.trim(); + // The flutter_tool will originally have been snapshotted without asserts. + // We need to force it to be regenerated with them enabled. + deleteFile(path.join(flutterRoot, 'bin', 'cache', 'flutter_tools.snapshot')); + deleteFile(path.join(flutterRoot, 'bin', 'cache', 'flutter_tools.stamp')); + + await runCommand( + pub, + args, + workingDirectory: path.join(flutterRoot, 'packages', 'flutter', 'test_private'), + environment: pubEnvironment, + ); + } + Future runMisc() async { print('${green}Running package tests$reset for directories other than packages/flutter'); await _pubRunTest(path.join(flutterRoot, 'dev', 'bots'), tableData: bigqueryApi?.tabledata); @@ -602,6 +635,7 @@ Future _runFrameworkTests() async { options: ['--enable-vmservice'], tableData: bigqueryApi?.tabledata, ); + await runPrivateTests(); const String httpClientWarning = 'Warning: At least one test in this suite creates an HttpClient. When\n' 'running a test suite that uses TestWidgetsFlutterBinding, all HTTP\n' diff --git a/dev/integration_tests/image_loading/pubspec.yaml b/dev/integration_tests/image_loading/pubspec.yaml index 8009707f61..a5870648bd 100644 --- a/dev/integration_tests/image_loading/pubspec.yaml +++ b/dev/integration_tests/image_loading/pubspec.yaml @@ -5,27 +5,21 @@ dependencies: flutter: sdk: flutter test: 1.16.0-nullsafety.4 - mockito: 4.1.2 + mockito: 4.1.1 _fe_analyzer_shared: 7.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" analyzer: 0.39.17 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" args: 1.6.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" async: 2.5.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" boolean_selector: 2.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - build: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_collection: 4.3.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_value: 7.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" characters: 1.1.0-nullsafety.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" charcode: 1.2.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" cli_util: 0.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - code_builder: 3.4.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" collection: 1.15.0-nullsafety.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" convert: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" coverage: 0.14.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" crypto: 2.1.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" csslib: 0.16.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - dart_style: 1.3.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - fixnum: 0.10.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" glob: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" html: 0.14.0+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" http: 0.12.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -45,12 +39,10 @@ dependencies: pedantic: 1.10.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" pool: 1.5.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" pub_semver: 1.4.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - quiver: 2.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" shelf: 0.7.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" shelf_packages_handler: 2.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" shelf_static: 0.2.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" shelf_web_socket: 0.2.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_gen: 0.9.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" source_map_stack_trace: 2.1.0-nullsafety.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" source_maps: 0.10.10-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" source_span: 1.8.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -71,4 +63,4 @@ dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: c192 +# PUBSPEC CHECKSUM: 9ec7 diff --git a/dev/manual_tests/pubspec.yaml b/dev/manual_tests/pubspec.yaml index 865c6dea06..e4005b2abc 100644 --- a/dev/manual_tests/pubspec.yaml +++ b/dev/manual_tests/pubspec.yaml @@ -18,49 +18,23 @@ dev_dependencies: flutter_test: sdk: flutter - mockito: 4.1.2 + mockito: 4.1.1 - _fe_analyzer_shared: 7.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - analyzer: 0.39.17 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - args: 1.6.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" async: 2.5.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" boolean_selector: 2.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - build: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_collection: 4.3.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_value: 7.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" charcode: 1.2.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - cli_util: 0.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" clock: 1.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - code_builder: 3.4.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - convert: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - crypto: 2.1.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - csslib: 0.16.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - dart_style: 1.3.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" fake_async: 1.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - fixnum: 0.10.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - glob: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - html: 0.14.0+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - js: 0.6.3-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - logging: 0.11.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" matcher: 0.12.10-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - node_interop: 1.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - node_io: 1.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - package_config: 1.9.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" path: 1.8.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pedantic: 1.10.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pub_semver: 1.4.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - quiver: 2.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_gen: 0.9.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" source_span: 1.8.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" stack_trace: 1.10.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" stream_channel: 2.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" string_scanner: 1.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" term_glyph: 1.2.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.19-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - watcher: 0.9.7+15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - yaml: 2.2.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" flutter: uses-material-design: true -# PUBSPEC CHECKSUM: 337d +# PUBSPEC CHECKSUM: 9bdf diff --git a/dev/tools/pubspec.yaml b/dev/tools/pubspec.yaml index bf741216df..d379cbbf8e 100644 --- a/dev/tools/pubspec.yaml +++ b/dev/tools/pubspec.yaml @@ -30,21 +30,15 @@ dependencies: dev_dependencies: test: 1.16.0-nullsafety.4 test_api: 0.2.19-nullsafety - mockito: 4.1.2 + mockito: 4.1.1 _fe_analyzer_shared: 7.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" analyzer: 0.39.17 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" async: 2.5.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" boolean_selector: 2.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - build: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_collection: 4.3.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_value: 7.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" cli_util: 0.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - code_builder: 3.4.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" coverage: 0.14.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" csslib: 0.16.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - dart_style: 1.3.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - fixnum: 0.10.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" glob: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" html: 0.14.0+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" http_multi_server: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -59,12 +53,10 @@ dev_dependencies: package_config: 1.9.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" pool: 1.5.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" pub_semver: 1.4.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - quiver: 2.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" shelf: 0.7.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" shelf_packages_handler: 2.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" shelf_static: 0.2.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" shelf_web_socket: 0.2.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_gen: 0.9.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" source_map_stack_trace: 2.1.0-nullsafety.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" source_maps: 0.10.10-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" stack_trace: 1.10.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -76,4 +68,4 @@ dev_dependencies: webkit_inspection_protocol: 0.7.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" yaml: 2.2.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" -# PUBSPEC CHECKSUM: 6a99 +# PUBSPEC CHECKSUM: 11ce diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index 6296e7b73c..2a52f2c6fa 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -22,49 +22,23 @@ dev_dependencies: sdk: flutter flutter_goldens: sdk: flutter - mockito: 4.1.2 + mockito: 4.1.1 fake_async: 1.1.0-nullsafety - _fe_analyzer_shared: 7.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - analyzer: 0.39.17 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - args: 1.6.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" async: 2.5.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" boolean_selector: 2.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - build: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_collection: 4.3.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_value: 7.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" charcode: 1.2.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - cli_util: 0.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" clock: 1.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - code_builder: 3.4.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - convert: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - crypto: 2.1.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - csslib: 0.16.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - dart_style: 1.3.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" file: 6.0.0-nullsafety.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - fixnum: 0.10.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - glob: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - html: 0.14.0+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - js: 0.6.3-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - logging: 0.11.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" matcher: 0.12.10-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - node_interop: 1.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - node_io: 1.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - package_config: 1.9.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" path: 1.8.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pedantic: 1.10.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" platform: 3.0.0-nullsafety.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" process: 4.0.0-nullsafety.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pub_semver: 1.4.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - quiver: 2.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_gen: 0.9.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" source_span: 1.8.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" stack_trace: 1.10.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" stream_channel: 2.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" string_scanner: 1.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" term_glyph: 1.2.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.19-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - watcher: 0.9.7+15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - yaml: 2.2.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" -# PUBSPEC CHECKSUM: faf3 +# PUBSPEC CHECKSUM: 0256 diff --git a/packages/flutter/test_private/README.md b/packages/flutter/test_private/README.md new file mode 100644 index 0000000000..338f3a96ce --- /dev/null +++ b/packages/flutter/test_private/README.md @@ -0,0 +1,50 @@ +# Private Test Runner + +These are tests of private interfaces that can't easily happen in the regular +flutter tests due to problems with test and implementation interdependence. + +This gets around the problem of parts existing in more than one library by +making a copy of the code under test. + +The test script `bin/test_private.dart` tests private interfaces by copying the +code under test into a temporary workspace. The test is then free to make the +copied flutter source into a "part" of its own library by declaring a library +and using the `part` directive with a relative path to include the parts. This +way the test and the private interface are part of the same library, and the +private interface can be accessed by the test. + +The tests are run like so: + +```shell +pub run --enable-experiment=non-nullable test_private.dart +``` + +One limitation is that the copied private API needs to be separable enough to be +copied, so it needs to be in its own separate files. + +To add a private test, add a manifest file of the form (assuming +"my_private_test" is the name of the test) to the [test](test) subdir: + +```json +{ + "tests": [ + "my_private_test.dart" + ], + "pubspec": "my_private_test.pubspec.yaml", + "deps": [ + "test/flutter_test_alternative.dart", + "lib/src/subpackage/my_private_implementation.dart", + ] +} +``` + +It will copy the files in `deps` relative to the `packages/flutter` directory +into a similar relative path structure in the test temporary directory tree. It +will copy the `pubspec` file into `pubspec.yaml` in the test temporary +directory, and copy all of the `tests` into the top of the test temporary +directory tree. + +Each test gets its own temporary directory tree under a generated temporary +directory in the system temp dir that is removed at the end of the run, or under +the path given to `--temp-dir` on the command line. If a temporary directory is +given explicitly, it will not be deleted at the end of the run. diff --git a/packages/flutter/test_private/bin/test_private.dart b/packages/flutter/test_private/bin/test_private.dart new file mode 100644 index 0000000000..25a38d7b9d --- /dev/null +++ b/packages/flutter/test_private/bin/test_private.dart @@ -0,0 +1,259 @@ +// Copyright 2014 The Flutter Authors. 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:convert'; +import 'dart:io'; + +import 'package:process_runner/process_runner.dart'; +import 'package:path/path.dart' as path; + +// This program enables testing of private interfaces in the flutter package. +// +// See README.md for more information. + +final Directory flutterRoot = + Directory(path.fromUri(Platform.script)).absolute.parent.parent.parent.parent.parent; +final Directory flutterPackageDir = Directory(path.join(flutterRoot.path, 'packages', 'flutter')); +final Directory testPrivateDir = Directory(path.join(flutterPackageDir.path, 'test_private')); +final Directory privateTestsDir = Directory(path.join(testPrivateDir.path, 'test')); + +void _usage() { + print('Usage: test_private.dart [--help] [--temp-dir=]'); + print(''' + --help Print a usage message. + --temp-dir A location where temporary files may be written. Defaults to a + directory in the system temp folder. If a temp_dir is not + specified, then the default temp_dir will be created, used, and + removed automatically. + '''); +} + +Future main(List args) async { + // TODO(gspencergoog): Convert to using the args package once it has been + // converted to be non-nullable by default. + if (args.isNotEmpty && args[0] == '--help') { + _usage(); + exit(0); + } + + void errorExit(String message, {int exitCode = -1}) { + stderr.write('Error: $message\n\n'); + _usage(); + exit(exitCode); + } + + if (args.length > 2) { + errorExit('Too many arguments.'); + } + + String? tempDirArg; + if (args.isNotEmpty) { + if (args[0].startsWith('--temp-dir')) { + if (args[0].startsWith('--temp-dir=')) { + tempDirArg = args[0].replaceFirst('--temp-dir=', ''); + } else { + if (args.length < 2) { + errorExit('Not enough arguments to --temp-dir'); + } + tempDirArg = args[1]; + } + } else { + errorExit('Invalid arguments ${args.join(' ')}.'); + } + } + + Directory tempDir; + bool removeTempDir = false; + if (tempDirArg == null || tempDirArg.isEmpty) { + tempDir = Directory.systemTemp.createTempSync('flutter_package.'); + removeTempDir = true; + } else { + tempDir = Directory(tempDirArg); + if (!tempDir.existsSync()) { + errorExit("Temporary directory $tempDirArg doesn't exist."); + } + } + + bool success = true; + try { + await for (final TestCase testCase in getTestCases(tempDir)) { + stderr.writeln('Analyzing test case $testCase'); + if (!testCase.setUp()) { + stderr.writeln('Unable to set up $testCase'); + success = false; + break; + } + if (!await testCase.runAnalyzer()) { + stderr.writeln('Test case $testCase failed analysis.'); + success = false; + break; + } else { + stderr.writeln('Test case $testCase passed analysis.'); + } + stderr.writeln('Running test case $testCase'); + if (!await testCase.runTests()) { + stderr.writeln('Test case $testCase failed.'); + success = false; + break; + } else { + stderr.writeln('Test case $testCase succeeded.'); + } + } + } finally { + if (removeTempDir) { + tempDir.deleteSync(recursive: true); + } + } + exit(success ? 0 : 1); +} + +File makeAbsolute(File file, {Directory? workingDirectory}) { + workingDirectory ??= Directory.current; + return File(path.join(workingDirectory.absolute.path, file.path)); +} + +/// A test case representing a private test file that should be run. +/// +/// It is loaded from a JSON manifest file that contains a list of dependencies +/// to copy, a list of test files themselves, and a pubspec file. +/// +/// The dependencies are copied into the test area with the same relative path. +/// +/// The test files are copied to the root of the test area. +/// +/// The pubspec file is copied to the root of the test area too, but renamed to +/// "pubspec.yaml". +class TestCase { + TestCase.fromManifest(this.manifest, this.tmpdir) { + _json = jsonDecode(manifest.readAsStringSync()) as Map; + tmpdir.createSync(recursive: true); + assert(tmpdir.existsSync()); + } + + final File manifest; + final Directory tmpdir; + + Map _json = {}; + + Iterable _getList(String name) sync* { + for (final dynamic entry in _json[name] as List) { + final String name = entry as String; + yield File(path.joinAll(name.split('/'))); + } + } + + Iterable get dependencies => _getList('deps'); + Iterable get testDependencies => _getList('test_deps'); + Iterable get tests => _getList('tests'); + File get pubspec => File(_json['pubspec'] as String); + + bool setUp() { + // Copy the manifest tests and deps to the same relative path under the + // tmpdir. + for (final File file in dependencies) { + try { + final Directory destDir = Directory(path.join(tmpdir.absolute.path, file.parent.path)); + destDir.createSync(recursive: true); + final File absFile = makeAbsolute(file, workingDirectory: flutterPackageDir); + final String destination = path.join(tmpdir.absolute.path, file.path); + absFile.copySync(destination); + } on FileSystemException catch (e) { + stderr.writeln('Problem copying manifest dep file ${file.path} to ${tmpdir.path}: $e'); + return false; + } + } + for (final File file in testDependencies) { + try { + final Directory destDir = Directory(path.join(tmpdir.absolute.path, 'lib', file.parent.path)); + destDir.createSync(recursive: true); + final File absFile = makeAbsolute(file, workingDirectory: flutterPackageDir); + final String destination = path.join(tmpdir.absolute.path, 'lib', file.path); + absFile.copySync(destination); + } on FileSystemException catch (e) { + stderr.writeln('Problem copying manifest test_dep file ${file.path} to ${tmpdir.path}: $e'); + return false; + } + } + // Copy the test files into the the tmpdir's lib directory. + for (final File file in tests) { + String destination = tmpdir.path; + try { + final File absFile = makeAbsolute(file, workingDirectory: privateTestsDir); + // Copy the file, but without the ".tmpl" extension. + destination = path.join(tmpdir.absolute.path, 'lib', path.basenameWithoutExtension(file.path)); + absFile.copySync(destination); + } on FileSystemException catch (e) { + stderr.writeln('Problem copying test ${file.path} to $destination: $e'); + return false; + } + } + + // Copy the pubspec to the right place. + makeAbsolute(pubspec, workingDirectory: privateTestsDir) + .copySync(path.join(tmpdir.absolute.path, 'pubspec.yaml')); + + // Copy Flutter's analysis_options.yaml file to the root of the tmpdir. + makeAbsolute(File('analysis_options.yaml'), workingDirectory: flutterRoot) + .copySync(path.join(tmpdir.absolute.path, 'analysis_options.yaml')); + + return true; + } + + Future runAnalyzer() async { + final String flutter = path.join(flutterRoot.path, 'bin', 'flutter'); + final ProcessRunner runner = ProcessRunner( + defaultWorkingDirectory: tmpdir.absolute, + printOutputDefault: true, + ); + final ProcessRunnerResult result = await runner.runProcess( + [flutter, 'analyze', '--enable-experiment=non-nullable', '--current-package', '--pub', '--congratulate', '.'], + failOk: true, + ); + if (result.exitCode != 0) { + return false; + } + return true; + } + + Future runTests() async { + final ProcessRunner runner = ProcessRunner( + defaultWorkingDirectory: tmpdir.absolute, + printOutputDefault: true, + ); + final String flutter = path.join(flutterRoot.path, 'bin', 'flutter'); + for (final File test in tests) { + final String testPath = path.join(path.dirname(test.path), 'lib', path.basenameWithoutExtension(test.path)); + final ProcessRunnerResult result = await runner.runProcess( + [flutter, 'test', testPath], + failOk: true, + ); + if (result.exitCode != 0) { + return false; + } + } + return true; + } + + @override + String toString() { + return path.basenameWithoutExtension(manifest.path); + } +} + +Stream getTestCases(Directory tmpdir) async* { + final Directory testDir = Directory(path.join(testPrivateDir.path, 'test')); + await for (final FileSystemEntity entity in testDir.list(recursive: true)) { + if (path.split(entity.path).where((String element) => element.startsWith('.')).isNotEmpty) { + // Skip hidden files, directories, and the files inside them, like + // .dart_tool, which contains a (non-hidden) .json file. + continue; + } + if (entity is File && path.basename(entity.path).endsWith('_test.json')) { + print('Found manifest ${entity.path}'); + final Directory testTmpDir = + Directory(path.join(tmpdir.absolute.path, path.basenameWithoutExtension(entity.path))); + yield TestCase.fromManifest(entity, testTmpDir); + } + } +} diff --git a/packages/flutter/test_private/pubspec.yaml b/packages/flutter/test_private/pubspec.yaml new file mode 100644 index 0000000000..d471f2299e --- /dev/null +++ b/packages/flutter/test_private/pubspec.yaml @@ -0,0 +1,23 @@ +name: flutter_test_private +author: Flutter Authors +description: Tests private interfaces of the flutter + +environment: + # The pub client defaults to an <2.0.0 sdk constraint which we need to explicitly overwrite. + sdk: ">=2.10.0-0.0.dev <3.0.0" + +dependencies: + # To update these, use "flutter update-packages --force-upgrade". + meta: 1.3.0-nullsafety.2 + path: 1.8.0-nullsafety + process: 4.0.0-nullsafety.1 + process_runner: 4.0.0-nullsafety + + async: 2.5.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + collection: 1.15.0-nullsafety.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + file: 6.0.0-nullsafety.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + platform: 3.0.0-nullsafety.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + +dev_dependencies: + +# PUBSPEC CHECKSUM: a9ea diff --git a/packages/flutter/test/material/animated_icons_private_test.dart b/packages/flutter/test_private/test/animated_icons_private_test.dart.tmpl similarity index 89% rename from packages/flutter/test/material/animated_icons_private_test.dart rename to packages/flutter/test_private/test/animated_icons_private_test.dart.tmpl index 69de9e3403..21c18e6350 100644 --- a/packages/flutter/test/material/animated_icons_private_test.dart +++ b/packages/flutter/test_private/test/animated_icons_private_test.dart.tmpl @@ -12,40 +12,40 @@ library material_animated_icons; import 'dart:math' as math show pi; -import 'dart:ui' show lerpDouble; +import 'dart:ui' show lerpDouble, Offset; import 'dart:ui' as ui show Paint, Path, Canvas; import 'package:flutter/animation.dart'; import 'package:flutter/widgets.dart'; import 'package:meta/meta.dart'; -import '../flutter_test_alternative.dart'; +import 'test/flutter_test_alternative.dart'; -part 'package:flutter/src/material/animated_icons/animated_icons.dart'; -part 'package:flutter/src/material/animated_icons/animated_icons_data.dart'; +part 'src/material/animated_icons/animated_icons.dart'; +part 'src/material/animated_icons/animated_icons_data.dart'; // We have to import all the generated files in the material library to avoid // analysis errors (as the generated constants are all referenced in the // animated_icons library). -part 'package:flutter/src/material/animated_icons/data/add_event.g.dart'; -part 'package:flutter/src/material/animated_icons/data/arrow_menu.g.dart'; -part 'package:flutter/src/material/animated_icons/data/close_menu.g.dart'; -part 'package:flutter/src/material/animated_icons/data/ellipsis_search.g.dart'; -part 'package:flutter/src/material/animated_icons/data/event_add.g.dart'; -part 'package:flutter/src/material/animated_icons/data/home_menu.g.dart'; -part 'package:flutter/src/material/animated_icons/data/list_view.g.dart'; -part 'package:flutter/src/material/animated_icons/data/menu_arrow.g.dart'; -part 'package:flutter/src/material/animated_icons/data/menu_close.g.dart'; -part 'package:flutter/src/material/animated_icons/data/menu_home.g.dart'; -part 'package:flutter/src/material/animated_icons/data/pause_play.g.dart'; -part 'package:flutter/src/material/animated_icons/data/play_pause.g.dart'; -part 'package:flutter/src/material/animated_icons/data/search_ellipsis.g.dart'; -part 'package:flutter/src/material/animated_icons/data/view_list.g.dart'; +part 'src/material/animated_icons/data/add_event.g.dart'; +part 'src/material/animated_icons/data/arrow_menu.g.dart'; +part 'src/material/animated_icons/data/close_menu.g.dart'; +part 'src/material/animated_icons/data/ellipsis_search.g.dart'; +part 'src/material/animated_icons/data/event_add.g.dart'; +part 'src/material/animated_icons/data/home_menu.g.dart'; +part 'src/material/animated_icons/data/list_view.g.dart'; +part 'src/material/animated_icons/data/menu_arrow.g.dart'; +part 'src/material/animated_icons/data/menu_close.g.dart'; +part 'src/material/animated_icons/data/menu_home.g.dart'; +part 'src/material/animated_icons/data/pause_play.g.dart'; +part 'src/material/animated_icons/data/play_pause.g.dart'; +part 'src/material/animated_icons/data/search_ellipsis.g.dart'; +part 'src/material/animated_icons/data/view_list.g.dart'; -class MockCanvas extends Mock implements ui.Canvas {} -class MockPath extends Mock implements ui.Path {} +class MockCanvas extends Mock implements Canvas {} +class MockPath extends Mock implements Path {} -void main () { +void main() { group('Interpolate points', () { test('- single point', () { const List points = [ @@ -336,7 +336,7 @@ void main () { ); final _AnimatedIconPainter painter2 = _AnimatedIconPainter( - paths: const <_PathFrames> [], + paths: const <_PathFrames>[], progress: const AlwaysStoppedAnimation(0.0), color: const Color(0xFF0000FF), scale: 1.0, @@ -369,6 +369,7 @@ class MockCall { assert(match != null); return match.namedGroup('name'); } + final List positionalArguments; final bool acceptAny; @@ -418,36 +419,36 @@ class Mock { const _AnimatedIconData movingBar = _AnimatedIconData( Size(48.0, 48.0), - <_PathFrames> [ + <_PathFrames>[ _PathFrames( - opacities: [1.0, 0.2], - commands: <_PathCommand> [ + opacities: [1.0, 0.2], + commands: <_PathCommand>[ _PathMoveTo( - [ + [ Offset(0.0, 0.0), Offset(0.0, 38.0), ], ), _PathLineTo( - [ + [ Offset(48.0, 0.0), Offset(48.0, 38.0), ], ), _PathLineTo( - [ + [ Offset(48.0, 10.0), Offset(48.0, 48.0), ], ), _PathLineTo( - [ + [ Offset(0.0, 10.0), Offset(0.0, 48.0), ], ), _PathLineTo( - [ + [ Offset(0.0, 0.0), Offset(0.0, 38.0), ], @@ -460,36 +461,36 @@ const _AnimatedIconData movingBar = _AnimatedIconData( const _AnimatedIconData bow = _AnimatedIconData( Size(48.0, 48.0), - <_PathFrames> [ + <_PathFrames>[ _PathFrames( - opacities: [1.0, 1.0], - commands: <_PathCommand> [ + opacities: [1.0, 1.0], + commands: <_PathCommand>[ _PathMoveTo( - [ + [ Offset(0.0, 24.0), Offset(0.0, 24.0), Offset(0.0, 24.0), ], ), _PathCubicTo( - [ + [ Offset(16.0, 24.0), Offset(16.0, 10.0), Offset(16.0, 48.0), ], - [ + [ Offset(32.0, 24.0), Offset(32.0, 10.0), Offset(32.0, 48.0), ], - [ + [ Offset(48.0, 24.0), Offset(48.0, 24.0), Offset(48.0, 24.0), ], ), _PathLineTo( - [ + [ Offset(0.0, 24.0), Offset(0.0, 24.0), Offset(0.0, 24.0), diff --git a/packages/flutter/test_private/test/animated_icons_private_test.json b/packages/flutter/test_private/test/animated_icons_private_test.json new file mode 100644 index 0000000000..5f38bd0afb --- /dev/null +++ b/packages/flutter/test_private/test/animated_icons_private_test.json @@ -0,0 +1,27 @@ +{ + "tests": [ + "animated_icons_private_test.dart.tmpl" + ], + "pubspec": "pubspec.yaml", + "test_deps": [ + "test/flutter_test_alternative.dart" + ], + "deps": [ + "lib/src/material/animated_icons/animated_icons.dart", + "lib/src/material/animated_icons/animated_icons_data.dart", + "lib/src/material/animated_icons/data/add_event.g.dart", + "lib/src/material/animated_icons/data/arrow_menu.g.dart", + "lib/src/material/animated_icons/data/close_menu.g.dart", + "lib/src/material/animated_icons/data/ellipsis_search.g.dart", + "lib/src/material/animated_icons/data/event_add.g.dart", + "lib/src/material/animated_icons/data/home_menu.g.dart", + "lib/src/material/animated_icons/data/list_view.g.dart", + "lib/src/material/animated_icons/data/menu_arrow.g.dart", + "lib/src/material/animated_icons/data/menu_close.g.dart", + "lib/src/material/animated_icons/data/menu_home.g.dart", + "lib/src/material/animated_icons/data/pause_play.g.dart", + "lib/src/material/animated_icons/data/play_pause.g.dart", + "lib/src/material/animated_icons/data/search_ellipsis.g.dart", + "lib/src/material/animated_icons/data/view_list.g.dart" + ] +} \ No newline at end of file diff --git a/packages/flutter/test_private/test/pubspec.yaml b/packages/flutter/test_private/test/pubspec.yaml new file mode 100644 index 0000000000..2fb84dfa81 --- /dev/null +++ b/packages/flutter/test_private/test/pubspec.yaml @@ -0,0 +1,41 @@ +name: animated_icons_private_test +author: Flutter Authors + +environment: + # The pub client defaults to an <2.0.0 sdk constraint which we need to explicitly overwrite. + sdk: ">=2.10.0-0.0.dev <3.0.0" + +dependencies: + # To update these, use "flutter update-packages --force-upgrade". + characters: 1.1.0-nullsafety.2 + collection: 1.15.0-nullsafety.2 + meta: 1.3.0-nullsafety.2 + typed_data: 1.3.0-nullsafety.2 + vector_math: 2.1.0-nullsafety.2 + sky_engine: + sdk: flutter + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_goldens: + sdk: flutter + fake_async: 1.1.0-nullsafety + + async: 2.5.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + boolean_selector: 2.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + charcode: 1.2.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + clock: 1.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + file: 6.0.0-nullsafety.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + matcher: 0.12.10-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + path: 1.8.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + platform: 3.0.0-nullsafety.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + process: 4.0.0-nullsafety.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + source_span: 1.8.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + stack_trace: 1.10.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + stream_channel: 2.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + string_scanner: 1.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + term_glyph: 1.2.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + test_api: 0.2.19-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + +# PUBSPEC CHECKSUM: 0c10 diff --git a/packages/flutter_driver/pubspec.yaml b/packages/flutter_driver/pubspec.yaml index 6b39d3f760..6aa2ce215e 100644 --- a/packages/flutter_driver/pubspec.yaml +++ b/packages/flutter_driver/pubspec.yaml @@ -48,29 +48,7 @@ dependencies: vector_math: 2.1.0-nullsafety.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" dev_dependencies: - mockito: 4.1.2 + mockito: 4.1.1 quiver: 2.1.3 - _fe_analyzer_shared: 7.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - analyzer: 0.39.17 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - build: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_collection: 4.3.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_value: 7.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - cli_util: 0.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - code_builder: 3.4.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - csslib: 0.16.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - dart_style: 1.3.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - fixnum: 0.10.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - glob: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - html: 0.14.0+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - js: 0.6.3-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - logging: 0.11.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - node_interop: 1.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - node_io: 1.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - package_config: 1.9.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pedantic: 1.10.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_gen: 0.9.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - watcher: 0.9.7+15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - yaml: 2.2.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - -# PUBSPEC CHECKSUM: 3f4d +# PUBSPEC CHECKSUM: dd67 diff --git a/packages/flutter_goldens/pubspec.yaml b/packages/flutter_goldens/pubspec.yaml index 070c31feca..7abdec0dad 100644 --- a/packages/flutter_goldens/pubspec.yaml +++ b/packages/flutter_goldens/pubspec.yaml @@ -32,34 +32,6 @@ dependencies: vector_math: 2.1.0-nullsafety.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" dev_dependencies: - mockito: 4.1.2 + mockito: 4.1.1 - _fe_analyzer_shared: 7.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - analyzer: 0.39.17 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - args: 1.6.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - build: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_collection: 4.3.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_value: 7.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - cli_util: 0.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - code_builder: 3.4.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - convert: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - crypto: 2.1.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - csslib: 0.16.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - dart_style: 1.3.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - fixnum: 0.10.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - glob: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - html: 0.14.0+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - js: 0.6.3-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - logging: 0.11.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - node_interop: 1.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - node_io: 1.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - package_config: 1.9.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pedantic: 1.10.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pub_semver: 1.4.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - quiver: 2.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_gen: 0.9.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - typed_data: 1.3.0-nullsafety.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - watcher: 0.9.7+15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - yaml: 2.2.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - -# PUBSPEC CHECKSUM: 7aad +# PUBSPEC CHECKSUM: 74c8 diff --git a/packages/flutter_localizations/pubspec.yaml b/packages/flutter_localizations/pubspec.yaml index 3fbdecfacb..f8c11a4a9e 100644 --- a/packages/flutter_localizations/pubspec.yaml +++ b/packages/flutter_localizations/pubspec.yaml @@ -21,45 +21,19 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - mockito: 4.1.2 + mockito: 4.1.1 - _fe_analyzer_shared: 7.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - analyzer: 0.39.17 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - args: 1.6.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" async: 2.5.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" boolean_selector: 2.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - build: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_collection: 4.3.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_value: 7.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" charcode: 1.2.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - cli_util: 0.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" clock: 1.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - code_builder: 3.4.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - convert: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - crypto: 2.1.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - csslib: 0.16.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - dart_style: 1.3.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" fake_async: 1.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - fixnum: 0.10.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - glob: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - html: 0.14.0+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - js: 0.6.3-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - logging: 0.11.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" matcher: 0.12.10-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - node_interop: 1.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - node_io: 1.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - package_config: 1.9.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pedantic: 1.10.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pub_semver: 1.4.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - quiver: 2.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_gen: 0.9.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" source_span: 1.8.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" stack_trace: 1.10.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" stream_channel: 2.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" string_scanner: 1.1.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" term_glyph: 1.2.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.19-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - watcher: 0.9.7+15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - yaml: 2.2.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" -# PUBSPEC CHECKSUM: 10b5 +# PUBSPEC CHECKSUM: ac18 diff --git a/packages/flutter_tools/lib/src/commands/update_packages.dart b/packages/flutter_tools/lib/src/commands/update_packages.dart index 8dd6da9a5a..a913eb2c54 100644 --- a/packages/flutter_tools/lib/src/commands/update_packages.dart +++ b/packages/flutter_tools/lib/src/commands/update_packages.dart @@ -26,7 +26,7 @@ const Map _kManuallyPinnedDependencies = { // Therefore, we control the version of flutter_gallery_assets so that // existing tests do not fail when the package has a new version. 'flutter_gallery_assets': '^0.2.0', - 'mockito': '^4.1.0', // Prevent mockito from downgrading to 4.0.0 + 'mockito': '4.1.1', // Prevent mockito from upgrading to the source gen version. 'vm_service_client': '0.2.6+2', // Final version before being marked deprecated. 'video_player': '0.10.6', // 0.10.7 fails a gallery smoke test for toString. 'flutter_template_images': '1.0.1', // Must always exactly match flutter_tools template. diff --git a/packages/flutter_tools/pubspec.yaml b/packages/flutter_tools/pubspec.yaml index 1aa1c1957a..0e78512bf1 100644 --- a/packages/flutter_tools/pubspec.yaml +++ b/packages/flutter_tools/pubspec.yaml @@ -100,21 +100,17 @@ dependencies: dev_dependencies: collection: 1.15.0-nullsafety.2 - mockito: 4.1.2 + mockito: 4.1.1 file_testing: 2.1.0 test: 1.16.0-nullsafety.4 pubspec_parse: 0.1.5 - build: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" checked_yaml: 1.0.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - code_builder: 3.4.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - dart_style: 1.3.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" json_annotation: 3.0.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" node_preamble: 1.4.12 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_gen: 0.9.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" dartdoc: # Exclude this package from the hosted API docs. nodoc: true -# PUBSPEC CHECKSUM: 65cb +# PUBSPEC CHECKSUM: 7423 diff --git a/packages/fuchsia_remote_debug_protocol/pubspec.yaml b/packages/fuchsia_remote_debug_protocol/pubspec.yaml index 4e23280ca3..554d654cfc 100644 --- a/packages/fuchsia_remote_debug_protocol/pubspec.yaml +++ b/packages/fuchsia_remote_debug_protocol/pubspec.yaml @@ -46,20 +46,14 @@ dependencies: webdriver: 2.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" dev_dependencies: - mockito: 4.1.2 + mockito: 4.1.1 test: 1.16.0-nullsafety.4 _fe_analyzer_shared: 7.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" analyzer: 0.39.17 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - build: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_collection: 4.3.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - built_value: 7.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" cli_util: 0.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - code_builder: 3.4.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" coverage: 0.14.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" csslib: 0.16.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - dart_style: 1.3.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - fixnum: 0.10.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" glob: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" html: 0.14.0+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" http: 0.12.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -75,12 +69,10 @@ dev_dependencies: package_config: 1.9.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" pedantic: 1.10.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" pool: 1.5.0-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - quiver: 2.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" shelf: 0.7.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" shelf_packages_handler: 2.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" shelf_static: 0.2.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" shelf_web_socket: 0.2.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_gen: 0.9.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" source_map_stack_trace: 2.1.0-nullsafety.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" source_maps: 0.10.10-nullsafety # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.12-nullsafety.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -89,4 +81,4 @@ dev_dependencies: webkit_inspection_protocol: 0.7.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" yaml: 2.2.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" -# PUBSPEC CHECKSUM: c017 +# PUBSPEC CHECKSUM: 124c