From b94e21b4390cd720d7cec05e22a732335a1e9cc9 Mon Sep 17 00:00:00 2001 From: Matan Lurey Date: Tue, 22 Apr 2025 12:50:01 -0700 Subject: [PATCH] Note when `--enable-vmservice` is required and skip otherwise. (#167579) Our CI system runs with `--enable-vmservice`, but the default (i.e. for `flutter test`) does not. Closes https://github.com/flutter/flutter/issues/136079. --- .../test/_requires_vm_service.dart | 17 +++++++++++++++++ .../integration_test/test/socket_fail_test.dart | 4 +++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 packages/integration_test/test/_requires_vm_service.dart diff --git a/packages/integration_test/test/_requires_vm_service.dart b/packages/integration_test/test/_requires_vm_service.dart new file mode 100644 index 00000000000..438e6d74c9d --- /dev/null +++ b/packages/integration_test/test/_requires_vm_service.dart @@ -0,0 +1,17 @@ +// 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:developer' as developer; + +import 'package:flutter_test/flutter_test.dart'; + +Future hasVmServiceEnabled() async { + final developer.ServiceProtocolInfo info = await developer.Service.getInfo(); + final bool result = info.serverUri != null; + if (!result) { + // ignore: avoid_print + print('Run test suite with --enable-vmservice to enable this test.'); + } + return result; +} diff --git a/packages/integration_test/test/socket_fail_test.dart b/packages/integration_test/test/socket_fail_test.dart index 5f46daa534c..0c29cea6b7e 100644 --- a/packages/integration_test/test/socket_fail_test.dart +++ b/packages/integration_test/test/socket_fail_test.dart @@ -7,6 +7,8 @@ import 'dart:io'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; +import '_requires_vm_service.dart'; + class SocketExceptionHttpClient extends Fake implements HttpClient { @override Future openUrl(String method, Uri url) { @@ -29,5 +31,5 @@ Future main() async { fail('Did not expect a socket exception.'); } expect(gotStateError, true); - }); + }, skip: !(await hasVmServiceEnabled())); // [intended] avoid local failures }