File tree Expand file tree Collapse file tree 2 files changed +37
-3
lines changed Expand file tree Collapse file tree 2 files changed +37
-3
lines changed Original file line number Diff line number Diff line change @@ -70,7 +70,7 @@ def fill_queue(self):
70
70
self .queue .put (value )
71
71
except Exception as e :
72
72
self .queue .put (
73
- ValueError ("Unexpected exception while filling queue. %r" , e ))
73
+ ValueError (f "Unexpected exception while filling queue: { e } " ))
74
74
finally :
75
75
self .queue .put (None )
76
76
@@ -92,8 +92,8 @@ def __next__(self) -> Any:
92
92
thread .join ()
93
93
raise StopIteration
94
94
value = self .queue .get ()
95
- if isinstance (value , Exception ):
96
- raise value
95
+ if isinstance (value , Exception ):
96
+ raise value
97
97
else :
98
98
value = self ._process (next (self ._data ))
99
99
return value
Original file line number Diff line number Diff line change
1
+ import pytest
2
+ from labelbox .data .generator import PrefetchGenerator
3
+ from random import random
4
+
5
+
6
+ class ChildClassGenerator (PrefetchGenerator ):
7
+
8
+ def __init__ (self , examples , num_executors = 1 ):
9
+ super ().__init__ (data = examples , num_executors = num_executors )
10
+
11
+ def _process (self , value ):
12
+ num = random ()
13
+ if num < .2 :
14
+ raise ValueError ("Randomized value error" )
15
+ return value
16
+
17
+
18
+ amount = (i for i in range (50 ))
19
+
20
+
21
+ def test_single_thread_generator ():
22
+ generator = ChildClassGenerator (amount , num_executors = 1 )
23
+
24
+ with pytest .raises (ValueError ):
25
+ for _ in range (51 ):
26
+ next (generator )
27
+
28
+
29
+ def test_multi_thread_generator ():
30
+ generator = ChildClassGenerator (amount , num_executors = 4 )
31
+
32
+ with pytest .raises (ValueError ):
33
+ for _ in range (51 ):
34
+ next (generator )
You can’t perform that action at this time.
0 commit comments