| Index: runtime/vm/debugger_api_impl_test.cc
|
| diff --git a/runtime/vm/debugger_api_impl_test.cc b/runtime/vm/debugger_api_impl_test.cc
|
| index fdfd2622989f8bdb96affda0c489752113a3c1ec..85faf110a56579d6e71b6260b397ad5a51fe80c3 100644
|
| --- a/runtime/vm/debugger_api_impl_test.cc
|
| +++ b/runtime/vm/debugger_api_impl_test.cc
|
| @@ -14,6 +14,7 @@ namespace dart {
|
| DECLARE_FLAG(bool, background_compilation);
|
| DECLARE_FLAG(int, optimization_counter_threshold);
|
| DECLARE_FLAG(bool, use_osr);
|
| +DECLARE_FLAG(bool, trace_shutdown);
|
|
|
| #ifndef PRODUCT
|
|
|
| @@ -1513,6 +1514,8 @@ static void InterruptIsolateRun(uword unused) {
|
|
|
|
|
| TEST_CASE(Debug_InterruptIsolate) {
|
| + bool saved_flag = FLAG_trace_shutdown;
|
| + FLAG_trace_shutdown = true;
|
| sync = new Monitor();
|
| Dart_SetIsolateEventHandler(&TestInterruptIsolate);
|
| EXPECT(interrupt_isolate_id == ILLEGAL_ISOLATE_ID);
|
| @@ -1522,6 +1525,7 @@ TEST_CASE(Debug_InterruptIsolate) {
|
|
|
| // Wait for the test isolate to be created.
|
| {
|
| + OS::PrintErr("Waiting for isolate to be created\n");
|
| MonitorLocker ml(sync);
|
| while (interrupt_isolate_id == ILLEGAL_ISOLATE_ID) {
|
| ml.Wait();
|
| @@ -1535,6 +1539,7 @@ TEST_CASE(Debug_InterruptIsolate) {
|
|
|
| // Wait for the test isolate to be interrupted.
|
| {
|
| + OS::PrintErr("Waiting for isolate to be interrupted\n");
|
| MonitorLocker ml(sync);
|
| while (!isolate_interrupted || !pause_event_handled) {
|
| ml.Wait();
|
| @@ -1545,12 +1550,15 @@ TEST_CASE(Debug_InterruptIsolate) {
|
|
|
| // Wait for the test isolate to shutdown.
|
| {
|
| + OS::PrintErr("Waiting for isolate to be shut down\n");
|
| MonitorLocker ml(sync);
|
| while (interrupt_isolate_id != ILLEGAL_ISOLATE_ID) {
|
| ml.Wait();
|
| }
|
| }
|
| EXPECT(interrupt_isolate_id == ILLEGAL_ISOLATE_ID);
|
| + OS::PrintErr("Complete\n");
|
| + FLAG_trace_shutdown = saved_flag;
|
| }
|
|
|
|
|
|
|