@@ -1073,39 +1073,6 @@ let c, r, res
10731073    @test  res ===  false 
10741074end 
10751075
1076- #  A pair of utility function for the REPL completions test to test PATH_cache
1077- #  dependent completions, which ordinarily happen asynchronously.
1078- #  Only to be used from the test suite
1079- function  test_only_arm_cache_refresh ()
1080-     @lock  REPL. REPLCompletions. PATH_cache_lock begin 
1081-         @assert  REPL. REPLCompletions. PATH_cache_condition ===  nothing 
1082- 
1083-         #  Arm a condition we can wait on
1084-         REPL. REPLCompletions. PATH_cache_condition =  Threads. Condition (REPL. REPLCompletions. PATH_cache_lock)
1085- 
1086-         #  Check if the previous update is still running - if so, wait for it to finish
1087-         while  REPL. REPLCompletions. PATH_cache_task != =  nothing 
1088-             @assert  ! istaskdone (REPL. REPLCompletions. PATH_cache_task)
1089-             wait (REPL. REPLCompletions. PATH_cache_condition)
1090-         end 
1091- 
1092-         #  force the next cache update to happen immediately
1093-         REPL. REPLCompletions. next_cache_update =  0 
1094-     end 
1095-     return  REPL. REPLCompletions. PATH_cache_condition
1096- end 
1097- 
1098- function  test_only_wait_cache_path_done ()
1099-     @lock  REPL. REPLCompletions. PATH_cache_lock begin 
1100-         @assert  REPL. REPLCompletions. PATH_cache_condition != =  nothing 
1101- 
1102-         while  REPL. REPLCompletions. next_cache_update ==  0. 
1103-             wait (REPL. REPLCompletions. PATH_cache_condition)
1104-         end 
1105-         REPL. REPLCompletions. PATH_cache_condition =  nothing 
1106-     end 
1107- end 
1108- 
11091076if  Sys. isunix ()
11101077let  s, c, r
11111078    # Assume that we can rely on the existence and accessibility of /tmp
@@ -1237,9 +1204,12 @@ let s, c, r
12371204                #  Files reachable by PATH are cached async when PATH is seen to have been changed by `complete_path`
12381205                #  so changes are unlikely to appear in the first complete. For testing purposes we can wait for
12391206                #  caching to finish
1240-                 test_only_arm_cache_refresh ()
1207+                 @lock  REPL. REPLCompletions. PATH_cache_lock begin 
1208+                     #  force the next cache update to happen immediately
1209+                     REPL. REPLCompletions. next_cache_update =  0 
1210+                 end 
12411211                c,r =  test_scomplete (s)
1242-                 test_only_wait_cache_path_done () 
1212+                 timedwait (() -> REPL . REPLCompletions . next_cache_update  !=   0 ,  5 )  #  wait for caching to complete 
12431213                c,r =  test_scomplete (s)
12441214                @test  " tmp-executable" in  c
12451215                @test  r ==  1 : 9 
@@ -1268,9 +1238,12 @@ let s, c, r
12681238
12691239            withenv (" PATH" =>  string (tempdir (), " :" do 
12701240                s =  string (" repl-completio" 
1271-                 test_only_arm_cache_refresh ()
1241+                 @lock  REPL. REPLCompletions. PATH_cache_lock begin 
1242+                     #  force the next cache update to happen immediately
1243+                     REPL. REPLCompletions. next_cache_update =  0 
1244+                 end 
12721245                c,r =  test_scomplete (s)
1273-                 test_only_wait_cache_path_done () 
1246+                 timedwait (() -> REPL . REPLCompletions . next_cache_update  !=   0 ,  5 )  #  wait for caching to complete 
12741247                c,r =  test_scomplete (s)
12751248                @test  [" repl-completion" ==  c
12761249                @test  s[r] ==  " repl-completio" 
0 commit comments