Skip to content

Commit f7ae920

Browse files
coolreader18bfops
andauthored
Fix flaky smoketest due to race condition in subscribe (#1656)
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
1 parent 2be4215 commit f7ae920

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

smoketests/__init__.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -237,11 +237,17 @@ def stderr_task():
237237
sys.stderr.writelines(proc.stderr)
238238
threading.Thread(target=stderr_task).start()
239239

240-
init_update = proc.stdout.readline()
241-
code = proc.poll()
242-
if code:
243-
raise subprocess.CalledProcessError(code, fake_args)
244-
print("initial update:", init_update)
240+
init_update = proc.stdout.readline().strip()
241+
if init_update:
242+
print("initial update:", init_update)
243+
else:
244+
try:
245+
code = proc.wait()
246+
if code:
247+
raise subprocess.CalledProcessError(code, fake_args)
248+
print("no inital update, but no error code either")
249+
except subprocess.TimeoutExpired:
250+
print("no initial update, but process is still running")
245251

246252
def run():
247253
updates = list(map(json.loads, proc.stdout))

smoketests/tests/add_remove_index.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def test_add_then_remove_index(self):
7272
# There are no indices, resulting in an unsupported unindexed join.
7373
self.publish_module(name, clear = False)
7474
with self.assertRaises(Exception):
75-
self.subscribe(self.JOIN_QUERY, n = 0)()
75+
self.subscribe(self.JOIN_QUERY, n = 0)
7676

7777
self.between_publishes()
7878

@@ -91,4 +91,4 @@ def test_add_then_remove_index(self):
9191
self.write_module_code(self.MODULE_CODE)
9292
self.publish_module(name, clear = False)
9393
with self.assertRaises(Exception):
94-
self.subscribe(self.JOIN_QUERY, n = 0)()
94+
self.subscribe(self.JOIN_QUERY, n = 0)

smoketests/tests/permissions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def test_private_table(self):
118118
self.spacetime("sql", self.address, "select * from Secret")
119119

120120
with self.assertRaises(Exception):
121-
self.subscribe("SELECT * FROM Secret", n=0)()
121+
self.subscribe("SELECT * FROM Secret", n=0)
122122

123123
sub = self.subscribe("SELECT * FROM *", n=1)
124124
self.call("do_thing", anon=True)

0 commit comments

Comments
 (0)