Skip to content

pdf.py: make sure that chromedriver is baked into image (do not download for each invocation) #81

@jgehrcke

Description

@jgehrcke

Just got this locally which is a surprise:

# 231001-13:48:41.960 INFO: html_apath: /tmp/bats-run-yTRfV6/test/7/outdir/report_for_pdf.html
# 231001-13:48:41.960 INFO: set up chromedriver with capabilities {'browserName': 'chrome', 'pageLoadStrategy': 'normal', 'goog:chromeOptions': {'extensions': [], 'args': ['--headless', '--disable-gpu', '--no-sandbox', '--disable-dev-shm-usage']}}
# 231001-13:48:41.960 INFO: ====== WebDriver manager ======
# mkdir: cannot create directory ‘//.local’: Permission denied
# touch: cannot touch '//.local/share/applications/mimeapps.list': No such file or directory
# mkdir: cannot create directory ‘//.local’: Permission denied
# touch: cannot touch '//.local/share/applications/mimeapps.list': No such file or directory
# 231001-13:48:42.110 INFO: Get LATEST chromedriver version for google-chrome
# 231001-13:48:42.221 INFO: Get LATEST chromedriver version for google-chrome
# 231001-13:48:42.334 INFO: There is no [linux64] chromedriver "117.0.5938.92" for browser google-chrome "117.0.5938" in cache
# 231001-13:48:42.334 INFO: Get LATEST chromedriver version for google-chrome
# 231001-13:48:42.569 INFO: WebDriver version 117.0.5938.92 selected
# 231001-13:48:42.570 INFO: Modern chrome version https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/117.0.5938.92/linux64/chromedriver-linux64.zip
# 231001-13:48:42.570 INFO: About to download new driver from https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/117.0.5938.92/linux64/chromedriver-linux64.zip
# Traceback (most recent call last):
#   File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 467, in _make_request
#     self._validate_conn(conn)
#   File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 1092, in _validate_conn
#     conn.connect()
#   File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 642, in connect
#     sock_and_verified = _ssl_wrap_socket_and_match_hostname(
#   File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 783, in _ssl_wrap_socket_and_match_hostname
#     ssl_sock = ssl_wrap_socket(
#   File "/usr/local/lib/python3.10/site-packages/urllib3/util/ssl_.py", line 469, in ssl_wrap_socket
#     ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)
#   File "/usr/local/lib/python3.10/site-packages/urllib3/util/ssl_.py", line 513, in _ssl_wrap_socket_impl
#     return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
#   File "/usr/local/lib/python3.10/ssl.py", line 513, in wrap_socket
#     return self.sslsocket_class._create(
#   File "/usr/local/lib/python3.10/ssl.py", line 1071, in _create
#     self.do_handshake()
#   File "/usr/local/lib/python3.10/ssl.py", line 1342, in do_handshake
#     self._sslobj.do_handshake()
# ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1007)

The point of building the base image (it's already big) is to have batteries included.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions