python-eel / Eel

A little Python library for making simple Electron-like HTML/JS GUI apps
MIT License
6.44k stars 587 forks source link

Tox tests timeout when catching browser logs #367

Closed KyleKing closed 4 years ago

KyleKing commented 4 years ago

Eel version master @ https://github.com/samuelhwilliams/Eel/commit/e6db3f04ccf35893f963f96b282262a3218ba827

Describe the bug 3/5 tests fail on Python 3.7 with a timeout error (Didn't test 3.5/3.8). These three tests all attempt to read the console log output in Chrome. I tested running headless=False and it appeared that the app was working, just not capturing the log output (Blocking #365)

To Reproduce

python -m venv venv
source venv/bin/activate
tox -e py37

Expected behavior

Expected all five tests to Pass

Screenshots

N/A

Desktop (please complete the following information):

Additional context

Full STDOUT of tox -e py37 -vvv below:


using tox.ini: /Users/kyleking/Developer/Pull_Requests/Eel/tox.ini (pid 11279)
  removing /Users/kyleking/Developer/Pull_Requests/Eel/.tox/log
py37 uses /Users/kyleking/Developer/Pull_Requests/Eel/venv/bin/python
python (/Users/kyleking/Developer/Pull_Requests/Eel/venv/bin/python) is {'executable': '/Users/kyleking/Developer/Pull_Requests/Eel/venv/bin/python', 'implementation': 'CPython', 'version_info': [3, 7, 4, 'final', 0], 'version': '3.7.4 (default, Aug 13 2019, 15:17:50) \n[Clang 4.0.1 (tags/RELEASE_401/final)]', 'is_64': True, 'sysplatform': 'darwin', 'extra_version_info': None}
py36 uses None
py38 uses None
using tox-3.18.0 from /Users/kyleking/Developer/Pull_Requests/Eel/venv/lib/python3.7/site-packages/tox/__init__.py (pid 11279)
GLOB start: packaging 
GLOB sdist-make: /Users/kyleking/Developer/Pull_Requests/Eel/setup.py
  removing /Users/kyleking/Developer/Pull_Requests/Eel/.tox/dist
[11282] /Users/kyleking/Developer/Pull_Requests/Eel$ /Users/kyleking/Developer/Pull_Requests/Eel/venv/bin/python setup.py sdist --formats=zip --dist-dir .tox/dist >.tox/log/GLOB-0.log
running sdist
running egg_info
writing Eel.egg-info/PKG-INFO
writing dependency_links to Eel.egg-info/dependency_links.txt
writing requirements to Eel.egg-info/requires.txt
writing top-level names to Eel.egg-info/top_level.txt
reading manifest file 'Eel.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'Eel.egg-info/SOURCES.txt'
running check
creating Eel-0.13.2
creating Eel-0.13.2/Eel.egg-info
creating Eel-0.13.2/eel
copying files to Eel-0.13.2...
copying MANIFEST.in -> Eel-0.13.2
copying README.md -> Eel-0.13.2
copying setup.py -> Eel-0.13.2
copying Eel.egg-info/PKG-INFO -> Eel-0.13.2/Eel.egg-info
copying Eel.egg-info/SOURCES.txt -> Eel-0.13.2/Eel.egg-info
copying Eel.egg-info/dependency_links.txt -> Eel-0.13.2/Eel.egg-info
copying Eel.egg-info/requires.txt -> Eel-0.13.2/Eel.egg-info
copying Eel.egg-info/top_level.txt -> Eel-0.13.2/Eel.egg-info
copying eel/__init__.py -> Eel-0.13.2/eel
copying eel/__main__.py -> Eel-0.13.2/eel
copying eel/browsers.py -> Eel-0.13.2/eel
copying eel/chrome.py -> Eel-0.13.2/eel
copying eel/edge.py -> Eel-0.13.2/eel
copying eel/eel.js -> Eel-0.13.2/eel
copying eel/electron.py -> Eel-0.13.2/eel
Writing Eel-0.13.2/setup.cfg
creating '.tox/dist/Eel-0.13.2.zip' and adding 'Eel-0.13.2' to it
adding 'Eel-0.13.2'
adding 'Eel-0.13.2/eel'
adding 'Eel-0.13.2/Eel.egg-info'
adding 'Eel-0.13.2/PKG-INFO'
adding 'Eel-0.13.2/MANIFEST.in'
adding 'Eel-0.13.2/README.md'
adding 'Eel-0.13.2/setup.py'
adding 'Eel-0.13.2/setup.cfg'
adding 'Eel-0.13.2/eel/edge.py'
adding 'Eel-0.13.2/eel/__init__.py'
adding 'Eel-0.13.2/eel/eel.js'
adding 'Eel-0.13.2/eel/browsers.py'
adding 'Eel-0.13.2/eel/chrome.py'
adding 'Eel-0.13.2/eel/electron.py'
adding 'Eel-0.13.2/eel/__main__.py'
adding 'Eel-0.13.2/Eel.egg-info/PKG-INFO'
adding 'Eel-0.13.2/Eel.egg-info/SOURCES.txt'
adding 'Eel-0.13.2/Eel.egg-info/requires.txt'
adding 'Eel-0.13.2/Eel.egg-info/top_level.txt'
adding 'Eel-0.13.2/Eel.egg-info/dependency_links.txt'
removing 'Eel-0.13.2' (and everything under it)

GLOB finish: packaging  after 0.50 seconds
copying new sdistfile to '/Users/kyleking/.tox/distshare/Eel-0.13.2.zip'
package .tmp/package/1/Eel-0.13.2.zip links to dist/Eel-0.13.2.zip (/Users/kyleking/Developer/Pull_Requests/Eel/.tox)
py37 start: getenv /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37
py37 reusing: /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37
py37 finish: getenv /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37 after 0.12 seconds
py37 start: installpkg /Users/kyleking/Developer/Pull_Requests/Eel/.tox/.tmp/package/1/Eel-0.13.2.zip
py37 inst-nodeps: /Users/kyleking/Developer/Pull_Requests/Eel/.tox/.tmp/package/1/Eel-0.13.2.zip
setting PATH=/Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/bin:/Users/kyleking/Developer/Pull_Requests/Eel/venv/bin:/Users/kyleking/.yarn/bin:/Users/kyleking/.config/yarn/global/node_modules/.bin:/Users/kyleking/miniconda3/bin:/Users/kyleking/miniconda3/condabin:/usr/local/sbin:/Users/kyleking/.poetry/bin:/Users/kyleking/.nvm/versions/node/v13.12.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/usr/local/MacGPG2/bin:/opt/X11/bin:/usr/local/git/bin:/Users/kyleking/bin
[11291] /Users/kyleking/Developer/Pull_Requests/Eel$ /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/bin/python -m pip install --no-deps -U -v .tox/.tmp/package/1/Eel-0.13.2.zip
Non-user install by explicit request
Created temporary directory: /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-ephem-wheel-cache-p21jsymg
Created temporary directory: /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-req-tracker-11eqxgwk
Initialized build tracking at /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-req-tracker-11eqxgwk
Created build tracker: /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-req-tracker-11eqxgwk
Entered build tracker: /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-req-tracker-11eqxgwk
Created temporary directory: /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-install-spmsqvh2
Processing ./.tox/.tmp/package/1/Eel-0.13.2.zip
  Created temporary directory: /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-req-build-195e_rz0
  Added file:///Users/kyleking/Developer/Pull_Requests/Eel/.tox/.tmp/package/1/Eel-0.13.2.zip to build tracker '/private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-req-tracker-11eqxgwk'
    Running setup.py (path:/private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-req-build-195e_rz0/setup.py) egg_info for package from file:///Users/kyleking/Developer/Pull_Requests/Eel/.tox/.tmp/package/1/Eel-0.13.2.zip
    Created temporary directory: /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-pip-egg-info-8e6iy_zl
    Running command python setup.py egg_info
    running egg_info
    creating /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-pip-egg-info-8e6iy_zl/Eel.egg-info
    writing /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-pip-egg-info-8e6iy_zl/Eel.egg-info/PKG-INFO
    writing dependency_links to /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-pip-egg-info-8e6iy_zl/Eel.egg-info/dependency_links.txt
    writing requirements to /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-pip-egg-info-8e6iy_zl/Eel.egg-info/requires.txt
    writing top-level names to /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-pip-egg-info-8e6iy_zl/Eel.egg-info/top_level.txt
    writing manifest file '/private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-pip-egg-info-8e6iy_zl/Eel.egg-info/SOURCES.txt'
    reading manifest file '/private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-pip-egg-info-8e6iy_zl/Eel.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file '/private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-pip-egg-info-8e6iy_zl/Eel.egg-info/SOURCES.txt'
  Source in /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-req-build-195e_rz0 has version 0.13.2, which satisfies requirement Eel==0.13.2 from file:///Users/kyleking/Developer/Pull_Requests/Eel/.tox/.tmp/package/1/Eel-0.13.2.zip
  Removed Eel==0.13.2 from file:///Users/kyleking/Developer/Pull_Requests/Eel/.tox/.tmp/package/1/Eel-0.13.2.zip from build tracker '/private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-req-tracker-11eqxgwk'
Building wheels for collected packages: Eel
  Created temporary directory: /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-wheel-7sobkmhm
  Building wheel for Eel (setup.py) ...   Destination directory: /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-wheel-7sobkmhm
  Running command /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-req-build-195e_rz0/setup.py'"'"'; __file__='"'"'/private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-req-build-195e_rz0/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-wheel-7sobkmhm
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib
  creating build/lib/eel
  copying eel/edge.py -> build/lib/eel
  copying eel/__init__.py -> build/lib/eel
  copying eel/browsers.py -> build/lib/eel
  copying eel/chrome.py -> build/lib/eel
  copying eel/electron.py -> build/lib/eel
  copying eel/__main__.py -> build/lib/eel
  copying eel/eel.js -> build/lib/eel
  installing to build/bdist.macosx-10.9-x86_64/wheel
  running install
  running install_lib
  creating build/bdist.macosx-10.9-x86_64
  creating build/bdist.macosx-10.9-x86_64/wheel
  creating build/bdist.macosx-10.9-x86_64/wheel/eel
  copying build/lib/eel/edge.py -> build/bdist.macosx-10.9-x86_64/wheel/eel
  copying build/lib/eel/__init__.py -> build/bdist.macosx-10.9-x86_64/wheel/eel
  copying build/lib/eel/eel.js -> build/bdist.macosx-10.9-x86_64/wheel/eel
  copying build/lib/eel/browsers.py -> build/bdist.macosx-10.9-x86_64/wheel/eel
  copying build/lib/eel/chrome.py -> build/bdist.macosx-10.9-x86_64/wheel/eel
  copying build/lib/eel/electron.py -> build/bdist.macosx-10.9-x86_64/wheel/eel
  copying build/lib/eel/__main__.py -> build/bdist.macosx-10.9-x86_64/wheel/eel
  running install_egg_info
  running egg_info
  writing Eel.egg-info/PKG-INFO
  writing dependency_links to Eel.egg-info/dependency_links.txt
  writing requirements to Eel.egg-info/requires.txt
  writing top-level names to Eel.egg-info/top_level.txt
  reading manifest file 'Eel.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  writing manifest file 'Eel.egg-info/SOURCES.txt'
  Copying Eel.egg-info to build/bdist.macosx-10.9-x86_64/wheel/Eel-0.13.2-py3.7.egg-info
  running install_scripts
  creating build/bdist.macosx-10.9-x86_64/wheel/Eel-0.13.2.dist-info/WHEEL
  creating '/private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-wheel-7sobkmhm/Eel-0.13.2-py3-none-any.whl' and adding 'build/bdist.macosx-10.9-x86_64/wheel' to it
  adding 'eel/__init__.py'
  adding 'eel/__main__.py'
  adding 'eel/browsers.py'
  adding 'eel/chrome.py'
  adding 'eel/edge.py'
  adding 'eel/eel.js'
  adding 'eel/electron.py'
  adding 'Eel-0.13.2.dist-info/METADATA'
  adding 'Eel-0.13.2.dist-info/WHEEL'
  adding 'Eel-0.13.2.dist-info/top_level.txt'
  adding 'Eel-0.13.2.dist-info/RECORD'
  removing build/bdist.macosx-10.9-x86_64/wheel
done
  Created wheel for Eel: filename=Eel-0.13.2-py3-none-any.whl size=17577 sha256=6e928d00027708135b256fde5dbe20f82dfc8a263c52b3bb46a412c24b2ad8b3
  Stored in directory: /Users/kyleking/Library/Caches/pip/wheels/df/43/51/b2bd2ec5e31c980f5cabcbe4a1f353e10cb0bf9831481e4f2f
Successfully built Eel
Installing collected packages: Eel
  Attempting uninstall: Eel
    Found existing installation: Eel 0.13.2
    Uninstalling Eel-0.13.2:
      Created temporary directory: /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/lib/python3.7/site-packages/~el-0.13.2.dist-info
      Removing file or directory /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/lib/python3.7/site-packages/Eel-0.13.2.dist-info/
      Created temporary directory: /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/lib/python3.7/site-packages/~el
      Removing file or directory /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/lib/python3.7/site-packages/eel/
      Successfully uninstalled Eel-0.13.2
  Created temporary directory: /private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-unpacked-wheel-c6n18rky

Successfully installed Eel-0.13.2
Removed build tracker: '/private/var/folders/1f/gd24l7210d3d8crp0clcm4440000gn/T/pip-req-tracker-11eqxgwk'
py37 finish: installpkg /Users/kyleking/Developer/Pull_Requests/Eel/.tox/.tmp/package/1/Eel-0.13.2.zip after 2.41 seconds
py37 start: envreport 
setting PATH=/Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/bin:/Users/kyleking/Developer/Pull_Requests/Eel/venv/bin:/Users/kyleking/.yarn/bin:/Users/kyleking/.config/yarn/global/node_modules/.bin:/Users/kyleking/miniconda3/bin:/Users/kyleking/miniconda3/condabin:/usr/local/sbin:/Users/kyleking/.poetry/bin:/Users/kyleking/.nvm/versions/node/v13.12.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/usr/local/MacGPG2/bin:/opt/X11/bin:/usr/local/git/bin:/Users/kyleking/bin
[11320] /Users/kyleking/Developer/Pull_Requests/Eel$ /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/bin/python -m pip freeze >.tox/py37/log/py37-6.log
py37 finish: envreport  after 0.40 seconds
py37 installed: attrs==19.3.0,bottle==0.12.18,bottle-websocket==0.2.9,Eel @ file:///Users/kyleking/Developer/Pull_Requests/Eel/.tox/.tmp/package/1/Eel-0.13.2.zip,future==0.18.2,gevent==20.6.2,gevent-websocket==0.10.1,greenlet==0.4.16,importlib-metadata==1.7.0,Jinja2==2.11.2,MarkupSafe==1.1.1,more-itertools==8.4.0,packaging==20.4,pluggy==0.13.1,psutil==5.7.0,py==1.9.0,pyparsing==2.4.7,pytest==5.4.3,pytest-timeout==1.4.1,selenium==3.141.0,six==1.15.0,urllib3==1.25.10,wcwidth==0.2.5,whichcraft==0.6.1,zipp==3.1.0,zope.event==4.4,zope.interface==5.1.0
  removing /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/tmp
py37 start: run-test-pre 
py37 run-test-pre: PYTHONHASHSEED='1166898242'
py37 finish: run-test-pre  after 0.00 seconds
py37 start: run-test 
py37 run-test: commands[0] | pip install -q -r /Users/kyleking/Developer/Pull_Requests/Eel/requirements-test.txt
setting PATH=/Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/bin:/Users/kyleking/Developer/Pull_Requests/Eel/venv/bin:/Users/kyleking/.yarn/bin:/Users/kyleking/.config/yarn/global/node_modules/.bin:/Users/kyleking/miniconda3/bin:/Users/kyleking/miniconda3/condabin:/usr/local/sbin:/Users/kyleking/.poetry/bin:/Users/kyleking/.nvm/versions/node/v13.12.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/usr/local/MacGPG2/bin:/opt/X11/bin:/usr/local/git/bin:/Users/kyleking/bin
[11321] /Users/kyleking/Developer/Pull_Requests/Eel$ /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/bin/pip install -q -r requirements-test.txt
py37 run-test: commands[1] | /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/bin/python -m pytest
setting PATH=/Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/bin:/Users/kyleking/Developer/Pull_Requests/Eel/venv/bin:/Users/kyleking/.yarn/bin:/Users/kyleking/.config/yarn/global/node_modules/.bin:/Users/kyleking/miniconda3/bin:/Users/kyleking/miniconda3/condabin:/usr/local/sbin:/Users/kyleking/.poetry/bin:/Users/kyleking/.nvm/versions/node/v13.12.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/usr/local/MacGPG2/bin:/opt/X11/bin:/usr/local/git/bin:/Users/kyleking/bin
[11358] /Users/kyleking/Developer/Pull_Requests/Eel$ /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/bin/python -m pytest
=========================================== test session starts ============================================
platform darwin -- Python 3.7.4, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
cachedir: .tox/py37/.pytest_cache
rootdir: /Users/kyleking/Developer/Pull_Requests/Eel, inifile: tox.ini
plugins: timeout-1.4.1
timeout: 5.0s
timeout method: signal
timeout func_only: False
collected 5 items                                                                                          

tests/integration/test_examples.py FFF..                                                             [100%]

================================================= FAILURES =================================================
___________________________________________ test_01_hello_world ____________________________________________

driver = 

    def test_01_hello_world(driver):
        with get_eel_server('examples/01 - hello_world/hello.py', 'hello.html') as eel_url:
            driver.get(eel_url)
            assert driver.title == "Hello, World!"

>           console_logs = get_console_logs(driver, minimum_logs=2)

tests/integration/test_examples.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

driver = 
minimum_logs = 2

    def get_console_logs(driver, minimum_logs=0):
        console_logs = driver.get_log('browser')

        while len(console_logs) < minimum_logs:
            console_logs += driver.get_log('browser')
>           time.sleep(0.1)
E           Failed: Timeout >5.0s

tests/utils.py:60: Failed
____________________________________________ test_02_callbacks _____________________________________________

driver = 

    def test_02_callbacks(driver):
        with get_eel_server('examples/02 - callbacks/callbacks.py', 'callbacks.html') as eel_url:
            driver.get(eel_url)
            assert driver.title == "Callbacks Demo"

>           console_logs = get_console_logs(driver, minimum_logs=1)

tests/integration/test_examples.py:27: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

driver = 
minimum_logs = 1

    def get_console_logs(driver, minimum_logs=0):
        console_logs = driver.get_log('browser')

        while len(console_logs) < minimum_logs:
            console_logs += driver.get_log('browser')
>           time.sleep(0.1)
E           Failed: Timeout >5.0s

tests/utils.py:60: Failed
____________________________________________ test_03_callbacks _____________________________________________

driver = 

    def test_03_callbacks(driver):
        with get_eel_server('examples/03 - sync_callbacks/sync_callbacks.py', 'sync_callbacks.html') as eel_url:
            driver.get(eel_url)
            assert driver.title == "Synchronous callbacks"

>           console_logs = get_console_logs(driver, minimum_logs=1)

tests/integration/test_examples.py:37: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

driver = 
minimum_logs = 1

    def get_console_logs(driver, minimum_logs=0):
        console_logs = driver.get_log('browser')

        while len(console_logs) < minimum_logs:
            console_logs += driver.get_log('browser')
>           time.sleep(0.1)
E           Failed: Timeout >5.0s

tests/utils.py:60: Failed
========================================= short test summary info ==========================================
FAILED tests/integration/test_examples.py::test_01_hello_world - Failed: Timeout >5.0s
FAILED tests/integration/test_examples.py::test_02_callbacks - Failed: Timeout >5.0s
FAILED tests/integration/test_examples.py::test_03_callbacks - Failed: Timeout >5.0s
======================================= 3 failed, 2 passed in 20.32s =======================================
ERROR: InvocationError for command /Users/kyleking/Developer/Pull_Requests/Eel/.tox/py37/bin/python -m pytest (exited with code 1)
py37 finish: run-test  after 25.59 seconds
py37 start: run-test-post 
py37 finish: run-test-post  after 0.00 seconds
_________________________________________________ summary __________________________________________________
ERROR:   py37: commands failed
cleanup /Users/kyleking/Developer/Pull_Requests/Eel/.tox/.tmp/package/1/Eel-0.13.2.zip
```
samuelhwilliams commented 4 years ago

Ah, that's a bit annoying ... They run OK for me locally and in GitHub Actions CI. Looks like I've got a similar build to you as well, albeit 10.15.5 Catalina. What chromedriver version are you using (I've got 83.0.4103.39)?

KyleKing commented 4 years ago

Yeah that was it. I had the wrong ChromeDriver version. Adding webdriver_manager to conftest.py fixed the timeout issue. I'll include it in my PR for #365 unless you think there is a better fix

from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(executable_path=ChromeDriverManager().install(), options=options,
                          desired_capabilities=capabilities, service_log_path=os.path.devnull)
KyleKing commented 4 years ago

Hm, webdriver_manager attempts to read a registry key not available in the Github workflow (Could not get version for Chrome with this command ... reg query "HKEY_CURRENT_USER\Software\Google\Chrome\BLBeacon")

I removed webdriver_manager and the tests now pass