blob: 5e952a0a537570d1a321d1c57f9a103152d6c2e6 [file] [log] [blame]
// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
// for details. 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:io';
import 'package:dds/dds.dart';
import 'package:dds_service_extensions/dds_service_extensions.dart';
import 'package:test/test.dart';
import 'package:vm_service/vm_service_io.dart';
import 'common/test_helper.dart';
void main() {
late Process process;
late DartDevelopmentService dds;
setUp(() async {
process = await spawnDartProcess(
'get_cached_cpu_samples_script.dart',
);
});
tearDown(() async {
await dds.shutdown();
process.kill();
});
test(
'getAvailableCachedCpuSamples and getCachedCpuSamples are deprecated',
() async {
dds = await DartDevelopmentService.startDartDevelopmentService(
remoteVmServiceUri,
);
expect(dds.isRunning, true);
final service = await vmServiceConnectUri(dds.wsUri.toString());
// We have deprecated `getAvailableCachedCpuSamples`, so now it always
// returns an [AvailableCachedCpuSamples] object containing a single
// property named `cacheNames` with an empty array as its value.
final availableCachedCpuSamples =
// ignore: deprecated_member_use
await service.getAvailableCachedCpuSamples();
expect(availableCachedCpuSamples.cacheNames.length, 0);
// We have deprecated `getCachedCpuSamples_, so now it always returns a
// _CachedCpuSamples_ object containing properties with meaningless
// placeholder values.
final cachedCpuSamples =
// ignore: deprecated_member_use
await service.getCachedCpuSamples('fake', 'fake');
expect(cachedCpuSamples.userTag, '');
expect(cachedCpuSamples.samplePeriod, -1);
expect(cachedCpuSamples.maxStackDepth, -1);
expect(cachedCpuSamples.sampleCount, -1);
expect(cachedCpuSamples.timeOriginMicros, -1);
expect(cachedCpuSamples.timeExtentMicros, -1);
expect(cachedCpuSamples.pid, -1);
expect(cachedCpuSamples.functions!.length, 0);
expect(cachedCpuSamples.samples!.length, 0);
},
timeout: Timeout.none,
);
}