Skip to content

Commit

Permalink
[BEAM-11045] Fix screendiff integration tests
Browse files Browse the repository at this point in the history
1. Removed the server daemon process from screen diff tests. Replaced it
   with a lightweight daemon thread.
2. Upgraded chromedriver-binary version to 85 to match the newest chrome
   browser version and updated the goldens to match the iframe changed
   introduced in PR#13045.
  • Loading branch information
Ning Kang committed Oct 8, 2020
1 parent a27faca commit 82c4316
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 15 deletions.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Expand Up @@ -75,25 +75,22 @@ def __init__(self, test_notebook_path, golden_dir, cleanup=True):
self._cleanup = cleanup
self._test_urls = {}
self._server = None
self._server_daemon = None

def __enter__(self):
self._notebook_executor.execute()
with HTTPServer(('', 0), SimpleHTTPRequestHandler) as server:
self._server = server
self._server = HTTPServer(('', 0), SimpleHTTPRequestHandler)

def start_serving(server):
server.serve_forever()
def start_serving(server):
server.serve_forever()

self._server_daemon = Process(
target=start_serving, args=[server], daemon=True)
self._server_daemon.start()
threading.Thread(
target=start_serving, args=[self._server], daemon=True).start()

for test_id, output_path in\
self._notebook_executor.output_html_paths.items():
self._test_urls[test_id] = self.base_url + output_path
for test_id, output_path in\
self._notebook_executor.output_html_paths.items():
self._test_urls[test_id] = self.base_url + output_path

return self
return self

def __exit__(self, exc_type, exc_value, traceback):
if self._notebook_executor and self._cleanup:
Expand All @@ -105,8 +102,6 @@ def stop_serving(server):

threading.Thread(
target=stop_serving, args=[self._server], daemon=True).start()
if self._server_daemon:
self._server_daemon.terminate()

@property
def base_url(self):
Expand Down
2 changes: 1 addition & 1 deletion sdks/python/setup.py
Expand Up @@ -234,7 +234,7 @@ def get_version():
# headless chrome based integration tests
'selenium>=3.141.0,<4',
'needle>=0.5.0,<1',
'chromedriver-binary>=83,<84',
'chromedriver-binary>=85,<86',
# use a fixed major version of PIL for different python versions
'pillow>=7.1.1,<8',
]
Expand Down

0 comments on commit 82c4316

Please sign in to comment.