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 }