flutter/dev/integration_tests/web_e2e_tests
Christopher Fujino 730d6d44b7
Don't pin package:macros (#148087)
Full context https://github.com/flutter/flutter/issues/148004

TL;DR

1. Because `package:macros` depends on `package:_macros` via [a Dart SDK
dependency](https://github.com/dart-lang/sdk/blob/main/pkg/macros/pubspec.yaml#L13);
and
2. `package:macros` exactly pins `package:_macros`; and
3. Each new version of `package:macros` will increment its exact pin of
`package:_macros`
([comment](https://github.com/flutter/flutter/issues/148004#issuecomment-2103099893));
and
4. The [flutter/flutter](https://github.com/flutter/flutter) repository
exactly pins the Dart SDK (via its exact pin on the
[flutter/engine](https://github.com/flutter/engine) repository

Therefore, the [flutter/flutter](https://github.com/flutter/flutter)
repository effectively pins both `package:macros` and `package:_macros`
already (as in, there exists only a single version of each that pub will
successfully be able to solve within the context of a particular Flutter
SDK).

Therefore, it is safe for
[flutter/flutter](https://github.com/flutter/flutter) repository to
*not* pin `package:macros`, which will allow engine -> framework rolls
that contain a new Dart SDK that contains a new `package:_macros`
version to land automatically, provided all tests pass.
2024-05-09 16:28:49 -07:00
..
lib [web] remove platform_messages_integration test (#147654) 2024-05-01 21:12:01 +00:00
test_driver [web] remove platform_messages_integration test (#147654) 2024-05-01 21:12:01 +00:00
web Flutter Web Bootstrapping Improvements (#144434) 2024-03-12 22:41:26 +00:00
pubspec.yaml Don't pin package:macros (#148087) 2024-05-09 16:28:49 -07:00
README.md Added missing code block language in docs (#147481) 2024-05-01 14:44:27 +00:00

Flutter Web integration tests

To run the tests in this package download the chromedriver matching the version of Chrome. To find out the version of your Chrome installation visit chrome://version.

Start chromedriver using the following command:

chromedriver --port=4444

An integration test is run using the flutter drive command. Some tests are written for a specific web renderer and/or specific build mode. Before running a test, check the _runWebLongRunningTests function defined in dev/bots/test.dart, and determine the right web renderer and the build mode you'd like to run the test in.

Here's an example of running an integration test:

flutter drive --target=test_driver/text_editing_integration.dart \
  -d web-server \
  --browser-name=chrome \
  --profile \
  --web-renderer=html

This example runs the test in profile mode (--profile) using the HTML renderer (--web-renderer=html).

More resources: