@@ -1192,10 +1192,16 @@ fn test_shutdown_request_with_restart() {
11921192 DummyArkFrontend :: wait_for_cleanup ( ) ;
11931193}
11941194
1195+ static SHUTDOWN_TESTS_ENABLED : bool = false ;
1196+
11951197// Can shut down Ark when running a nested debug console
11961198// https://github.com/posit-dev/positron/issues/6553
11971199#[ test]
11981200fn test_shutdown_request_browser ( ) {
1201+ if !SHUTDOWN_TESTS_ENABLED {
1202+ return ;
1203+ }
1204+
11991205 install_sigint_handler ( ) ;
12001206 let frontend = DummyArkFrontend :: lock ( ) ;
12011207
@@ -1217,6 +1223,9 @@ fn test_shutdown_request_browser() {
12171223 frontend. send_shutdown_request ( true ) ;
12181224 frontend. recv_iopub_busy ( ) ;
12191225
1226+ // There is a race condition between the Control thread and the Shell
1227+ // threads. Ideally we'd wait for both the Shutdown reply and the IOPub Idle
1228+ // messages concurrently instead of sequentially.
12201229 let reply = frontend. recv_control_shutdown_reply ( ) ;
12211230 assert_eq ! ( reply. status, Status :: Ok ) ;
12221231 assert_eq ! ( reply. restart, true ) ;
@@ -1228,6 +1237,10 @@ fn test_shutdown_request_browser() {
12281237
12291238#[ test]
12301239fn test_shutdown_request_while_busy ( ) {
1240+ if !SHUTDOWN_TESTS_ENABLED {
1241+ return ;
1242+ }
1243+
12311244 install_sigint_handler ( ) ;
12321245 let frontend = DummyArkFrontend :: lock ( ) ;
12331246
@@ -1245,6 +1258,7 @@ fn test_shutdown_request_while_busy() {
12451258 assert_eq ! ( reply. status, Status :: Ok ) ;
12461259 assert_eq ! ( reply. restart, false ) ;
12471260
1261+ // It seems this isn't emitted on older R versions
12481262 frontend. recv_iopub_stream_stderr ( "\n " ) ;
12491263 frontend. recv_iopub_idle ( ) ;
12501264
0 commit comments