Files
Ben Konyi 1771c55238 [ DDS ] Split DevTools server tests into smaller pieces
Should resolve timeout issues, particularly around server connection
tests

Change-Id: Ic06d1179b09a17497e38de9aa19549f66ff79d2c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/240180
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com>
2022-04-04 22:07:21 +00:00

52 lines
1.4 KiB
Dart

// Copyright 2022 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:test/test.dart';
import 'utils/server_driver.dart';
late final DevToolsServerTestController testController;
void main() {
testController = DevToolsServerTestController();
setUp(() async {
await testController.setUp();
});
tearDown(() async {
await testController.tearDown();
});
test('can bind to next available port', () async {
final server1 = await DevToolsServerDriver.create(port: 8855);
try {
// Wait for the first server to start up and ensure it got the
// expected port.
final event1 = (await server1.stdout.firstWhere(
(map) => map!['event'] == 'server.started',
))!;
expect(event1['params']['port'], 8855);
// Now spawn another requesting the same port and ensure it got the next
// port number.
final server2 = await DevToolsServerDriver.create(
port: 8855,
tryPorts: 2,
);
try {
final event2 = (await server2.stdout.firstWhere(
(map) => map!['event'] == 'server.started',
))!;
expect(event2['params']['port'], 8856);
} finally {
server2.kill();
}
} finally {
server1.kill();
}
}, timeout: const Timeout.factor(10));
}