@@ -347,14 +347,7 @@ func (s *WorkersTestSuite) TestLongRunningDecisionTask() {
347
347
)
348
348
worker .RegisterActivity (localActivitySleep )
349
349
350
- worker .Start ()
351
- // wait for test to complete
352
- select {
353
- case <- doneCh :
354
- break
355
- case <- time .After (time .Second * 4 ):
356
- }
357
- worker .Stop ()
350
+ startWorkerAndWait (s , worker , & doneCh )
358
351
359
352
s .True (isWorkflowCompleted )
360
353
s .Equal (2 , localActivityCalledCount )
@@ -532,9 +525,7 @@ func (s *WorkersTestSuite) TestQueryTask_WorkflowCacheEvicted() {
532
525
RegisterActivityOptions {Name : activityType },
533
526
)
534
527
535
- worker .Start ()
536
- <- doneCh
537
- worker .Stop ()
528
+ startWorkerAndWait (s , worker , & doneCh )
538
529
}
539
530
540
531
func (s * WorkersTestSuite ) TestMultipleLocalActivities () {
@@ -654,14 +645,7 @@ func (s *WorkersTestSuite) TestMultipleLocalActivities() {
654
645
)
655
646
worker .RegisterActivity (localActivitySleep )
656
647
657
- worker .Start ()
658
- // wait for test to complete
659
- select {
660
- case <- doneCh :
661
- break
662
- case <- time .After (time .Second * 5 ):
663
- }
664
- worker .Stop ()
648
+ startWorkerAndWait (s , worker , & doneCh )
665
649
666
650
s .True (isWorkflowCompleted )
667
651
s .Equal (2 , localActivityCalledCount )
@@ -771,14 +755,7 @@ func (s *WorkersTestSuite) TestLocallyDispatchedActivity() {
771
755
)
772
756
worker .RegisterActivityWithOptions (activitySleep , RegisterActivityOptions {Name : "activitySleep" })
773
757
774
- worker .Start ()
775
- // wait for test to complete
776
- select {
777
- case <- doneCh :
778
- break
779
- case <- time .After (1 * time .Second ):
780
- }
781
- worker .Stop ()
758
+ startWorkerAndWait (s , worker , & doneCh )
782
759
783
760
s .True (isActivityResponseCompleted )
784
761
s .Equal (1 , activityCalledCount )
@@ -889,6 +866,8 @@ func (s *WorkersTestSuite) TestMultipleLocallyDispatchedActivity() {
889
866
worker .Start ()
890
867
891
868
// wait for test to complete
869
+ // This test currently never completes, however after the timeout the asserts are true
870
+ // so the test passes, I believe this is an error.
892
871
select {
893
872
case <- doneCh :
894
873
break
@@ -900,3 +879,17 @@ func (s *WorkersTestSuite) TestMultipleLocallyDispatchedActivity() {
900
879
s .True (activityResponseCompletedCount > 0 )
901
880
s .True (activityCalledCount > 0 )
902
881
}
882
+
883
+ // wait for test to complete - timeout and fail after 10 seconds to not block execution of other tests
884
+ func startWorkerAndWait (s * WorkersTestSuite , worker * aggregatedWorker , doneCh * chan struct {}) {
885
+ s .T ().Helper ()
886
+ worker .Start ()
887
+ // wait for test to complete
888
+ select {
889
+ case <- * doneCh :
890
+ return
891
+ case <- time .After (10 * time .Second ):
892
+ s .Fail ("Test timed out" )
893
+ }
894
+ worker .Stop ()
895
+ }
0 commit comments