-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[stable][IO] - Use try/catch in lookupAddresses instead of Future error.
Applying patch from @aam for using try/catch in lookupAddresses instead of Future error. This cherry pick into the stable branch is to ensure we address the expedient issue in #53334 TEST=new test added. Bug: #53334 Change-Id: Ia5375cbd118d8d6437cf6869383f173cab48aa3f Cherry-pick: https://dart-review.googlesource.com/c/sdk/+/323684 Cherry-pick-request: #53450 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/324569 Reviewed-by: Alexander Aprelev <[email protected]> Commit-Queue: Siva Annamalai <[email protected]>
- Loading branch information
Showing
3 changed files
with
83 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
68 changes: 68 additions & 0 deletions
68
pkg/vm_service/test/break_on_unhandled_exception_test.dart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
// Copyright (c) 2023, 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. | ||
// VMOptions=--verbose_debug | ||
|
||
// Test checks to make sure we don't encounter any unhandled exceptions | ||
// in the URL lookup code. | ||
// (please see https://github.com/dart-lang/sdk/issues/53334 for more details). | ||
|
||
import 'dart:developer'; | ||
import 'dart:io'; | ||
|
||
import 'package:expect/expect.dart'; | ||
|
||
import 'common/service_test_common.dart'; | ||
import 'common/test_helper.dart'; | ||
|
||
// AUTOGENERATED START | ||
// | ||
// Update these constants by running: | ||
// | ||
// dart runtime/observatory/tests/service/update_line_numbers.dart <test.dart> | ||
// | ||
const int LINE_0 = 46; | ||
// AUTOGENERATED END | ||
const String file = "break_on_unhandled_exception_test.dart"; | ||
|
||
Future<int> testFunction() async { | ||
try { | ||
var client = new HttpClient(); | ||
final urlstr = 'https://www.bbc.co.uk/'; | ||
final uri = Uri.parse(urlstr); | ||
var response = await client.getUrl(uri); | ||
Expect.equals(urlstr, response.uri.toString()); | ||
return 0; | ||
} catch (e) { | ||
print(e.toString()); | ||
return 1; | ||
} | ||
} | ||
|
||
void testMain() async { | ||
debugger(); | ||
final ret = await testFunction(); | ||
Expect.equals(ret, 0); | ||
print("Done"); // LINE_0 | ||
} | ||
|
||
final tests = <IsolateTest>[ | ||
hasStoppedAtBreakpoint, | ||
|
||
// Add breakpoint | ||
setBreakpointAtUriAndLine(file, LINE_0), | ||
|
||
resumeIsolate, | ||
|
||
hasStoppedAtBreakpoint, | ||
stoppedAtLine(LINE_0), | ||
resumeIsolate, | ||
]; | ||
|
||
void main(args) => runIsolateTests( | ||
args, | ||
tests, | ||
'break_on_unhandled_exception_test.dart', | ||
pause_on_unhandled_exceptions: true, | ||
testeeConcurrent: testMain, | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters