// 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'; import 'package:vm_service/vm_service.dart'; import 'package:vm_service/vm_service_io.dart'; // This test ensures that the engine starts the VM with the timeline streams // for "Dart", "Embedder", and "GC" recorded from startup. void main() { late VmService vmService; setUpAll(() async { final developer.ServiceProtocolInfo info = await developer.Service.getInfo(); if (info.serverUri == null) { fail('This test _must_ be run with --enable-vmservice.'); } vmService = await vmServiceConnectUri( 'ws://localhost:${info.serverUri!.port}${info.serverUri!.path}ws', ); }); tearDownAll(() async { await vmService.dispose(); }); test('Image cache tracing', () async { final TimelineFlags flags = await vmService.getVMTimelineFlags(); expect(flags.recordedStreams, containsAll(<String>[ 'Dart', 'Embedder', 'GC', ])); }, skip: isBrowser); // [intended] uses dart:isolate and io. }