@@ -47,7 +47,8 @@ public void testLeaderElectingController() throws ApiException, InterruptedExcep
4747 record .set (new LeaderElectionRecord ());
4848
4949 Semaphore apiClientSem = new Semaphore (0 );
50- Semaphore controllerSem = new Semaphore (0 );
50+ Semaphore controllerStartSem = new Semaphore (0 );
51+ Semaphore controllerStopSem = new Semaphore (0 );
5152
5253 when (mockLock .identity ()).thenReturn ("foo" );
5354 when (mockLock .get ())
@@ -74,15 +75,15 @@ public void testLeaderElectingController() throws ApiException, InterruptedExcep
7475
7576 doAnswer (
7677 invocationOnMock -> {
77- controllerSem .release ();
78+ controllerStartSem .release ();
7879 return null ;
7980 })
8081 .when (mockController )
8182 .run ();
8283
8384 doAnswer (
8485 invocationOnMock -> {
85- controllerSem .release ();
86+ controllerStopSem .release ();
8687 return null ;
8788 })
8889 .when (mockController )
@@ -101,12 +102,13 @@ public void testLeaderElectingController() throws ApiException, InterruptedExcep
101102 Thread controllerThread = new Thread (leaderElectingController ::run );
102103 controllerThread .start ();
103104 apiClientSem .acquire (2 );
105+ controllerStartSem .acquire (1 );
104106 controllerThread .interrupt ();
105107
106108 verify (mockLock , times (1 )).create (any ());
107109 verify (mockLock , atLeastOnce ()).update (any ());
108110
109- controllerSem .acquire (2 );
111+ controllerStopSem .acquire (1 );
110112 verify (mockController , times (1 )).run ();
111113 verify (mockController , times (1 )).shutdown ();
112114 }
0 commit comments