Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import 'package:integration_test/integration_test.dart';

import 'src/maps_controller.dart' as maps_controller;
import 'src/maps_inspector.dart' as maps_inspector;
import 'src/shared.dart';
import 'src/tiles_inspector.dart' as tiles_inspector;

/// Recombine all test files in `src` into a single test app.
Expand All @@ -15,6 +16,12 @@ import 'src/tiles_inspector.dart' as tiles_inspector;
void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();

// TODO(bparrishMines): These tests are failing on web due to an error being
// thrown after completion. See https://github.com/flutter/flutter/issues/145149
if (isWeb) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know it'll be a lot more code, but I think it would be better to do something like:

// TODO(bparrishMines): Tests are failing on web due to an error being
// thrown after completion. See https://github.com/flutter/flutter/issues/145149
const bool _skipOnWeb = isWeb;

[ Add skip: _skipOnWeb to every test ]

That way they it'll be obvious both when looking at the test, and from the test run output, that web is skipping tests, vs them being silently skipped in an unusual place.

return;
}

maps_controller.runTests();
maps_inspector.runTests();
tiles_inspector.runTests();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -497,5 +497,8 @@ void main() {
expect(event, isA<InfoWindowTapEvent>());
expect((event as InfoWindowTapEvent).value, equals(const MarkerId('1')));
});
});
},
// TODO(bparrishMines): This is failing due to an error being thrown after
// completion. See https://github.com/flutter/flutter/issues/145149
skip: true);
}
2 changes: 0 additions & 2 deletions script/configs/exclude_integration_web.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
# Currently missing: https://github.com/flutter/flutter/issues/82211
- file_selector
# Waiting on https://github.com/flutter/flutter/issues/145149
- google_maps_flutter
Comment on lines -3 to -4
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yikes! is this also preventing google_maps_flutter_web from running on CI?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does:

============================================================
|| Not running for packages/google_maps_flutter/google_maps_flutter_web; excluded [@7:02]
============================================================

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe they were both failing the same way.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a "fix" for _web at least:

(The root cause seems to be a bug in the html renderer not letting us adjust the devicePixelRatio)

For the web, I just stripped the DPR overrides from the tests (for now), but in cross-platform tests the DPR overrides probably make more sense.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the only tests that need to be disabled are those that set the tester.view.devicePixelRatio AND are running with the html renderer (CHANNEL=stable). Canvaskit seems to not be affected.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would they pass if if we just wrapped the call to set devicePixelRatio in an if (!kIsWeb) (with a TODO to remove that condition later)?