Files
sdk/pkg/dds/test/devtools_server/dtd_test.dart
T
Kenzie Schmoll 408918d6f5 [dds] Start DTD from DevTools server if it is not already started.
Fixes https://github.com/dart-lang/sdk/issues/54937.

Tested: pkg/dartdev test for `dart devtools` command, and new `dtd_test.dart` in pkg/dds.
Change-Id: I530ba2fe4d5809082378b61c282ba7856974e21e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354460
Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Dan Chevalier <danchevalier@google.com>
2024-03-18 21:50:09 +00:00

47 lines
1.4 KiB
Dart

// Copyright 2024 The Chromium 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 'package:dds/devtools_server.dart';
import 'package:test/test.dart';
import 'utils/server_driver.dart';
void main() {
group('Dart Tooling Daemon connection', () {
test('does not start DTD when a DTD uri is passed as an argument',
() async {
final server = await DevToolsServerDriver.create(
additionalArgs: ['--${DevToolsServer.argDtdUri}=some_uri'],
);
try {
final dtdStartedEvent = await server.stdout
.firstWhere(
(map) => map!['event'] == 'server.dtdStarted',
orElse: () => null,
)
.timeout(
const Duration(seconds: 3),
onTimeout: () => null,
);
expect(dtdStartedEvent, isNull);
} finally {
server.kill();
}
});
test('starts DTD when no DTD uri is passed as an argument', () async {
final server = await DevToolsServerDriver.create();
try {
final dtdStartedEvent = await server.stdout.firstWhere(
(map) => map!['event'] == 'server.dtdStarted',
orElse: () => null,
);
expect(dtdStartedEvent, isNotNull);
} finally {
server.kill();
}
});
});
}