From anonymous, 7 Months ago, written in Plain Text.
Embed
  1. py37 installed: apipkg==1.5,atomicwrites==1.3.0,attrs==19.1.0,backports.functools-lru-cache==1.5,beautifulsoup4==4.7.1,cheroot==6.5.4,Click==7.0,colorama==0.4.1,coverage==4.5.3,cssutils==1.0.2,EasyProcess==0.2.5,execnet==1.5.0,Flask==1.0.2,glob2==0.6,hunter==2.2.1,hypothesis==4.12.0,itsdangerous==1.1.0,Jinja2==2.10,Mako==1.0.7,MarkupSafe==1.1.1,more-itertools==6.0.0,parse==1.11.1,parse-type==0.4.2,pluggy==0.9.0,py==1.8.0,py-cpuinfo==4.0.0,Pygments==2.3.1,pyPEG2==2.15.2,pytest==4.3.1,pytest-bdd==3.1.0,pytest-benchmark==3.2.2,pytest-cov==2.6.1,pytest-faulthandler==1.5.0,pytest-forked==1.0.2,pytest-instafail==0.4.1,pytest-mock==1.10.1,pytest-qt==3.2.2,pytest-repeat==0.8.0,pytest-rerunfailures==6.0,pytest-travis-fold==1.3.0,pytest-xdist==1.27.0,pytest-xvfb==1.2.0,PyVirtualDisplay==0.2.1,PyYAML==5.1,six==1.12.0,soupsieve==1.8,vulture==1.0,Werkzeug==0.14.1
  2. py37 run-test-pre: PYTHONHASHSEED='2687806725'
  3. py37 runtests: commands[0] | /home/jay/Code/tmp/qutebrowser/.tox/py37/bin/python scripts/link_pyqt.py --tox /home/jay/Code/tmp/qutebrowser/.tox/py37
  4. py37 runtests: commands[1] | /home/jay/Code/tmp/qutebrowser/.tox/py37/bin/python -bb -m pytest --qute-bdd-webengine
  5. ============================= test session starts ==============================
  6. platform linux -- Python 3.7.2, pytest-4.3.1, py-1.8.0, pluggy-0.9.0
  7. cachedir: .tox/py37/.pytest_cache
  8. PyQt5 5.12 -- Qt runtime 5.13.0 -- Qt compiled 5.12.1
  9. benchmark: 3.2.2 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
  10. hypothesis profile 'default' -> deadline=600, database=DirectoryBasedExampleDatabase('/home/jay/Code/tmp/qutebrowser/.hypothesis/examples')
  11. rootdir: /home/jay/Code/tmp/qutebrowser, inifile: pytest.ini
  12. plugins: xvfb-1.2.0, xdist-1.27.0, travis-fold-1.3.0, rerunfailures-6.0, repeat-0.8.0, qt-3.2.2, mock-1.10.1, instafail-0.4.1, forked-1.0.2, faulthandler-1.5.0, cov-2.6.1, benchmark-3.2.2, bdd-3.1.0, hypothesis-4.12.0
  13. collected 7840 items / 4 skipped / 7836 selected
  14.  
  15. tests/test_conftest.py ...x                                              [  0%]
  16. tests/end2end/test_dirbrowser.py ssssss                                  [  0%]
  17. tests/end2end/test_hints_html.py ssssssssssss............ssssssssssss... [  0%]
  18. .........ssssssssssss............sssssssssssssssssssssssssssssssssssssss [  1%]
  19. ssssssssssssssssssssssssssssssssss                                       [  1%]
  20. tests/end2end/test_insert_mode.py .....................                  [  2%]
  21. tests/end2end/test_invocations.py ssss......s......                      [  2%]
  22. tests/end2end/test_mhtml_e2e.py ..                                       [  2%]
  23. tests/end2end/features/test_backforward_bdd.py ss.....s..s               [  2%]
  24. tests/end2end/features/test_caret_bdd.py ...........                     [  2%]
  25. tests/end2end/features/test_completion_bdd.py ..............             [  2%]
  26. tests/end2end/features/test_downloads_bdd.py ..........s.ss.sF
  27.  
  28. __ test_downloading_a_file_with_evil_contentdisposition_header_qt_59_or_newer __
  29.  
  30. request = <FixtureRequest for <Function test_downloading_a_file_with_evil_contentdisposition_header_qt_59_or_newer>>
  31.  
  32.     def download_should_exist(filename, tmpdir):
  33. >       path = tmpdir / 'downloads' / filename
  34.  
  35. tests/end2end/features/test_downloads_bdd.py:105:
  36. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  37. .tox/py37/lib/python3.7/site-packages/pytest_bdd/: in _execute_scenario
  38.     _execute_step_function(request, scenario, step, step_func)
  39. .tox/py37/lib/python3.7/site-packages/pytest_bdd/: in _execute_step_function
  40.     step_func(**kwargs)
  41. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  42.  
  43. filename = '..%2Ffoo'
  44. tmpdir = local('/tmp/pytest-of-jay/pytest-147/test_downloading_a_file_with_e0')
  45.  
  46.     @bdd.then(bdd.parsers.parse("The downloaded file {filename} should exist"))
  47.     def download_should_exist(filename, tmpdir):
  48.         path = tmpdir / 'downloads' / filename
  49. >       assert path.check()
  50. E       AssertionError: assert False
  51. E        +  where False = <bound method LocalPath.check of local('/tmp/pytest-of-jay/pytest-147/test_downloading_a_file_with_e0/downloads/..%2Ffoo')>()
  52. E        +    where <bound method LocalPath.check of local('/tmp/pytest-of-jay/pytest-147/test_downloading_a_file_with_e0/downloads/..%2Ffoo')> = local('/tmp/pytest-of-jay/pytest-147/test_downloading_a_file_with_e0/downloads/..%2Ffoo').check
  53.  
  54. tests/end2end/features/test_downloads_bdd.py:106: AssertionError
  55. ------------------------------ qutebrowser output ------------------------------
  56. [116 lines suppressed, use -v to show]
  57. [32m18:22:27.252[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.config.configcommands.ConfigCommands.set(<qutebrowser.config.configcommands.ConfigCommands object at 0x7fc9d9725438>, 0, '', '/tmp/pytest-of-jay/pytest-147/test_downloading_a_file_with_e0/downloads', True, False, pattern=None)[0m
  58. [32m18:22:27.252[0m [37mDEBUG   [0m [36mconfig     config:set_str:464[0m [37mSetting  (type Directory) to '/tmp/pytest-of-jay/pytest-147/test_downloading_a_file_with_e0/downloads' (converted from '/tmp/pytest-of-jay/pytest-147/test_downloading_a_file_with_e0/downloads')[0m
  59. ----> found it
  60.  
  61. ----> Waiting for 'Config option changed: *' in the log
  62. [32m18:22:27.281[0m [37mDEBUG   [0m [36mconfig     config:_set_value:323[0m [37mConfig option changed:  = /tmp/pytest-of-jay/pytest-147/test_downloading_a_file_with_e0/downloads[0m
  63. ----> found it
  64.  
  65. ============================== :download-cancel --all ==============================
  66.  
  67.  
  68. ----> Waiting for 'Read from socket *' in the log
  69. [32m18:22:27.285[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7fc9784358b8).[0m
  70. [32m18:22:27.285[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7fc9784358b8: b'{"args": [":download-cancel --all"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  71. [32m18:22:27.285[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":download-cancel --all"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  72. [0m
  73. ----> found it
  74.  
  75. ----> Waiting for 'command called: *' in the log
  76. [32m18:22:27.286[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7fc9784358b8: error 1: QLocalSocket: Remote closed[0m
  77. [32m18:22:27.286[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7fc9784358b8.[0m
  78. [32m18:22:27.286[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  79. [32m18:22:27.286[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':download-cancel --all'[0m
  80. [32m18:22:27.286[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: download-cancel ['--all'][0m
  81. [32m18:22:27.286[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling _cancel(<qutebrowser.browser.downloads.DownloadModel object at 0x7fc9785ca4c8>, True, 0)[0m
  82. ----> found it
  83.  
  84. ============================== :download-clear ==============================
  85.  
  86.  
  87. ----> Waiting for 'Read from socket *' in the log
  88. [32m18:22:27.289[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7fc92857cc18).[0m
  89. [32m18:22:27.289[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7fc92857cc18: b'{"args": [":download-clear"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  90. [32m18:22:27.289[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":download-clear"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  91. [0m
  92. [32m18:22:27.289[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7fc92857cc18: error 1: QLocalSocket: Remote closed[0m
  93. [32m18:22:27.289[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7fc92857cc18.[0m
  94. [32m18:22:27.289[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  95. [32m18:22:27.289[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':download-clear'[0m
  96. [32m18:22:27.289[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: download-clear[0m
  97. [32m18:22:27.290[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling _clear(<qutebrowser.browser.downloads.DownloadModel object at 0x7fc9785ca4c8>)[0m
  98. [32m18:22:27.290[0m [37mDEBUG   [0m [36mdownloads  downloads:_on_begin_remove_row:974[0m [37m_on_begin_remove_row with idx 0, webengine True[0m
  99. [32m18:22:27.290[0m [37mDEBUG   [0m [36mdownloads  downloads:_on_begin_remove_row:974[0m [37m_on_begin_remove_row with idx 0, webengine True[0m
  100. [32m18:22:27.290[0m [37mDEBUG   [0m [36mdownloads  downloads:_remove_item:899[0m [37mRemoved download 1: download with spaces.bin [100%|1.00B][0m
  101. ----> found it
  102.  
  103. ----> Already found 'command called: *' in the log: [32m18:22:27.289[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: download-clear[0m
  104.  
  105. ============================== :set -t "downloads.remove_finished" "-1" ==============================
  106.  
  107.  
  108. ----> Waiting for 'Read from socket *' in the log
  109. [32m18:22:27.296[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7fc92857c9d8).[0m
  110. [32m18:22:27.296[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7fc92857c9d8: b'{"args": [":set -t \\"downloads.remove_finished\\" \\"-1\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  111. [32m18:22:27.296[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":set -t \"downloads.remove_finished\" \"-1\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  112. [0m
  113. [32m18:22:27.296[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7fc92857c9d8: error 1: QLocalSocket: Remote closed[0m
  114. [32m18:22:27.296[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7fc92857c9d8.[0m
  115. [32m18:22:27.296[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  116. [32m18:22:27.296[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':set -t "downloads.remove_finished" "-1"'[0m
  117. [32m18:22:27.297[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: set ['-t', 'downloads.remove_finished', '-1'][0m
  118. ----> found it
  119.  
  120. ----> Already found 'command called: *' in the log: [32m18:22:27.297[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: set ['-t', 'downloads.remove_finished', '-1'][0m
  121.  
  122. ----> Waiting for 'Config option changed: *' in the log
  123. [32m18:22:27.297[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.config.configcommands.ConfigCommands.set(<qutebrowser.config.configcommands.ConfigCommands object at 0x7fc9d9725438>, 0, 'downloads.remove_finished', '-1', True, False, pattern=None)[0m
  124. [32m18:22:27.297[0m [37mDEBUG   [0m [36mconfig     config:set_str:464[0m [37mSetting downloads.remove_finished (type Int) to -1 (converted from '-1')[0m
  125. [32m18:22:27.327[0m [37mDEBUG   [0m [36mconfig     config:_set_value:323[0m [37mConfig option changed: downloads.remove_finished = -1[0m
  126. ----> found it
  127.  
  128. ============================== :open  ==============================
  129.  
  130.  
  131. ----> Waiting for 'Read from socket *' in the log
  132. [32m18:22:27.330[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7fc97814e558).[0m
  133. [32m18:22:27.331[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7fc97814e558: b'{"args": [":open "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  134. [32m18:22:27.331[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":open "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  135. [0m
  136. [32m18:22:27.331[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7fc97814e558: error 1: QLocalSocket: Remote closed[0m
  137. [32m18:22:27.331[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7fc97814e558.[0m
  138. [32m18:22:27.331[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  139. [32m18:22:27.331[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':open
  140. [32m18:22:27.331[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: open ['
  141. [32m18:22:27.331[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.browser.commands.CommandDispatcher.openurl(<qutebrowser.browser.commands.CommandDispatcher>, ', False, False, False, False, None, False, False)[0m
  142. [32m18:22:27.331[0m [37mDEBUG   [0m [36murl        urlutils:get_path_if_valid:381[0m [37mChecking if ' is a path[0m
  143. [32m18:22:27.331[0m [37mDEBUG   [0m [36murl        urlutils:is_url:266[0m [37mChecking if ' is a URL (autosearch=naive).[0m
  144. [32m18:22:27.332[0m [37mDEBUG   [0m [36murl        urlutils:is_url:288[0m [37mContains explicit scheme[0m
  145. [32m18:22:27.332[0m [37mDEBUG   [0m [36murl        urlutils:is_url:307[0m [37murl = True[0m
  146. ----> found it
  147.  
  148. ----> Already found 'command called: *' in the log: [32m18:22:27.331[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: open ['
  149.  
  150. ----> Waiting for 'Download * finished' in the log
  151. [32m18:22:27.332[0m [37mDEBUG   [0m [36murl        urlutils:fuzzy_url:214[0m [37mURL is a fuzzy address[0m
  152. [32m18:22:27.332[0m [37mDEBUG   [0m [36murl        urlutils:fuzzy_url:217[0m [37mConverting fuzzy term ' to URL -> ; filename%3D..%252Ffoo[0m
  153. [32m18:22:27.332[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_before_load_started:955[0m [37mGoing to start loading: ; filename%3D..%252Ffoo[0m
  154. [32m18:22:27.332[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 0 to '; filename%3D..%252Ffoo'[0m
  155. [32m18:22:27.332[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_before_load_started:955[0m [37mGoing to start loading: ; filename%3D..%252Ffoo[0m
  156. [32m18:22:27.332[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 0 to '; filename%3D..%252Ffoo'[0m
  157. [32m18:22:27.332[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_url_changed(PyQt5.QtCore.QUrl('; filename%3D..%252Ffoo')) (tab 0)[0m
  158. [32m18:22:27.338[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=2 url='; filename%3D..%252Ffoo'>: LoadStatus.loading[0m
  159. [32m18:22:27.338[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.loading: 6>) (tab 0)[0m
  160. [32m18:22:27.339[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_started() (tab 0)[0m
  161. [32m18:22:27.339[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason load started) as we're in mode KeyMode.normal[0m
  162. [32m18:22:27.339[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason load started) as we're in mode KeyMode.normal[0m
  163. [32m18:22:27.341[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_navigation_request:983[0m [37mnavigation request: url ; filename%3D..%252Ffoo, type Type.typed, is_main_frame True[0m
  164. [32m18:22:27.345[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_url_changed(PyQt5.QtCore.QUrl(')) (tab 0)[0m
  165. [32m18:22:27.349[0m [37mDEBUG   [0m [36msessions   sessions:save:294[0m [37mSaving session _autosave to /tmp/qutebrowser-basedir-7n3l4jsp/data/sessions/_autosave.yml...[0m
  166. [32m18:22:27.447[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=2 url=': LoadStatus.success[0m
  167. [32m18:22:27.447[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.success: 2>) (tab 0)[0m
  168. [32m18:22:27.448[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_finished(True) (tab 0)[0m
  169. [32m18:22:27.449[0m [37mDEBUG   [0m [36msessions   sessions:save:294[0m [37mSaving session _autosave to /tmp/qutebrowser-basedir-7n3l4jsp/data/sessions/_autosave.yml...[0m
  170. [32m18:22:27.498[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=2 url=': LoadStatus.error[0m
  171. [32m18:22:27.498[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.error: 4>) (tab 0)[0m
  172. [32m18:22:27.498[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_finished(False) (tab 0)[0m
  173. [32m18:22:27.508[0m [37mDEBUG   [0m [36mdownloads  downloads:_on_begin_insert_row:962[0m [37m_on_begin_insert_row with idx 0, webengine True[0m
  174. [32m18:22:27.508[0m [37mDEBUG   [0m [36mdownloads  downloads:_on_begin_insert_row:962[0m [37m_on_begin_insert_row with idx 0, webengine True[0m
  175. [32m18:22:27.508[0m [37mDEBUG   [0m [36mdownloads  downloads:_after_create_parent_question:714[0m [37mSetting filename to /tmp/pytest-of-jay/pytest-147/test_downloading_a_file_with_e0/downloads/foo[0m
  176. [32m18:22:27.509[0m [37mDEBUG   [0m [36mdownloads  webenginedownloads:_on_state_changed:61[0m [37mState for <qutebrowser.browser.webengine.webenginedownloads.DownloadItem basename='foo'> changed to DownloadInProgress[0m
  177. [32m18:22:27.582[0m [37mDEBUG   [0m [36mdownloads  webenginedownloads:_on_state_changed:61[0m [37mState for <qutebrowser.browser.webengine.webenginedownloads.DownloadItem basename='foo'> changed to DownloadCompleted[0m
  178. [32m18:22:27.582[0m [37mDEBUG   [0m [36mdownloads  webenginedownloads:_on_state_changed:68[0m [37mDownload foo finished[0m
  179. ----> found it
  180. -------------------------------- server output ---------------------------------
  181. {"verb": "GET", "path": "/response-headers?Content-Disposition=download;%20filename%3D..%252Ffoo", "status": 200}
  182. --------------------------------- BDD scenario ---------------------------------
  183. Feature: Downloading things from a website.
  184.   Scenario: Downloading a file with evil content-disposition header (Qt 5.9 or newer) (features/downloads.feature:153)
  185.     Given I set up a temporary download dir (0.41s)
  186.     And I clean old downloads (0.01s)
  187.     And I set downloads.remove_finished to -1 (0.03s)
  188.     When I open response-headers?Content-Disposition=download;%20filename%3D..%252Ffoo without waiting (0.01s)
  189.     And I wait until the download is finished (0.25s)
  190.     Then the downloaded file ../foo should not exist (0.00s)
  191.     And the downloaded file ..%2Ffoo should exist (0.00s)
  192. ------------------------------ Captured log call -------------------------------
  193.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-7n3l4jsp/runtime/ipc-9f4963b687ba298610ee895005af91cd
  194.                      439 INFO     Opening in existing instance
  195.                      451 DEBUG    Writing: b'{"args": [":config-clear"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  196.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-7n3l4jsp/runtime/ipc-9f4963b687ba298610ee895005af91cd
  197.                      439 INFO     Opening in existing instance
  198.                      451 DEBUG    Writing: b'{"args": [":set -t \\"messages.timeout\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  199.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-7n3l4jsp/runtime/ipc-9f4963b687ba298610ee895005af91cd
  200.                      439 INFO     Opening in existing instance
  201.                      451 DEBUG    Writing: b'{"args": [":set -t \\"auto_save.interval\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  202.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-7n3l4jsp/runtime/ipc-9f4963b687ba298610ee895005af91cd
  203.                      439 INFO     Opening in existing instance
  204.                      451 DEBUG    Writing: b'{"args": [":set -t \\"new_instance_open_target_window\\" \\"last-opened\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  205.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-7n3l4jsp/runtime/ipc-9f4963b687ba298610ee895005af91cd
  206.                      439 INFO     Opening in existing instance
  207.                      451 DEBUG    Writing: b'{"args": [":set -t \\"downloads.location.prompt\\" \\"false\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  208.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-7n3l4jsp/runtime/ipc-9f4963b687ba298610ee895005af91cd
  209.                      439 INFO     Opening in existing instance
  210.                      451 DEBUG    Writing: b'{"args": [":set -t \\"downloads.location.remember\\" \\"false\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  211.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-7n3l4jsp/runtime/ipc-9f4963b687ba298610ee895005af91cd
  212.                      439 INFO     Opening in existing instance
  213.                      451 DEBUG    Writing: b'{"args": [":set -t \\"\\" \\"/tmp/pytest-of-jay/pytest-147/test_downloading_a_file_with_e0/downloads\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  214.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-7n3l4jsp/runtime/ipc-9f4963b687ba298610ee895005af91cd
  215.                      439 INFO     Opening in existing instance
  216.                      451 DEBUG    Writing: b'{"args": [":download-cancel --all"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  217.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-7n3l4jsp/runtime/ipc-9f4963b687ba298610ee895005af91cd
  218.                      439 INFO     Opening in existing instance
  219.                      451 DEBUG    Writing: b'{"args": [":download-clear"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  220.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-7n3l4jsp/runtime/ipc-9f4963b687ba298610ee895005af91cd
  221.                      439 INFO     Opening in existing instance
  222.                      451 DEBUG    Writing: b'{"args": [":set -t \\"downloads.remove_finished\\" \\"-1\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  223.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-7n3l4jsp/runtime/ipc-9f4963b687ba298610ee895005af91cd
  224.                      439 INFO     Opening in existing instance
  225.                      451 DEBUG    Writing: b'{"args": [":open "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  226.  
  227. tests/end2end/features/test_downloads_bdd.py ssss.ss.........ss.......x. [  3%]
  228. .....................................s.sss                               [  3%]
  229. tests/end2end/features/test_editor_bdd.py .................              [  4%]
  230. tests/end2end/features/test_hints_bdd.py .................s......ss..... [  4%]
  231. ..................s.......................                               [  5%]
  232. tests/end2end/features/test_history_bdd.py .....xxF
  233.  
  234. ________________________ test_history_with_invalid_url _________________________
  235.  
  236. request = <FixtureRequest for <Function test_history_with_invalid_url>>
  237.  
  238. >   ???
  239.  
  240. tests/end2end/features/test_history_bdd.py:69:
  241. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  242. .tox/py37/lib/python3.7/site-packages/pytest_bdd/: in _execute_scenario
  243.     _execute_step_function(request, scenario, step, step_func)
  244. .tox/py37/lib/python3.7/site-packages/pytest_bdd/: in _execute_step_function
  245.     step_func(**kwargs)
  246. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  247.  
  248. quteproc = <end2end.fixtures.quteprocess.QuteProc object at 0x7f58331c5f78>
  249. server = <end2end.fixtures.webserver.WebserverProcess object at 0x7f5895236678>
  250. is_regex = None, pattern = "Changing title for idx 1 to 'about:blank'"
  251. loglevel = None
  252.  
  253.     @bdd.then((r'(?P<is_regex>regex )?"(?P<pattern>[^"]+)" should '
  254.                              r'be logged( with level (?P<loglevel>.*))?'))
  255.     def should_be_logged(quteproc, server, is_regex, pattern, loglevel):
  256.         """Expect the given pattern on regex in the log."""
  257.         if is_regex:
  258.             pattern = re.compile(pattern)
  259.         else:
  260.             pattern = pattern.replace('(port)', str(server.port))
  261.    
  262.         args = {
  263.             'message': pattern,
  264.         }
  265.         if loglevel:
  266.             args['loglevel'] = getattr(logging, loglevel.upper())
  267.    
  268. >       line = quteproc.wait_for(**args)
  269. E       end2end.fixtures.testprocess.WaitForTimeout: Timed out after 5000.0ms waiting for {'message': "Changing title for idx 1 to 'about:blank'"}.
  270.  
  271. tests/end2end/features/: WaitForTimeout
  272. ------------------------------ qutebrowser output ------------------------------
  273. [297 lines suppressed, use -v to show]
  274. [32m18:25:01.081[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: hintmanager[0m
  275. [32m18:25:01.081[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: 6[0m
  276. [32m18:25:01.081[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: tab[0m
  277. [32m18:25:01.082[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: hintmanager[0m
  278. [32m18:25:01.082[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: 7[0m
  279. [32m18:25:01.082[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: tab[0m
  280. [32m18:25:01.082[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: hintmanager[0m
  281. [32m18:25:01.085[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7f4e682d3948: b'{"args": [":open "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  282. [32m18:25:01.085[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":open "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  283. [0m
  284. [32m18:25:01.086[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7f4e682d3948: error 1: QLocalSocket: Remote closed[0m
  285. [32m18:25:01.086[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7f4e682d3948.[0m
  286. [32m18:25:01.086[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  287. [32m18:25:01.086[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':open
  288. [32m18:25:01.086[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: open ['
  289. [32m18:25:01.086[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.browser.commands.CommandDispatcher.openurl(<qutebrowser.browser.commands.CommandDispatcher>, ', False, False, False, False, None, False, False)[0m
  290. [32m18:25:01.086[0m [37mDEBUG   [0m [36murl        urlutils:get_path_if_valid:381[0m [37mChecking if ' is a path[0m
  291. [32m18:25:01.086[0m [37mDEBUG   [0m [36murl        urlutils:is_url:266[0m [37mChecking if ' is a URL (autosearch=naive).[0m
  292. [32m18:25:01.086[0m [37mDEBUG   [0m [36murl        urlutils:is_url:288[0m [37mContains explicit scheme[0m
  293. [32m18:25:01.086[0m [37mDEBUG   [0m [36murl        urlutils:is_url:307[0m [37murl = True[0m
  294. [32m18:25:01.086[0m [37mDEBUG   [0m [36murl        urlutils:fuzzy_url:214[0m [37mURL is a fuzzy address[0m
  295. [32m18:25:01.086[0m [37mDEBUG   [0m [36murl        urlutils:fuzzy_url:217[0m [37mConverting fuzzy term ' to URL ->
  296. [32m18:25:01.086[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_before_load_started:955[0m [37mGoing to start loading:
  297. [32m18:25:01.087[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 0 to '
  298. [32m18:25:01.087[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_before_load_started:955[0m [37mGoing to start loading:
  299. [32m18:25:01.087[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 0 to '
  300. [32m18:25:01.088[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:55[0m [37m<qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f4e682d3ca8> got new child <PyQt5.QtWidgets.QWidget object at 0x7f4e682d3048>, installing filter[0m
  301. [32m18:25:01.088[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_url_changed(PyQt5.QtCore.QUrl(')) (tab 0)[0m
  302. ----> found it
  303.  
  304. ----> Already found 'command called: *' in the log: [32m18:25:01.086[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: open ['
  305.  
  306. ----> Waiting for re.compile("(load status for <qutebrowser\\.browser\\..* tab_id=\\d+ url=' in the log
  307. [32m18:25:01.101[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=8 url=': LoadStatus.loading[0m
  308. [32m18:25:01.101[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.loading: 6>) (tab 0)[0m
  309. [32m18:25:01.102[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_started() (tab 0)[0m
  310. [32m18:25:01.102[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason load started) as we're in mode KeyMode.normal[0m
  311. [32m18:25:01.102[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason load started) as we're in mode KeyMode.normal[0m
  312. [32m18:25:01.106[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_navigation_request:983[0m [37mnavigation request: url , type Type.typed, is_main_frame True[0m
  313. [32m18:25:01.117[0m [37mDEBUG   [0m [36mmodes      modeman:_handle_keypress:172[0m [37mgot keypress in mode KeyMode.normal - delegating to <qutebrowser.keyinput.modeparsers.NormalKeyParser>[0m
  314. [32m18:25:01.118[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mGot key: 0x1000001 / modifiers: 0x0 / text: '<Tab>' / dry_run False[0m
  315. [32m18:25:01.118[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mTrying match without modifiers[0m
  316. [32m18:25:01.119[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mTrying match with key_mappings[0m
  317. [32m18:25:01.120[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mGiving up with '<Tab>', no matches[0m
  318. [32m18:25:01.120[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mClearing keystring (was: <Tab>).[0m
  319. [32m18:25:01.120[0m [37mDEBUG   [0m [36mmodes      modeman:_handle_keypress:199[0m [37mmatch: 0, forward_unbound_keys: auto, passthrough: False, is_non_alnum: True, dry_run: False --> filter: False (focused: <PyQt5.QtWidgets.QWidget object at 0x7f4e68563678>)[0m
  320. [32m18:25:01.120[0m [37mDEBUG   [0m [36mmodes      modeman:_handle_keyrelease:219[0m [37mfilter: False[0m
  321. [32m18:25:01.121[0m [37mDEBUG   [0m [36mmisc       app:on_focus_object_changed:836[0m [37mFocus object changed: <PyQt5.QtWidgets.QWidget object at 0x7f4e682d3048>[0m
  322. [32m18:25:01.125[0m [37mDEBUG   [0m [36mmisc       app:on_focus_object_changed:836[0m [37mFocus object changed: <PyQt5.QtWidgets.QWidget object at 0x7f4e682b8948>[0m
  323. [32m18:25:01.126[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 0 to '
  324. [32m18:25:01.133[0m [37mDEBUG   [0m [36mmisc       app:on_focus_object_changed:836[0m [37mFocus object changed: <qutebrowser.mainwindow.tabwidget.TabBar count=1>[0m
  325. [32m18:25:01.137[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:79[0m [37m<qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f4e682d3ca8>: removed child <PyQt5.QtCore.QObject object at 0x7f4e682b8e58>[0m
  326. [32m18:25:01.143[0m [37mDEBUG   [0m [36msql        sql:__init__:169[0m [37mPreparing SQL query: "INSERT INTO History (url, title, atime, redirect) values(:url, :title, :atime, :redirect)"[0m
  327. [32m18:25:01.143[0m [37mDEBUG   [0m [36msql        sql:run:202[0m [37mRunning SQL query: "INSERT INTO History (url, title, atime, redirect) values(:url, :title, :atime, :redirect)"[0m
  328. [32m18:25:01.143[0m [37mDEBUG   [0m [36msql        sql:run:205[0m [37mquery bindings: {':atime': 1553131501, ':redirect': False, ':title': '', ':url': '
  329. [32m18:25:01.143[0m [37mDEBUG   [0m [36msql        sql:__init__:169[0m [37mPreparing SQL query: "REPLACE INTO CompletionHistory (url, title, last_atime) values(:url, :title, :last_atime)"[0m
  330. [32m18:25:01.143[0m [37mDEBUG   [0m [36msql        sql:run:202[0m [37mRunning SQL query: "REPLACE INTO CompletionHistory (url, title, last_atime) values(:url, :title, :last_atime)"[0m
  331. [32m18:25:01.143[0m [37mDEBUG   [0m [36msql        sql:run:205[0m [37mquery bindings: {':last_atime': 1553131501, ':title': '', ':url': '
  332. [32m18:25:01.143[0m [37mDEBUG   [0m [36msessions   sessions:save:294[0m [37mSaving session _autosave to /tmp/qutebrowser-basedir-xfxdhhmq/data/sessions/_autosave.yml...[0m
  333. [32m18:25:01.187[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=8 url=': LoadStatus.success[0m
  334. ----> found it
  335.  
  336. ============================== :click-element id open-invalid ==============================
  337.  
  338.  
  339. ----> Waiting for 'Read from socket *' in the log
  340. [32m18:25:01.187[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.success: 2>) (tab 0)[0m
  341. [32m18:25:01.188[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_finished(True) (tab 0)[0m
  342. [32m18:25:01.193[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7f4e682d3048).[0m
  343. [32m18:25:01.193[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7f4e682d3048: b'{"args": [":click-element id open-invalid"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  344. [32m18:25:01.193[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":click-element id open-invalid"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  345. [0m
  346. [32m18:25:01.194[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7f4e682d3048: error 1: QLocalSocket: Remote closed[0m
  347. [32m18:25:01.194[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7f4e682d3048.[0m
  348. [32m18:25:01.194[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  349. [32m18:25:01.194[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':click-element id open-invalid'[0m
  350. [32m18:25:01.194[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: click-element ['id', 'open-invalid'][0m
  351. [32m18:25:01.195[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling _element(<qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=8 url=', 'id', 'open-invalid', target=<ClickTarget.normal: 0>, force_event=False)[0m
  352. [32m18:25:01.198[0m [37mDEBUG   [0m [36mwebview    webenginetab:_js_cb_single:633[0m [37mGot element from JS: {'attributes': {'id': 'open-invalid', 'onclick': 'open_invalid()'}, 'class_name': '', 'id': 0, 'outer_xml': '<button onclick="open_invalid()" id="open-invalid">invalid/no URL</button>', 'rects': [{'bottom': 29, 'height': 21, 'left': 127.21875, 'right': 229.90625, 'top': 8, 'width': 102.6875}], 'tag_name': 'BUTTON', 'text': 'invalid/no URL', 'value': ''}[0m
  353. [32m18:25:01.198[0m [37mDEBUG   [0m [36mwebelem    webelem:click:400[0m [37mClicking <qutebrowser.browser.webengine.webengineelem.WebEngineElement html='<button onclick="open_invalid()" id="open-invalid">invalid/no URL</button>'> with click_target ClickTarget.normal, force_event False[0m
  354. [32m18:25:01.198[0m [37mDEBUG   [0m [36mwebelem    webelem:is_editable:240[0m [37mChecking if element is editable: <qutebrowser.browser.webengine.webengineelem.WebEngineElement html='<button onclick="open_invalid()" id="open-invalid">invalid/no URL</button>'>[0m
  355. [32m18:25:01.198[0m [37mDEBUG   [0m [36mwebelem    webelem:_click_fake_event:330[0m [37mSending fake click to <qutebrowser.browser.webengine.webengineelem.WebEngineElement html='<button onclick="open_invalid()" id="open-invalid">invalid/no URL</button>'> at position PyQt5.QtCore.QPoint(137, 18) with target ClickTarget.normal[0m
  356. [32m18:25:01.198[0m [37mDEBUG   [0m [36mmisc       app:on_focus_object_changed:836[0m [37mFocus object changed: <PyQt5.QtWidgets.QWidget object at 0x7f4e682b8948>[0m
  357. ----> found it
  358.  
  359. ----> Already found 'command called: *' in the log: [32m18:25:01.194[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: click-element ['id', 'open-invalid'][0m
  360.  
  361. ----> Waiting for "Changing title for idx 1 to 'about:blank'" in the log
  362. [32m18:25:01.264[0m [37mDEBUG   [0m [36mwebview    webenginetab:_js_cb_single:633[0m [37mGot element from JS: {'attributes': {'id': 'open-invalid', 'onclick': 'open_invalid()'}, 'class_name': '', 'id': 1, 'outer_xml': '<button onclick="open_invalid()" id="open-invalid">invalid/no URL</button>', 'rects': [{'bottom': 29, 'height': 21, 'left': 127.21875, 'right': 229.90625, 'top': 8, 'width': 102.6875}], 'tag_name': 'BUTTON', 'text': 'invalid/no URL', 'value': ''}[0m
  363. [32m18:25:01.264[0m [37mDEBUG   [0m [36mwebelem    webelem:is_editable:240[0m [37mChecking if element is editable: <qutebrowser.browser.webengine.webengineelem.WebEngineElement html='<button onclick="open_invalid()" id="open-invalid">invalid/no URL</button>'>[0m
  364. [32m18:25:01.264[0m [37mDEBUG   [0m [36mmouse      mouse:_mousepress_insertmode_cb:190[0m [37mClicked non-editable element![0m
  365. [32m18:25:01.264[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason click) as we're in mode KeyMode.normal[0m
  366. [32m18:25:01.265[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:55[0m [37m<qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f4e682d3ca8> got new child <PyQt5.QtWidgets.QWidget object at 0x7f4e682b8e58>, installing filter[0m
  367. [32m18:25:01.266[0m [37mDEBUG   [0m [36mwebview    webview:createWindow:117[0m [37mcreateWindow with type WebBrowserTab, background False[0m
  368. [32m18:25:01.266[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:tabopen:464[0m [37mCreating new tab with URL None, background True, related True, idx None[0m
  369. [32m18:25:01.268[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:_get_new_tab_idx:556[0m [_position next -> opening new tab at 1, next left: 0 / right: 2[0m
  370. [32m18:25:01.268[0m [37mDEBUG   [0m [36mwebview    webview:render_widget:81[0m [37mFound possibly lost focusProxy: [][0m
  371. [32m18:25:01.268[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:79[0m [37m<qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f4e682d3ca8>: removed child <PyQt5.QtWidgets.QWidget object at 0x7f4e685931f8>[0m
  372. [32m18:25:01.269[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:55[0m [37m<qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f4e68595708> got new child <PyQt5.QtWidgets.QWidget object at 0x7f4e685931f8>, installing filter[0m
  373. [32m18:25:01.279[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=9 url=''>: LoadStatus.loading[0m
  374. [32m18:25:01.279[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:91[0m [37mignoring: cur_load_status_changed(<LoadStatus.loading: 6>) (tab 1)[0m
  375. [32m18:25:01.279[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:91[0m [37mignoring: cur_load_started() (tab 1)[0m
  376. [32m18:25:01.282[0m [37mDEBUG   [0m [36mmisc       webenginetab:_on_history_trigger:1248[0m [37mIgnoring invalid URL being added to history[0m
  377. [32m18:25:01.282[0m [37mDEBUG   [0m [36msessions   sessions:save:294[0m [37mSaving session _autosave to /tmp/qutebrowser-basedir-xfxdhhmq/data/sessions/_autosave.yml...[0m
  378. [32m18:25:01.321[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=9 url=''>: LoadStatus.success[0m
  379. [32m18:25:01.321[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:91[0m [37mignoring: cur_load_status_changed(<LoadStatus.success: 2>) (tab 1)[0m
  380. [32m18:25:01.321[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:91[0m [37mignoring: cur_load_finished(True) (tab 1)[0m
  381. [32m18:25:01.321[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:615[0m [37mIgnoring title change to ''.[0m
  382. [32m18:25:06.447[0m [37mDEBUG   [0m [36mipc        ipc:on_timeout:369[0m [37mon_timeout got called with None socket![0m
  383. -------------------------------- server output ---------------------------------
  384. {"verb": "GET", "path": "/data/javascript/window_open.html", "status": 200}
  385. {"verb": "GET", "path": "/favicon.ico", "status": 404}
  386. --------------------------------- BDD scenario ---------------------------------
  387. Feature: Page history
  388.   Scenario: History with invalid URL (features/history.feature:56)
  389.     Given I run :history-clear --force (0.01s)
  390.     When I run :tab-only (0.01s)
  391.     And I open data/javascript/window_open.html (0.21s)
  392.     And I run :click-element id open-invalid (0.02s)
  393.     Then "Changing title for idx 1 to 'about:blank'" should be logged (5.24s)
  394. ------------------------------ Captured log setup ------------------------------
  395.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-xfxdhhmq/runtime/ipc-9de97078e91f032f5a26a6a45be719ee
  396.                      439 INFO     Opening in existing instance
  397.                      451 DEBUG    Writing: b'{"args": [":config-clear"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  398.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-xfxdhhmq/runtime/ipc-9de97078e91f032f5a26a6a45be719ee
  399.                      439 INFO     Opening in existing instance
  400.                      451 DEBUG    Writing: b'{"args": [":set -t \\"messages.timeout\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  401.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-xfxdhhmq/runtime/ipc-9de97078e91f032f5a26a6a45be719ee
  402.                      439 INFO     Opening in existing instance
  403.                      451 DEBUG    Writing: b'{"args": [":set -t \\"auto_save.interval\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  404.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-xfxdhhmq/runtime/ipc-9de97078e91f032f5a26a6a45be719ee
  405.                      439 INFO     Opening in existing instance
  406.                      451 DEBUG    Writing: b'{"args": [":set -t \\"new_instance_open_target_window\\" \\"last-opened\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  407.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-xfxdhhmq/runtime/ipc-9de97078e91f032f5a26a6a45be719ee
  408.                      439 INFO     Opening in existing instance
  409.                      451 DEBUG    Writing: b'{"args": [":debug-pyeval objreg.get(\'args\').debug_flags.remove(\'no-sql-history\')"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  410. ------------------------------ Captured log call -------------------------------
  411.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-xfxdhhmq/runtime/ipc-9de97078e91f032f5a26a6a45be719ee
  412.                      439 INFO     Opening in existing instance
  413.                      451 DEBUG    Writing: b'{"args": [":history-clear --force"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  414.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-xfxdhhmq/runtime/ipc-9de97078e91f032f5a26a6a45be719ee
  415.                      439 INFO     Opening in existing instance
  416.                      451 DEBUG    Writing: b'{"args": [":tab-only"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  417.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-xfxdhhmq/runtime/ipc-9de97078e91f032f5a26a6a45be719ee
  418.                      439 INFO     Opening in existing instance
  419.                      451 DEBUG    Writing: b'{"args": [":open "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  420.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-xfxdhhmq/runtime/ipc-9de97078e91f032f5a26a6a45be719ee
  421.                      439 INFO     Opening in existing instance
  422.                      451 DEBUG    Writing: b'{"args": [":click-element id open-invalid"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  423.  
  424. tests/end2end/features/test_history_bdd.py ........s                     [  5%]
  425. tests/end2end/features/test_invoke_bdd.py .......                        [  5%]
  426. tests/end2end/features/test_javascript_bdd.py .sss.........ss.......     [  5%]
  427. tests/end2end/features/test_keyinput_bdd.py .ss...s.............         [  5%]
  428. tests/end2end/features/test_marks_bdd.py ..s....ss.s.                    [  5%]
  429. tests/end2end/features/test_misc_bdd.py ................s..........sss.. [  6%]
  430. ...ss..xxs...............s...x..........ss....                           [  6%]
  431. tests/end2end/features/test_navigate_bdd.py ........................x    [  7%]
  432. tests/end2end/features/test_open_bdd.py ..............                   [  7%]
  433. tests/end2end/features/test_private_bdd.py ..........x..                 [  7%]
  434. tests/end2end/features/test_prompts_bdd.py ........ssxx.s.........xxxxxx [  7%]
  435. ....s....s...sx                                                          [  8%]
  436. tests/end2end/features/test_qutescheme_bdd.py ..........s...ss.....s.s.. [  8%]
  437. ......s....                                                              [  8%]
  438. tests/end2end/features/test_scroll_bdd.py .....s............s........... [  8%]
  439. ..s..............s...                                                    [  9%]
  440. tests/end2end/features/test_search_bdd.py ....x...x.................RF
  441.  
  442. _________________________ test_follow_a_searched_link __________________________
  443.  
  444. self = <end2end.fixtures.quteprocess.QuteProc object at 0x7f582f1beca8>
  445. url = '
  446.  
  447.     def wait_for_load_finished_url(self, url, *, timeout=None,
  448.                                    load_status='success'):
  449.         """Wait until a URL has finished loading."""
  450.         __tracebackhide__ = (lambda e: e.errisinstance(
  451.             testprocess.WaitForTimeout))
  452.    
  453.         if timeout is None:
  454.             if 'CI' in os.environ:
  455.                 timeout = 15000
  456.             else:
  457.                 timeout = 5000
  458.    
  459.         qurl = QUrl(url)
  460.         if not qurl.isValid():
  461.             raise ValueError("Invalid URL {}: {}".format(url,
  462.                                                          qurl.errorString()))
  463.    
  464.         if (qurl == QUrl('about:blank') and
  465.                 not qtutils.version_check('5.10', compiled=False)):
  466.             # For some reason, we don't get a LoadStatus.success for
  467.             # about:blank sometimes.
  468.             # However, if we do this for Qt 5.10, we get general testsuite
  469.             # instability as site loads get reported with about:blank...
  470.             pattern = "Changing title for idx * to 'about:blank'"
  471.         else:
  472.             # We really need the same representation that the webview uses in
  473.             # its __repr__
  474.             url = utils.elide(qurl.toDisplayString(QUrl.EncodeUnicode), 100)
  475.             assert url
  476.    
  477.             pattern = re.compile(
  478.                 r"(load status for <qutebrowser\.browser\..* "
  479.                 r"tab_id=\d+ url='{url}/?'>: LoadStatus\.{load_status}|fetch: "
  480.                 r"PyQt5\.QtCore\.QUrl\('{url}'\) -> .*)".format(
  481.                     load_status=re.escape(load_status), url=re.escape(url)))
  482.    
  483.         try:
  484. >           self.wait_for(message=pattern, timeout=timeout)
  485.  
  486. tests/end2end/fixtures/:
  487. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  488.  
  489. self = <end2end.fixtures.quteprocess.QuteProc object at 0x7f582f1beca8>
  490. timeout = 5000
  491. kwargs = {'divisor': 1, 'message': re.compile("(load status for <qutebrowser\\.browser\\..* tab_id=\\d+ url=': LoadStatus\\.success|fetch: PyQt5\\.QtCore\\.QUrl\\(')}
  492. __tracebackhide__ = <function QuteProc.wait_for.<locals>.<lambda> at 0x7f582d8f89d8>
  493. xfail = None
  494.  
  495.     def wait_for(self, timeout=None,  # pylint: disable=arguments-differ
  496.                  **kwargs):
  497.         """Extend wait_for to add divisor if a test is xfailing."""
  498.         __tracebackhide__ = (lambda e:
  499.                              e.errisinstance(testprocess.WaitForTimeout))
  500.         xfail = self.request.node.get_closest_marker('xfail')
  501.         if xfail and (not xfail.args or xfail.args[0]):
  502.             kwargs['divisor'] = 10
  503.         else:
  504.             kwargs['divisor'] = 1
  505. >       return super().wait_for(timeout=timeout, **kwargs)
  506.  
  507. tests/end2end/fixtures/:
  508. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  509.  
  510. self = <end2end.fixtures.quteprocess.QuteProc object at 0x7f582f1beca8>
  511. timeout = 5000.0, override_waited_for = False, do_skip = False, divisor = 1
  512. after = None
  513. kwargs = {'message': re.compile("(load status for <qutebrowser\\.browser\\..* tab_id=\\d+ url=': LoadStatus\\.success|fetch: PyQt5\\.QtCore\\.QUrl\\(')}
  514. __tracebackhide__ = <function Process.wait_for.<locals>.<lambda> at 0x7f582d8f8a60>
  515. key = 'message', @py_assert3 = None
  516.  
  517.     def wait_for(self, timeout=None, *, override_waited_for=False,
  518.                  do_skip=False, divisor=1, after=None, **kwargs):
  519.         """Wait until a given value is found in the data.
  520.    
  521.         Keyword arguments to this function get interpreted as attributes of the
  522.         searched data. Every given argument is treated as a pattern which
  523.         the attribute has to match against.
  524.    
  525.         Args:
  526.             timeout: How long to wait for the message.
  527.             override_waited_for: If set, gets triggered by previous messages
  528.                                  again.
  529.             do_skip: If set, call pytest.skip on a timeout.
  530.             divisor: A factor to decrease the timeout by.
  531.             after: If it's an existing line, ensure it's after the given one.
  532.    
  533.         Return:
  534.             The matched line.
  535.         """
  536.         __tracebackhide__ = lambda e: e.errisinstance(WaitForTimeout)
  537.    
  538.         if timeout is None:
  539.             if do_skip:
  540.                 timeout = 2000
  541.             elif 'CI' in os.environ:
  542.                 timeout = 15000
  543.             else:
  544.                 timeout = 5000
  545.    
  546.         timeout /= divisor
  547.    
  548.         if not kwargs:
  549.             raise TypeError("No keyword arguments given!")
  550.         for key in kwargs:
  551.             assert key in self.KEYS
  552.    
  553.         existing = self._wait_for_existing(override_waited_for, after,
  554.                                            **kwargs)
  555.         if existing is not None:
  556.             return existing
  557.         else:
  558.             return self._wait_for_new(timeout=timeout, do_skip=do_skip,
  559. >                                     **kwargs)
  560.  
  561. tests/end2end/fixtures/:
  562. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  563.  
  564. self = <end2end.fixtures.quteprocess.QuteProc object at 0x7f582f1beca8>
  565. timeout = 5000.0, do_skip = False
  566. kwargs = {'message': re.compile("(load status for <qutebrowser\\.browser\\..* tab_id=\\d+ url=': LoadStatus\\.success|fetch: PyQt5\\.QtCore\\.QUrl\\(')}
  567. __tracebackhide__ = <function Process._wait_for_new.<locals>.<lambda> at 0x7f582d8f8b70>
  568. message = re.compile("(load status for <qutebrowser\\.browser\\..* tab_id=\\d+ url=': LoadStatus\\.success|fetch: PyQt5\\.QtCore\\.QUrl\\(')
  569. elided = 're.compile("(load status for <qutebrowser\\\\.browser\\\\..* tab_id=\\\\d+ url=\'
  570. spy = <PyQt5.QtTest.QSignalSpy object at 0x7f58991b3708>
  571. elapsed_timer = <PyQt5.QtCore.QElapsedTimer object at 0x7f582d8879e8>
  572. got_signal = False
  573. msg = 'Timed out after 5000.0ms waiting for {\'message\': re.compile("(load status for <qutebrowser\\\\.browser\\\\..* tab_i...\.txt/?\'>: LoadStatus\\\\.success|fetch: PyQt5\\\\.QtCore\\\\.QUrl\\\\(\'
  574.  
  575.     def _wait_for_new(self, timeout, do_skip, **kwargs):
  576.         """Wait for a log message which doesn't exist yet.
  577.    
  578.         Called via wait_for.
  579.         """
  580.         __tracebackhide__ = lambda e: e.errisinstance(WaitForTimeout)
  581.         message = kwargs.get('message', None)
  582.         if message is not None:
  583.             elided = quteutils.elide(repr(message), 100)
  584.             self._log("\n----> Waiting for {} in the log".format(elided))
  585.    
  586.         spy = QSignalSpy(_data)
  587.         elapsed_timer = QElapsedTimer()
  588.         elapsed_timer.start()
  589.    
  590.         while True:
  591.             # Skip if there are pending messages causing a skip
  592.             self._maybe_skip()
  593.             got_signal = spy.wait(timeout)
  594.             if not got_signal or elapsed_timer.hasExpired(timeout):
  595.                 msg = "Timed out after {}ms waiting for {!r}.".format(
  596.                     timeout, kwargs)
  597.                 if do_skip:
  598.                     pytest.skip(msg)
  599.                 else:
  600. >                   raise WaitForTimeout(msg)
  601. E                   end2end.fixtures.testprocess.WaitForTimeout: Timed out after 5000.0ms waiting for {'message': re.compile("(load status for <qutebrowser\\.browser\\..* tab_id=\\d+ url=': LoadStatus\\.success|fetch: PyQt5\\.QtCore\\.QUrl\\(')}.
  602.  
  603. tests/end2end/fixtures/: WaitForTimeout
  604.  
  605. During handling of the above exception, another exception occurred:
  606.  
  607. request = <FixtureRequest for <Function test_follow_a_searched_link>>
  608.  
  609. >   ???
  610.  
  611. tests/end2end/features/test_search_bdd.py:145:
  612. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  613. .tox/py37/lib/python3.7/site-packages/pytest_bdd/: in _execute_scenario
  614.     _execute_step_function(request, scenario, step, step_func)
  615. .tox/py37/lib/python3.7/site-packages/pytest_bdd/: in _execute_step_function
  616.     step_func(**kwargs)
  617. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  618.  
  619. quteproc = <end2end.fixtures.quteprocess.QuteProc object at 0x7f582f1beca8>
  620. path = 'data/hello.txt'
  621.  
  622.     @bdd.then(bdd.parsers.parse("{path} should be loaded"))
  623.     def path_should_be_loaded(quteproc, path):
  624.         """Make sure the given path was loaded according to the log.
  625.    
  626.         This is usually the better check compared to "should be requested" as the
  627.         page could be loaded from local cache.
  628.         """
  629. >       quteproc.wait_for_load_finished(path)
  630. E       end2end.fixtures.testprocess.WaitForTimeout: Timed out while waiting for  to be loaded
  631.  
  632. tests/end2end/features/: WaitForTimeout
  633. ------------------------------ qutebrowser output ------------------------------
  634. [101 lines suppressed, use -v to show]
  635. [32m18:28:55.733[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:tabopen:464[0m [37mCreating new tab with URL PyQt5.QtCore.QUrl('), background False, related False, idx None[0m
  636. ----> found it
  637.  
  638. ----> Waiting for re.compile("(load status for <qutebrowser\\.browser\\..* tab_id=\\d+ url=' in the log
  639. [32m18:28:55.735[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:_get_new_tab_idx:556[0m [_position last -> opening new tab at -1, next left: 0 / right: 1[0m
  640. [32m18:28:55.735[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_before_load_started:955[0m [37mGoing to start loading:
  641. [32m18:28:55.735[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to '
  642. [32m18:28:55.735[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_before_load_started:955[0m [37mGoing to start loading:
  643. [32m18:28:55.735[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to '
  644. [32m18:28:55.736[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:55[0m [37m<qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f61086b2438> got new child <PyQt5.QtWidgets.QWidget object at 0x7f610855f438>, installing filter[0m
  645. [32m18:28:55.737[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to '
  646. [32m18:28:55.737[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:91[0m [37mignoring: cur_url_changed(PyQt5.QtCore.QUrl(')) (tab 1)[0m
  647. [32m18:28:55.742[0m [37mDEBUG   [0m [36mmisc       app:on_focus_object_changed:836[0m [37mFocus object changed: <PyQt5.QtWidgets.QWidget object at 0x7f610855f438>[0m
  648. [32m18:28:55.742[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:701[0m [37mCurrent tab changed, focusing <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=29 url='
  649. [32m18:28:55.742[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:709[0m [37mMode before tab change: normal (mode_on_change = normal)[0m
  650. [32m18:28:55.742[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason tab changed) as we're in mode KeyMode.normal[0m
  651. [32m18:28:55.742[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.caret (reason tab changed) as we're in mode KeyMode.normal[0m
  652. [32m18:28:55.742[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason tab changed) as we're in mode KeyMode.normal[0m
  653. [32m18:28:55.742[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.passthrough (reason tab changed) as we're in mode KeyMode.normal[0m
  654. [32m18:28:55.742[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:721[0m [37mMode after tab change: normal (mode_on_change = normal)[0m
  655. [32m18:28:55.753[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=29 url=': LoadStatus.loading[0m
  656. [32m18:28:55.753[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.loading: 6>) (tab 1)[0m
  657. [32m18:28:55.754[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_started() (tab 1)[0m
  658. [32m18:28:55.754[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason load started) as we're in mode KeyMode.normal[0m
  659. [32m18:28:55.754[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason load started) as we're in mode KeyMode.normal[0m
  660. [32m18:28:55.758[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_navigation_request:983[0m [37mnavigation request: url , type Type.typed, is_main_frame True[0m
  661. [32m18:28:55.762[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to '
  662. [32m18:28:55.771[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to 'Searching text on the page'[0m
  663. [32m18:28:55.781[0m [37mDEBUG   [0m [36msessions   sessions:save:294[0m [37mSaving session _autosave to /tmp/qutebrowser-basedir-x4e336od/data/sessions/_autosave.yml...[0m
  664. [32m18:28:55.822[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=29 url=': LoadStatus.success[0m
  665. ----> found it
  666.  
  667. ============================== :tab-only ==============================
  668.  
  669.  
  670. ----> Waiting for 'Read from socket *' in the log
  671. [32m18:28:55.823[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.success: 2>) (tab 1)[0m
  672. [32m18:28:55.823[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_finished(True) (tab 1)[0m
  673. [32m18:28:55.828[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7f610855f708).[0m
  674. [32m18:28:55.829[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7f610855f708: b'{"args": [":tab-only"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  675. [32m18:28:55.829[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":tab-only"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  676. [0m
  677. ----> found it
  678.  
  679. ----> Waiting for 'command called: *' in the log
  680. [32m18:28:55.829[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7f610855f708: error 1: QLocalSocket: Remote closed[0m
  681. [32m18:28:55.829[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7f610855f708.[0m
  682. [32m18:28:55.829[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  683. [32m18:28:55.830[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':tab-only'[0m
  684. [32m18:28:55.830[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: tab-only[0m
  685. [32m18:28:55.830[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling _only(<qutebrowser.browser.commands.CommandDispatcher>, False, False, False)[0m
  686. [32m18:28:55.831[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:701[0m [37mCurrent tab changed, focusing <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=29 url='
  687. [32m18:28:55.831[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:709[0m [37mMode before tab change: normal (mode_on_change = normal)[0m
  688. [32m18:28:55.831[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason tab changed) as we're in mode KeyMode.normal[0m
  689. [32m18:28:55.831[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.caret (reason tab changed) as we're in mode KeyMode.normal[0m
  690. [32m18:28:55.831[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason tab changed) as we're in mode KeyMode.normal[0m
  691. [32m18:28:55.831[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.passthrough (reason tab changed) as we're in mode KeyMode.normal[0m
  692. [32m18:28:55.831[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:721[0m [37mMode after tab change: normal (mode_on_change = normal)[0m
  693. ----> found it
  694.  
  695. ============================== :search follow ==============================
  696.  
  697.  
  698. ----> Waiting for 'Read from socket *' in the log
  699. [32m18:28:55.834[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:79[0m [37m<PyQt5.QtWidgets.QWidget object at 0x7f6108608288>: removed child <PyQt5.QtCore.QObject object at 0x7f61243ca678>[0m
  700. [32m18:28:55.834[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:79[0m [37m<PyQt5.QtWidgets.QWidget object at 0x7f6108608288>: removed child <PyQt5.QtWidgets.QWidget object at 0x7f6108615048>[0m
  701. [32m18:28:55.836[0m [37mDEBUG   [0m [36mdestroy    objreg:on_destroyed:119[0m [37mschedule removal: 28[0m
  702. [32m18:28:55.836[0m [37mDEBUG   [0m [36mdestroy    objreg:on_destroyed:119[0m [37mschedule removal: tab[0m
  703. [32m18:28:55.836[0m [37mDEBUG   [0m [36mdestroy    objreg:on_destroyed:119[0m [37mschedule removal: hintmanager[0m
  704. [32m18:28:55.840[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: 28[0m
  705. [32m18:28:55.840[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: tab[0m
  706. [32m18:28:55.840[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: hintmanager[0m
  707. [32m18:28:55.840[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7f61086151f8).[0m
  708. [32m18:28:55.843[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7f61086151f8: b'{"args": [":search follow"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  709. ----> found it
  710.  
  711. ----> Waiting for 'command called: *' in the log
  712. [32m18:28:55.843[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":search follow"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  713. [0m
  714. [32m18:28:55.844[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7f61086151f8: error 1: QLocalSocket: Remote closed[0m
  715. [32m18:28:55.844[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7f61086151f8.[0m
  716. [32m18:28:55.844[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  717. [32m18:28:55.844[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':search follow'[0m
  718. [32m18:28:55.844[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: search ['follow'][0m
  719. [32m18:28:55.844[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.browser.commands.CommandDispatcher.search(<qutebrowser.browser.commands.CommandDispatcher>, 'follow', False)[0m
  720. ----> found it
  721.  
  722. ----> Waiting for 'search found follow' in the log
  723. [32m18:28:55.847[0m [37mDEBUG   [0m [36mwebview    webenginetab:wrapped_callback:197[0m [37msearch found follow[0m
  724. ----> found it
  725.  
  726. ============================== :follow-selected ==============================
  727.  
  728.  
  729. ----> Waiting for 'Read from socket *' in the log
  730. [32m18:28:55.848[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7f6108615048).[0m
  731. [32m18:28:55.848[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7f6108615048: b'{"args": [":follow-selected"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  732. [32m18:28:55.848[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":follow-selected"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  733. [0m
  734. [32m18:28:55.848[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7f6108615048: error 1: QLocalSocket: Remote closed[0m
  735. [32m18:28:55.848[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7f6108615048.[0m
  736. [32m18:28:55.848[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  737. [32m18:28:55.849[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':follow-selected'[0m
  738. [32m18:28:55.849[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: follow-selected[0m
  739. [32m18:28:55.849[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.components.caretcommands.follow_selected(<qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=29 url=', tab=False)[0m
  740. [32m18:28:55.849[0m [37mDEBUG   [0m [36mwebview    webenginetab:follow_selected:389[0m [37mClicking a searched link via fake key press.[0m
  741. [32m18:28:55.849[0m [37mDEBUG   [0m [36mmodes      modeman:_handle_keypress:172[0m [37mgot keypress in mode KeyMode.normal - delegating to <qutebrowser.keyinput.modeparsers.NormalKeyParser>[0m
  742. [32m18:28:55.849[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mGot key: 0x1000005 / modifiers: 0x0 / text: '<Enter>' / dry_run True[0m
  743. [32m18:28:55.850[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mTrying match without modifiers[0m
  744. ----> found it
  745.  
  746. ----> Already found 'command called: *' in the log: [32m18:28:55.849[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: follow-selected[0m
  747.  
  748. ----> Waiting for re.compile("(load status for <qutebrowser\\.browser\\..* tab_id=\\d+ url=' in the log
  749. [32m18:28:55.850[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mTrying match with key_mappings[0m
  750. [32m18:28:55.851[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mMapped <Enter> -> <Return>[0m
  751. [32m18:28:55.851[0m [37mDEBUG   [0m [36mmodes      modeman:_handle_keypress:199[0m [37mmatch: 2, forward_unbound_keys: auto, passthrough: False, is_non_alnum: True, dry_run: True --> filter: True (focused: <PyQt5.QtWidgets.QWidget object at 0x7f610855f438>)[0m
  752. [32m18:29:00.600[0m [37mDEBUG   [0m [36mipc        ipc:on_timeout:369[0m [37mon_timeout got called with None socket![0m
  753. -------------------------------- server output ---------------------------------
  754. {"verb": "GET", "path": "/favicon.ico", "status": 404}
  755. --------------------------------- BDD scenario ---------------------------------
  756. Feature: Searching on a page
  757.   Scenario: Follow a searched link (features/search.feature:218)
  758.     Given I open data/search.html (0.09s)
  759.     And I run :tab-only (0.01s)
  760.     When I run :search follow (0.01s)
  761.     And I wait for "search found follow" in the log (0.00s)
  762.     And I run :follow-selected (0.01s)
  763.     Then data/hello.txt should be loaded (9.63s)
  764. ------------------------------ Captured log setup ------------------------------
  765.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  766.                      439 INFO     Opening in existing instance
  767.                      451 DEBUG    Writing: b'{"args": [":config-clear"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  768.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  769.                      439 INFO     Opening in existing instance
  770.                      451 DEBUG    Writing: b'{"args": [":set -t \\"messages.timeout\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  771.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  772.                      439 INFO     Opening in existing instance
  773.                      451 DEBUG    Writing: b'{"args": [":set -t \\"auto_save.interval\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  774.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  775.                      439 INFO     Opening in existing instance
  776.                      451 DEBUG    Writing: b'{"args": [":set -t \\"new_instance_open_target_window\\" \\"last-opened\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  777.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  778.                      439 INFO     Opening in existing instance
  779.                      451 DEBUG    Writing: b'{"args": [":debug-set-fake-clipboard"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  780. ------------------------------ Captured log call -------------------------------
  781.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  782.                      439 INFO     Opening in existing instance
  783.                      451 DEBUG    Writing: b'{"args": [":open -t "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  784. ipc.py                     434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  785.                      439 INFO     Opening in existing instance
  786.                      451 DEBUG    Writing: b'{"args": [":tab-only"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  787.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  788.                      439 INFO     Opening in existing instance
  789.                      451 DEBUG    Writing: b'{"args": [":search follow"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  790.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  791.                      439 INFO     Opening in existing instance
  792.                      451 DEBUG    Writing: b'{"args": [":follow-selected"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  793. ------------------------------ Captured log setup ------------------------------
  794.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  795.                      439 INFO     Opening in existing instance
  796.                      451 DEBUG    Writing: b'{"args": [":config-clear"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  797.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  798.                      439 INFO     Opening in existing instance
  799.                      451 DEBUG    Writing: b'{"args": [":set -t \\"messages.timeout\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  800.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  801.                      439 INFO     Opening in existing instance
  802.                      451 DEBUG    Writing: b'{"args": [":set -t \\"auto_save.interval\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  803.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  804.                      439 INFO     Opening in existing instance
  805.                      451 DEBUG    Writing: b'{"args": [":set -t \\"new_instance_open_target_window\\" \\"last-opened\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  806.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  807.                      439 INFO     Opening in existing instance
  808.                      451 DEBUG    Writing: b'{"args": [":debug-set-fake-clipboard"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  809. ------------------------------ Captured log call -------------------------------
  810.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  811.                      439 INFO     Opening in existing instance
  812.                      451 DEBUG    Writing: b'{"args": [":open -t "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  813.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  814.                      439 INFO     Opening in existing instance
  815.                      451 DEBUG    Writing: b'{"args": [":tab-only"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  816.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  817.                      439 INFO     Opening in existing instance
  818.                      451 DEBUG    Writing: b'{"args": [":search follow"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  819.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-x4e336od/runtime/ipc-3fa2dc3d2e84ca97a05742a49afc3e59
  820.                      439 INFO     Opening in existing instance
  821.                      451 DEBUG    Writing: b'{"args": [":follow-selected"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  822.  
  823. tests/end2end/features/test_search_bdd.py .....s..                       [  9%]
  824. tests/end2end/features/test_sessions_bdd.py .s.sF
  825.  
  826. __________________________ test_scrolling_qtwebengine __________________________
  827.  
  828. request = <FixtureRequest for <Function test_scrolling_qtwebengine>>
  829.  
  830.    
  831. >   @bdd.then(bdd.parsers.parse("the session {name} should not exist"))
  832.     def session_should_not_exist(quteproc, name):
  833.  
  834. tests/end2end/features/test_sessions_bdd.py:57:
  835. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  836. .tox/py37/lib/python3.7/site-packages/pytest_bdd/: in _execute_scenario
  837.     _execute_step_function(request, scenario, step, step_func)
  838. .tox/py37/lib/python3.7/site-packages/pytest_bdd/: in _execute_step_function
  839.     step_func(**kwargs)
  840. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  841.  
  842. quteproc = <end2end.fixtures.quteprocess.QuteProc object at 0x7f582d7001f8>
  843. x = '10', y = '20'
  844.  
  845.     @bdd.when(bdd.parsers.parse("I wait until the scroll position changed to "
  846.                                 "{x}/{y}"))
  847.     def wait_scroll_position_arg(quteproc, x, y):
  848. >       quteproc.wait_scroll_pos_changed(x, y)
  849. E       end2end.fixtures.testprocess.WaitForTimeout: Timed out after 5000.0ms waiting for {'category': 'webview', 'message': 'Scroll position changed to PyQt5.QtCore.QPoint(10, 20)'}.
  850.  
  851. tests/end2end/features/: WaitForTimeout
  852. ------------------------------ qutebrowser output ------------------------------
  853. [134 lines suppressed, use -v to show]
  854. [32m18:29:13.467[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason tab changed) as we're in mode KeyMode.normal[0m
  855. [32m18:29:13.467[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.caret (reason tab changed) as we're in mode KeyMode.normal[0m
  856. [32m18:29:13.467[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason tab changed) as we're in mode KeyMode.normal[0m
  857. [32m18:29:13.467[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.passthrough (reason tab changed) as we're in mode KeyMode.normal[0m
  858. [32m18:29:13.467[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:721[0m [37mMode after tab change: normal (mode_on_change = normal)[0m
  859. [32m18:29:13.468[0m [37mDEBUG   [0m [36mwebview    webview:render_widget:81[0m [37mFound possibly lost focusProxy: [][0m
  860. [32m18:29:13.468[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_before_load_started:955[0m [37mGoing to start loading: about:blank[0m
  861. [32m18:29:13.468[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 0 to 'about:blank'[0m
  862. [32m18:29:13.469[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_before_load_started:955[0m [37mGoing to start loading: about:blank[0m
  863. [32m18:29:13.469[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 0 to 'about:blank'[0m
  864. [32m18:29:13.469[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:55[0m [37m<qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f853041f438> got new child <PyQt5.QtWidgets.QWidget object at 0x7f853041fdc8>, installing filter[0m
  865. [32m18:29:13.474[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 0 to 'about:blank'[0m
  866. [32m18:29:13.474[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_url_changed(PyQt5.QtCore.QUrl('about:blank')) (tab 0)[0m
  867. [32m18:29:13.475[0m [37mDEBUG   [0m [36mmisc       app:on_focus_object_changed:836[0m [37mFocus object changed: <PyQt5.QtWidgets.QWidget object at 0x7f853041fdc8>[0m
  868. [32m18:29:13.476[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:79[0m [37m<PyQt5.QtWidgets.QWidget object at 0x7f8530408c18>: removed child <PyQt5.QtCore.QObject object at 0x7f853041fe58>[0m
  869. [32m18:29:13.476[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:79[0m [37m<PyQt5.QtWidgets.QWidget object at 0x7f8530408c18>: removed child <PyQt5.QtWidgets.QWidget object at 0x7f8530408828>[0m
  870. [32m18:29:13.477[0m [37mDEBUG   [0m [36mdestroy    objreg:on_destroyed:119[0m [37mschedule removal: 3[0m
  871. [32m18:29:13.478[0m [37mDEBUG   [0m [36mdestroy    objreg:on_destroyed:119[0m [37mschedule removal: tab[0m
  872. [32m18:29:13.478[0m [37mDEBUG   [0m [36mdestroy    objreg:on_destroyed:119[0m [37mschedule removal: hintmanager[0m
  873. [32m18:29:13.482[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: 3[0m
  874. [32m18:29:13.483[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: tab[0m
  875. [32m18:29:13.483[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: hintmanager[0m
  876. [32m18:29:13.490[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=4 url='about:blank'>: LoadStatus.loading[0m
  877. [32m18:29:13.490[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.loading: 6>) (tab 0)[0m
  878. [32m18:29:13.491[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_started() (tab 0)[0m
  879. [32m18:29:13.491[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason load started) as we're in mode KeyMode.normal[0m
  880. [32m18:29:13.491[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason load started) as we're in mode KeyMode.normal[0m
  881. [32m18:29:13.497[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 0 to 'about:blank'[0m
  882. [32m18:29:13.507[0m [37mDEBUG   [0m [36msessions   sessions:save:294[0m [37mSaving session _autosave to /tmp/qutebrowser-basedir-y3mewjec/data/sessions/_autosave.yml...[0m
  883. [32m18:29:13.551[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=4 url='about:blank'>: LoadStatus.success[0m
  884. ----> found it
  885.  
  886. ============================== :open  ==============================
  887.  
  888.  
  889. ----> Waiting for 'Read from socket *' in the log
  890. [32m18:29:13.551[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.success: 2>) (tab 0)[0m
  891. [32m18:29:13.552[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_finished(True) (tab 0)[0m
  892. [32m18:29:13.557[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7f85304080d8).[0m
  893. [32m18:29:13.557[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7f85304080d8: b'{"args": [":open "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  894. [32m18:29:13.557[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":open "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  895. [0m
  896. ----> found it
  897.  
  898. ----> Waiting for 'command called: *' in the log
  899. [32m18:29:13.558[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7f85304080d8: error 1: QLocalSocket: Remote closed[0m
  900. [32m18:29:13.558[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7f85304080d8.[0m
  901. [32m18:29:13.558[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  902. [32m18:29:13.558[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':open
  903. [32m18:29:13.558[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: open ['
  904. [32m18:29:13.559[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.browser.commands.CommandDispatcher.openurl(<qutebrowser.browser.commands.CommandDispatcher>, ', False, False, False, False, None, False, False)[0m
  905. [32m18:29:13.559[0m [37mDEBUG   [0m [36murl        urlutils:get_path_if_valid:381[0m [37mChecking if ' is a path[0m
  906. [32m18:29:13.559[0m [37mDEBUG   [0m [36murl        urlutils:is_url:266[0m [37mChecking if ' is a URL (autosearch=naive).[0m
  907. [32m18:29:13.559[0m [37mDEBUG   [0m [36murl        urlutils:is_url:288[0m [37mContains explicit scheme[0m
  908. [32m18:29:13.559[0m [37mDEBUG   [0m [36murl        urlutils:is_url:307[0m [37murl = True[0m
  909. [32m18:29:13.559[0m [37mDEBUG   [0m [36murl        urlutils:fuzzy_url:214[0m [37mURL is a fuzzy address[0m
  910. [32m18:29:13.560[0m [37mDEBUG   [0m [36murl        urlutils:fuzzy_url:217[0m [37mConverting fuzzy term ' to URL ->
  911. [32m18:29:13.560[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_before_load_started:955[0m [37mGoing to start loading:
  912. [32m18:29:13.560[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 0 to '
  913. [32m18:29:13.560[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_before_load_started:955[0m [37mGoing to start loading:
  914. [32m18:29:13.560[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 0 to '
  915. ----> found it
  916.  
  917. ----> Waiting for re.compile("(load status for <qutebrowser\\.browser\\..* tab_id=\\d+ url=' in the log
  918. [32m18:29:13.562[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:55[0m [37m<qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f853041f438> got new child <PyQt5.QtWidgets.QWidget object at 0x7f853041fe58>, installing filter[0m
  919. [32m18:29:13.562[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_url_changed(PyQt5.QtCore.QUrl(')) (tab 0)[0m
  920. [32m18:29:13.570[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=4 url=': LoadStatus.loading[0m
  921. [32m18:29:13.570[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.loading: 6>) (tab 0)[0m
  922. [32m18:29:13.571[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_started() (tab 0)[0m
  923. [32m18:29:13.571[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason load started) as we're in mode KeyMode.normal[0m
  924. [32m18:29:13.571[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason load started) as we're in mode KeyMode.normal[0m
  925. [32m18:29:13.575[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_navigation_request:983[0m [37mnavigation request: url , type Type.typed, is_main_frame True[0m
  926. [32m18:29:13.623[0m [37mDEBUG   [0m [36mmodes      modeman:_handle_keypress:172[0m [37mgot keypress in mode KeyMode.normal - delegating to <qutebrowser.keyinput.modeparsers.NormalKeyParser>[0m
  927. [32m18:29:13.623[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mGot key: 0x1000001 / modifiers: 0x0 / text: '<Tab>' / dry_run False[0m
  928. [32m18:29:13.624[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mTrying match without modifiers[0m
  929. [32m18:29:13.624[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mTrying match with key_mappings[0m
  930. [32m18:29:13.625[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mGiving up with '<Tab>', no matches[0m
  931. [32m18:29:13.625[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mClearing keystring (was: <Tab>).[0m
  932. [32m18:29:13.625[0m [37mDEBUG   [0m [36mmodes      modeman:_handle_keypress:199[0m [37mmatch: 0, forward_unbound_keys: auto, passthrough: False, is_non_alnum: True, dry_run: False --> filter: False (focused: <PyQt5.QtWidgets.QWidget object at 0x7f853041fdc8>)[0m
  933. [32m18:29:13.625[0m [37mDEBUG   [0m [36mmodes      modeman:_handle_keyrelease:219[0m [37mfilter: False[0m
  934. [32m18:29:13.625[0m [37mDEBUG   [0m [36mmisc       app:on_focus_object_changed:836[0m [37mFocus object changed: <PyQt5.QtWidgets.QWidget object at 0x7f853041fe58>[0m
  935. [32m18:29:13.629[0m [37mDEBUG   [0m [36mmisc       app:on_focus_object_changed:836[0m [37mFocus object changed: <PyQt5.QtWidgets.QWidget object at 0x7f85480029d8>[0m
  936. [32m18:29:13.630[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 0 to '
  937. [32m18:29:13.636[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 0 to 'Scrolling'[0m
  938. [32m18:29:13.641[0m [37mDEBUG   [0m [36msessions   sessions:save:294[0m [37mSaving session _autosave to /tmp/qutebrowser-basedir-y3mewjec/data/sessions/_autosave.yml...[0m
  939. [32m18:29:13.685[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=4 url=': LoadStatus.success[0m
  940. ----> found it
  941.  
  942. ============================== :scroll-px 10 20 ==============================
  943.  
  944.  
  945. ----> Waiting for 'Read from socket *' in the log
  946. [32m18:29:13.685[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.success: 2>) (tab 0)[0m
  947. [32m18:29:13.686[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_finished(True) (tab 0)[0m
  948. [32m18:29:13.692[0m [37mDEBUG   [0m [36mmisc       app:on_focus_object_changed:836[0m [37mFocus object changed: <qutebrowser.mainwindow.tabwidget.TabBar count=1>[0m
  949. [32m18:29:13.697[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7f853041fe58).[0m
  950. [32m18:29:13.697[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7f853041fe58: b'{"args": [":scroll-px 10 20"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  951. [32m18:29:13.697[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":scroll-px 10 20"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  952. [0m
  953. [32m18:29:13.697[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7f853041fe58: error 1: QLocalSocket: Remote closed[0m
  954. [32m18:29:13.697[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7f853041fe58.[0m
  955. [32m18:29:13.697[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  956. [32m18:29:13.698[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':scroll-px 10 20'[0m
  957. [32m18:29:13.698[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: scroll-px ['10', '20'][0m
  958. ----> found it
  959.  
  960. ----> Already found 'command called: *' in the log: [32m18:29:13.698[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: scroll-px ['10', '20'][0m
  961.  
  962. ----> Waiting for 'Scroll position changed to PyQt5.QtCore.QPoint(10, 20)' in the log
  963. [32m18:29:13.698[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.components.scrollcommands.scroll_px(<qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=4 url=', 10, 20, 1)[0m
  964. [32m18:29:13.699[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:79[0m [37m<qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f853041f438>: removed child <PyQt5.QtCore.QObject object at 0x7f85304080d8>[0m
  965. [32m18:29:18.482[0m [37mDEBUG   [0m [36mipc        ipc:on_timeout:369[0m [37mon_timeout got called with None socket![0m
  966. -------------------------------- server output ---------------------------------
  967. {"verb": "GET", "path": "/data/scroll/simple.html", "status": 200}
  968. {"verb": "GET", "path": "/favicon.ico", "status": 404}
  969. --------------------------------- BDD scenario ---------------------------------
  970. Feature: Saving and loading sessions
  971.   Scenario: Scrolling (qtwebengine) (features/sessions.feature:70)
  972.     Given I clean up open tabs (0.39s)
  973.     When I open data/scroll/simple.html (0.13s)
  974.     And I run :scroll-px 10 20 (0.02s)
  975.     And I wait until the scroll position changed to 10/20 (9.78s)
  976.     Then the session should look like:
  977. windows:
  978.   - tabs:
  979.     - history:
  980.       - url: about:blank
  981.       - url:
  982.         scroll-pos:
  983.           x: 10
  984.           y: 20 (0.00s)
  985. ------------------------------ Captured log call -------------------------------
  986.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-y3mewjec/runtime/ipc-28039df84bacc7084b56e122bb640352
  987.                      439 INFO     Opening in existing instance
  988.                      451 DEBUG    Writing: b'{"args": [":config-clear"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  989.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-y3mewjec/runtime/ipc-28039df84bacc7084b56e122bb640352
  990.                      439 INFO     Opening in existing instance
  991.                      451 DEBUG    Writing: b'{"args": [":set -t \\"messages.timeout\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  992.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-y3mewjec/runtime/ipc-28039df84bacc7084b56e122bb640352
  993.                      439 INFO     Opening in existing instance
  994.                      451 DEBUG    Writing: b'{"args": [":set -t \\"auto_save.interval\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  995.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-y3mewjec/runtime/ipc-28039df84bacc7084b56e122bb640352
  996.                      439 INFO     Opening in existing instance
  997.                      451 DEBUG    Writing: b'{"args": [":set -t \\"new_instance_open_target_window\\" \\"last-opened\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  998.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-y3mewjec/runtime/ipc-28039df84bacc7084b56e122bb640352
  999.                      439 INFO     Opening in existing instance
  1000.                      451 DEBUG    Writing: b'{"args": [":set -t \\"tabs.last_close\\" \\"blank\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1001.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-y3mewjec/runtime/ipc-28039df84bacc7084b56e122bb640352
  1002.                      439 INFO     Opening in existing instance
  1003.                      451 DEBUG    Writing: b'{"args": [":window-only"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1004.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-y3mewjec/runtime/ipc-28039df84bacc7084b56e122bb640352
  1005.                      439 INFO     Opening in existing instance
  1006.                      451 DEBUG    Writing: b'{"args": [":tab-only --force"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1007.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-y3mewjec/runtime/ipc-28039df84bacc7084b56e122bb640352
  1008.                      439 INFO     Opening in existing instance
  1009.                      451 DEBUG    Writing: b'{"args": [":tab-close --force"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1010.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-y3mewjec/runtime/ipc-28039df84bacc7084b56e122bb640352
  1011.                      439 INFO     Opening in existing instance
  1012.                      451 DEBUG    Writing: b'{"args": [":open "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1013.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-y3mewjec/runtime/ipc-28039df84bacc7084b56e122bb640352
  1014.                      439 INFO     Opening in existing instance
  1015.                      451 DEBUG    Writing: b'{"args": [":scroll-px 10 20"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1016.  
  1017. tests/end2end/features/test_sessions_bdd.py ..s..ss...............sss..  [  9%]
  1018. tests/end2end/features/test_spawn_bdd.py ...........s.                   [ 10%]
  1019. tests/end2end/features/test_tabs_bdd.py ................................ [ 10%]
  1020. ...........................s...ss........s..................s.....x.x... [ 11%]
  1021. .......................                                                  [ 11%]
  1022. tests/end2end/features/test_urlmarks_bdd.py ............................ [ 12%]
  1023. ......                                                                   [ 12%]
  1024. tests/end2end/features/test_utilcmds_bdd.py F
  1025.  
  1026. ______________________________ test_later_before _______________________________
  1027.  
  1028. request = <FixtureRequest for <Function test_later_before>>
  1029.  
  1030. >   ???
  1031.  
  1032. tests/end2end/features/test_utilcmds_bdd.py:41:
  1033. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  1034. .tox/py37/lib/python3.7/site-packages/pytest_bdd/: in _execute_scenario
  1035.     _execute_step_function(request, scenario, step, step_func)
  1036. .tox/py37/lib/python3.7/site-packages/pytest_bdd/: in _execute_step_function
  1037.     step_func(**kwargs)
  1038. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  1039.  
  1040. quteproc = <end2end.fixtures.quteprocess.QuteProc object at 0x7f58317ad948>
  1041. direction = 'vertically'
  1042.  
  1043.     @bdd.then((r"the page should be scrolled "
  1044.                              r"(?P<direction>horizontally|vertically)"))
  1045.     def check_scrolled(quteproc, direction):
  1046. >       quteproc.wait_scroll_pos_changed()
  1047. E       end2end.fixtures.testprocess.WaitForTimeout: Timed out after 5000.0ms waiting for {'category': 'webview', 'message': 'Scroll position changed to PyQt5.QtCore.QPoint(*, *)'}.
  1048.  
  1049. tests/end2end/features/: WaitForTimeout
  1050. ------------------------------ qutebrowser output ------------------------------
  1051. [244 lines suppressed, use -v to show]
  1052. [32m18:32:08.273[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to '
  1053. [32m18:32:08.273[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:55[0m [37m<qutebrowser.browser.webengine.webview.WebEngineView object at 0x7fed2c3bf9d8> got new child <PyQt5.QtWidgets.QWidget object at 0x7fecf45e00d8>, installing filter[0m
  1054. [32m18:32:08.274[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to '
  1055. [32m18:32:08.274[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:91[0m [37mignoring: cur_url_changed(PyQt5.QtCore.QUrl(')) (tab 1)[0m
  1056. [32m18:32:08.279[0m [37mDEBUG   [0m [36mmisc       app:on_focus_object_changed:836[0m [37mFocus object changed: <PyQt5.QtWidgets.QWidget object at 0x7fecf45e00d8>[0m
  1057. [32m18:32:08.280[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:701[0m [37mCurrent tab changed, focusing <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=1 url='
  1058. [32m18:32:08.280[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:709[0m [37mMode before tab change: normal (mode_on_change = normal)[0m
  1059. [32m18:32:08.280[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason tab changed) as we're in mode KeyMode.normal[0m
  1060. [32m18:32:08.280[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.caret (reason tab changed) as we're in mode KeyMode.normal[0m
  1061. [32m18:32:08.280[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason tab changed) as we're in mode KeyMode.normal[0m
  1062. [32m18:32:08.280[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.passthrough (reason tab changed) as we're in mode KeyMode.normal[0m
  1063. [32m18:32:08.280[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:721[0m [37mMode after tab change: normal (mode_on_change = normal)[0m
  1064. [32m18:32:08.292[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=1 url=': LoadStatus.loading[0m
  1065. [32m18:32:08.292[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.loading: 6>) (tab 1)[0m
  1066. [32m18:32:08.292[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_started() (tab 1)[0m
  1067. [32m18:32:08.293[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason load started) as we're in mode KeyMode.normal[0m
  1068. [32m18:32:08.293[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason load started) as we're in mode KeyMode.normal[0m
  1069. [32m18:32:08.297[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_navigation_request:983[0m [37mnavigation request: url , type Type.typed, is_main_frame True[0m
  1070. [32m18:32:08.559[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to '
  1071. [32m18:32:08.565[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to 'Scrolling'[0m
  1072. [32m18:32:08.593[0m [37mDEBUG   [0m [36msessions   sessions:save:294[0m [37mSaving session _autosave to /tmp/qutebrowser-basedir-n9a8jqe1/data/sessions/_autosave.yml...[0m
  1073. [32m18:32:08.623[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=1 url=': LoadStatus.success[0m
  1074. ----> found it
  1075.  
  1076. ============================== :tab-only ==============================
  1077.  
  1078.  
  1079. ----> Waiting for 'Read from socket *' in the log
  1080. [32m18:32:08.623[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.success: 2>) (tab 1)[0m
  1081. [32m18:32:08.624[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_finished(True) (tab 1)[0m
  1082. [32m18:32:08.629[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7fecf45e0318).[0m
  1083. [32m18:32:08.629[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7fecf45e0318: b'{"args": [":tab-only"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  1084. ----> found it
  1085.  
  1086. ----> Waiting for 'command called: *' in the log
  1087. [32m18:32:08.629[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":tab-only"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  1088. [0m
  1089. [32m18:32:08.630[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7fecf45e0318: error 1: QLocalSocket: Remote closed[0m
  1090. [32m18:32:08.630[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7fecf45e0318.[0m
  1091. [32m18:32:08.630[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  1092. [32m18:32:08.630[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':tab-only'[0m
  1093. [32m18:32:08.630[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: tab-only[0m
  1094. [32m18:32:08.631[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling _only(<qutebrowser.browser.commands.CommandDispatcher>, False, False, False)[0m
  1095. ----> found it
  1096.  
  1097. ============================== :later 500 scroll down ==============================
  1098.  
  1099.  
  1100. ----> Waiting for 'Read from socket *' in the log
  1101. [32m18:32:08.631[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:701[0m [37mCurrent tab changed, focusing <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=1 url='
  1102. [32m18:32:08.632[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:709[0m [37mMode before tab change: normal (mode_on_change = normal)[0m
  1103. [32m18:32:08.632[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason tab changed) as we're in mode KeyMode.normal[0m
  1104. [32m18:32:08.632[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.caret (reason tab changed) as we're in mode KeyMode.normal[0m
  1105. [32m18:32:08.632[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason tab changed) as we're in mode KeyMode.normal[0m
  1106. [32m18:32:08.632[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.passthrough (reason tab changed) as we're in mode KeyMode.normal[0m
  1107. [32m18:32:08.632[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:721[0m [37mMode after tab change: normal (mode_on_change = normal)[0m
  1108. [32m18:32:08.634[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:79[0m [37m<PyQt5.QtWidgets.QWidget object at 0x7fed2c3bf288>: removed child <PyQt5.QtCore.QObject object at 0x7fecf45e05e8>[0m
  1109. [32m18:32:08.635[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:79[0m [37m<PyQt5.QtWidgets.QWidget object at 0x7fed2c3bf288>: removed child <PyQt5.QtWidgets.QWidget object at 0x7fed2c3bf168>[0m
  1110. [32m18:32:08.636[0m [37mDEBUG   [0m [36mdestroy    objreg:on_destroyed:119[0m [37mschedule removal: 0[0m
  1111. [32m18:32:08.636[0m [37mDEBUG   [0m [36mdestroy    objreg:on_destroyed:119[0m [37mschedule removal: tab[0m
  1112. [32m18:32:08.636[0m [37mDEBUG   [0m [36mdestroy    objreg:on_destroyed:119[0m [37mschedule removal: hintmanager[0m
  1113. [32m18:32:08.641[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: 0[0m
  1114. [32m18:32:08.641[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: tab[0m
  1115. [32m18:32:08.641[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: hintmanager[0m
  1116. [32m18:32:08.642[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7fed2c4eb8b8).[0m
  1117. [32m18:32:08.645[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7fed2c4eb8b8: b'{"args": [":later 500 scroll down"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  1118. ----> found it
  1119.  
  1120. ----> Waiting for 'command called: *' in the log
  1121. [32m18:32:08.645[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":later 500 scroll down"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  1122. [0m
  1123. [32m18:32:08.645[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7fed2c4eb8b8: error 1: QLocalSocket: Remote closed[0m
  1124. [32m18:32:08.646[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7fed2c4eb8b8.[0m
  1125. [32m18:32:08.646[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  1126. [32m18:32:08.646[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':later 500 scroll down'[0m
  1127. [32m18:32:08.646[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: later ['500', 'scroll down'][0m
  1128. [32m18:32:08.646[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.misc.utilcmds.later(500, 'scroll down', 0)[0m
  1129. ----> found it
  1130.  
  1131. ============================== :session-save --with-private "/tmp/tmpxvxjz06b/session.yml" ==============================
  1132.  
  1133.  
  1134. ----> Waiting for 'Read from socket *' in the log
  1135. [32m18:32:08.649[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7fed2c4ebee8).[0m
  1136. [32m18:32:08.649[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7fed2c4ebee8: b'{"args": [":session-save --with-private \\"/tmp/tmpxvxjz06b/session.yml\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  1137. [32m18:32:08.649[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":session-save --with-private \"/tmp/tmpxvxjz06b/session.yml\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  1138. [0m
  1139. [32m18:32:08.649[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7fed2c4ebee8: error 1: QLocalSocket: Remote closed[0m
  1140. [32m18:32:08.649[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7fed2c4ebee8.[0m
  1141. [32m18:32:08.649[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  1142. [32m18:32:08.649[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':session-save --with-private "/tmp/tmpxvxjz06b/session.yml"'[0m
  1143. [32m18:32:08.650[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: session-save ['--with-private', '/tmp/tmpxvxjz06b/session.yml'][0m
  1144. [32m18:32:08.650[0m [37mDEBUG   [0m [36mcommands   argparser:multitype_conv:158[0m [37mTrying to parse '/tmp/tmpxvxjz06b/session.yml' as <class 'qutebrowser.misc.sessions.Sentinel'>[0m
  1145. [32m18:32:08.650[0m [37mDEBUG   [0m [36mcommands   argparser:multitype_conv:162[0m [37mGot name: Invalid Sentinel value /tmp/tmpxvxjz06b/session.yml for <class 'qutebrowser.misc.sessions.Sentinel'>[0m
  1146. [32m18:32:08.650[0m [37mDEBUG   [0m [36mcommands   argparser:multitype_conv:158[0m [37mTrying to parse '/tmp/tmpxvxjz06b/session.yml' as <class 'str'>[0m
  1147. [32m18:32:08.650[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.misc.sessions.SessionManager.session_save(<qutebrowser.misc.sessions.SessionManager object at 0x7fed8be7bee8>, '/tmp/tmpxvxjz06b/session.yml', False, False, False, False, True, 0)[0m
  1148. [32m18:32:08.650[0m [37mDEBUG   [0m [36msessions   sessions:save:294[0m [37mSaving session /tmp/tmpxvxjz06b/session.yml to /tmp/tmpxvxjz06b/session.yml...[0m
  1149. ----> found it
  1150.  
  1151. ----> Already found 'command called: *' in the log: [32m18:32:08.650[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: session-save ['--with-private', '/tmp/tmpxvxjz06b/session.yml'][0m
  1152.  
  1153. ----> Waiting for 'Saved session /tmp/tmpxvxjz06b/session.yml.' in the log
  1154. [32m18:32:08.673[0m [32mINFO    [0m [36mmessage    message:info:81[0m [32mSaved session /tmp/tmpxvxjz06b/session.yml.[0m
  1155. ----> found it
  1156.  
  1157. Current session data:
  1158. windows:
  1159. - active: true
  1160.   geometry: !!binary |
  1161.     AdnQywADAAAAAAAyAAAAMgAAA1EAAAKJAAAAMgAAADIAAANRAAACiQAAAAAAAAAAAyAAAAAyAAAA
  1162.     MgAAA1EAAAKJ
  1163.   tabs:
  1164.   - active: true
  1165.     history:
  1166.     - active: true
  1167.       pinned: false
  1168.       scroll-pos:
  1169.         x: 0
  1170.         y: 0
  1171.       title: Scrolling
  1172.       url:
  1173.       zoom: 1.0
  1174.  
  1175.  
  1176. ----> Waiting for 'Scroll position changed to PyQt5.QtCore.QPoint(*, *)' in the log
  1177. [32m18:32:08.678[0m [37mDEBUG   [0m [36mmisc       mainwindow:_update_overlay_geometry:305[0m [37mnew geometry for <qutebrowser.mainwindow.messageview.MessageView object at 0x7fed2c4eb5e8>: PyQt5.QtCore.QRect(0, 565, 801, 20)[0m
  1178. [32m18:32:09.121[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: scroll ['down'][0m
  1179. [32m18:32:09.122[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.components.scrollcommands.scroll(<qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=1 url=', 'down', 1)[0m
  1180. [32m18:32:09.122[0m [37mDEBUG   [0m [36mmodes      modeman:_handle_keypress:172[0m [37mgot keypress in mode KeyMode.normal - delegating to <qutebrowser.keyinput.modeparsers.NormalKeyParser>[0m
  1181. [32m18:32:09.122[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mGot key: 0x1000015 / modifiers: 0x0 / text: '<Down>' / dry_run True[0m
  1182. [32m18:32:09.123[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mTrying match without modifiers[0m
  1183. [32m18:32:09.124[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mTrying match with key_mappings[0m
  1184. [32m18:32:09.125[0m [37mDEBUG   [0m [36mmodes      modeman:_handle_keypress:199[0m [37mmatch: 0, forward_unbound_keys: auto, passthrough: False, is_non_alnum: True, dry_run: True --> filter: False (focused: <PyQt5.QtWidgets.QWidget object at 0x7fecf45e00d8>)[0m
  1185. [32m18:32:13.482[0m [37mDEBUG   [0m [36mipc        ipc:on_timeout:369[0m [37mon_timeout got called with None socket![0m
  1186. [32m18:32:18.483[0m [37mDEBUG   [0m [36mipc        ipc:on_timeout:369[0m [37mon_timeout got called with None socket![0m
  1187. -------------------------------- server output ---------------------------------
  1188. {"verb": "GET", "path": "/data/scroll/simple.html", "status": 200}
  1189. {"verb": "GET", "path": "/favicon.ico", "status": 404}
  1190. --------------------------------- BDD scenario ---------------------------------
  1191. Feature: Miscellaneous utility commands exposed to the user.
  1192.   Scenario: :later before (features/utilcmds.feature:11)
  1193.     Given I open data/scroll/simple.html (1.88s)
  1194.     And I run :tab-only (0.01s)
  1195.     When I run :later 500 scroll down (0.02s)
  1196.     Then the page should not be scrolled (0.03s)
  1197.     And the page should be scrolled vertically (9.81s)
  1198. ------------------------------ Captured log call -------------------------------
  1199.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1200.                      439 INFO     Opening in existing instance
  1201.                      451 DEBUG    Writing: b'{"args": [":config-clear"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1202.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1203.                      439 INFO     Opening in existing instance
  1204.                      451 DEBUG    Writing: b'{"args": [":set -t \\"messages.timeout\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1205.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1206.                      439 INFO     Opening in existing instance
  1207.                      451 DEBUG    Writing: b'{"args": [":set -t \\"auto_save.interval\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1208.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1209.                      439 INFO     Opening in existing instance
  1210.                      451 DEBUG    Writing: b'{"args": [":set -t \\"new_instance_open_target_window\\" \\"last-opened\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1211.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1212.                      439 INFO     Opening in existing instance
  1213.                      451 DEBUG    Writing: b'{"args": [":open -t "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1214.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1215.                      439 INFO     Opening in existing instance
  1216.                      451 DEBUG    Writing: b'{"args": [":tab-only"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1217.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1218.                      439 INFO     Opening in existing instance
  1219.                      451 DEBUG    Writing: b'{"args": [":later 500 scroll down"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1220.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1221.                      439 INFO     Opening in existing instance
  1222.                      451 DEBUG    Writing: b'{"args": [":session-save --with-private \\"/tmp/tmpxvxjz06b/session.yml\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1223.  
  1224. tests/end2end/features/test_utilcmds_bdd.py F
  1225.  
  1226. _______________________________ test_later_after _______________________________
  1227.  
  1228. request = <FixtureRequest for <Function test_later_after>>
  1229.  
  1230. >   ???
  1231.  
  1232. tests/end2end/features/test_utilcmds_bdd.py:45:
  1233. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  1234. .tox/py37/lib/python3.7/site-packages/pytest_bdd/: in _execute_scenario
  1235.     _execute_step_function(request, scenario, step, step_func)
  1236. .tox/py37/lib/python3.7/site-packages/pytest_bdd/: in _execute_step_function
  1237.     step_func(**kwargs)
  1238. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  1239.  
  1240. quteproc = <end2end.fixtures.quteprocess.QuteProc object at 0x7f58317ad948>
  1241. direction = 'vertically'
  1242.  
  1243.     @bdd.then((r"the page should be scrolled "
  1244.                              r"(?P<direction>horizontally|vertically)"))
  1245.     def check_scrolled(quteproc, direction):
  1246. >       quteproc.wait_scroll_pos_changed()
  1247. E       end2end.fixtures.testprocess.WaitForTimeout: Timed out after 5000.0ms waiting for {'category': 'webview', 'message': 'Scroll position changed to PyQt5.QtCore.QPoint(*, *)'}.
  1248.  
  1249. tests/end2end/features/: WaitForTimeout
  1250. ------------------------------ qutebrowser output ------------------------------
  1251. [72 lines suppressed, use -v to show]
  1252. [32m18:32:18.704[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":open -t "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  1253. [0m
  1254. ----> found it
  1255.  
  1256. ----> Waiting for 'command called: *' in the log
  1257. [32m18:32:18.705[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7fed2c3bf168: error 1: QLocalSocket: Remote closed[0m
  1258. [32m18:32:18.705[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7fed2c3bf168.[0m
  1259. [32m18:32:18.705[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  1260. [32m18:32:18.705[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':open -t
  1261. [32m18:32:18.705[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: open ['-t', '
  1262. [32m18:32:18.705[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.browser.commands.CommandDispatcher.openurl(<qutebrowser.browser.commands.CommandDispatcher>, ', False, False, True, False, None, False, False)[0m
  1263. [32m18:32:18.705[0m [37mDEBUG   [0m [36murl        urlutils:get_path_if_valid:381[0m [37mChecking if ' is a path[0m
  1264. [32m18:32:18.706[0m [37mDEBUG   [0m [36murl        urlutils:is_url:266[0m [37mChecking if ' is a URL (autosearch=naive).[0m
  1265. ----> found it
  1266.  
  1267. ----> Waiting for re.compile("(load status for <qutebrowser\\.browser\\..* tab_id=\\d+ url=' in the log
  1268. [32m18:32:18.706[0m [37mDEBUG   [0m [36murl        urlutils:is_url:288[0m [37mContains explicit scheme[0m
  1269. [32m18:32:18.706[0m [37mDEBUG   [0m [36murl        urlutils:is_url:307[0m [37murl = True[0m
  1270. [32m18:32:18.706[0m [37mDEBUG   [0m [36murl        urlutils:fuzzy_url:214[0m [37mURL is a fuzzy address[0m
  1271. [32m18:32:18.706[0m [37mDEBUG   [0m [36murl        urlutils:fuzzy_url:217[0m [37mConverting fuzzy term ' to URL ->
  1272. [32m18:32:18.706[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:tabopen:464[0m [37mCreating new tab with URL PyQt5.QtCore.QUrl('), background False, related False, idx None[0m
  1273. [32m18:32:18.708[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:_get_new_tab_idx:556[0m [_position last -> opening new tab at -1, next left: 0 / right: 1[0m
  1274. [32m18:32:18.708[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_before_load_started:955[0m [37mGoing to start loading:
  1275. [32m18:32:18.708[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to '
  1276. [32m18:32:18.708[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_before_load_started:955[0m [37mGoing to start loading:
  1277. [32m18:32:18.709[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to '
  1278. [32m18:32:18.709[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:55[0m [37m<qutebrowser.browser.webengine.webview.WebEngineView object at 0x7fecf45daa68> got new child <PyQt5.QtWidgets.QWidget object at 0x7fecf459b168>, installing filter[0m
  1279. [32m18:32:18.710[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to '
  1280. [32m18:32:18.710[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:91[0m [37mignoring: cur_url_changed(PyQt5.QtCore.QUrl(')) (tab 1)[0m
  1281. [32m18:32:18.714[0m [37mDEBUG   [0m [36mmisc       app:on_focus_object_changed:836[0m [37mFocus object changed: <PyQt5.QtWidgets.QWidget object at 0x7fecf459b168>[0m
  1282. [32m18:32:18.714[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:701[0m [37mCurrent tab changed, focusing <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=2 url='
  1283. [32m18:32:18.714[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:709[0m [37mMode before tab change: normal (mode_on_change = normal)[0m
  1284. [32m18:32:18.715[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason tab changed) as we're in mode KeyMode.normal[0m
  1285. [32m18:32:18.715[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.caret (reason tab changed) as we're in mode KeyMode.normal[0m
  1286. [32m18:32:18.715[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason tab changed) as we're in mode KeyMode.normal[0m
  1287. [32m18:32:18.715[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.passthrough (reason tab changed) as we're in mode KeyMode.normal[0m
  1288. [32m18:32:18.715[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:721[0m [37mMode after tab change: normal (mode_on_change = normal)[0m
  1289. [32m18:32:18.727[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=2 url=': LoadStatus.loading[0m
  1290. [32m18:32:18.728[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.loading: 6>) (tab 1)[0m
  1291. [32m18:32:18.728[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_started() (tab 1)[0m
  1292. [32m18:32:18.728[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason load started) as we're in mode KeyMode.normal[0m
  1293. [32m18:32:18.728[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason load started) as we're in mode KeyMode.normal[0m
  1294. [32m18:32:18.732[0m [37mDEBUG   [0m [36mwebview    browsertab:_on_navigation_request:983[0m [37mnavigation request: url , type Type.typed, is_main_frame True[0m
  1295. [32m18:32:18.738[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to '
  1296. [32m18:32:18.747[0m [37mDEBUG   [0m [36mwebview    tabbedbrowser:on_title_changed:623[0m [37mChanging title for idx 1 to 'Scrolling'[0m
  1297. [32m18:32:18.779[0m [37mDEBUG   [0m [36msessions   sessions:save:294[0m [37mSaving session _autosave to /tmp/qutebrowser-basedir-n9a8jqe1/data/sessions/_autosave.yml...[0m
  1298. [32m18:32:18.815[0m [37mDEBUG   [0m [36mwebview    browsertab:_set_load_status:921[0m [37mload status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=2 url=': LoadStatus.success[0m
  1299. ----> found it
  1300.  
  1301. ============================== :tab-only ==============================
  1302.  
  1303.  
  1304. ----> Waiting for 'Read from socket *' in the log
  1305. [32m18:32:18.816[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_status_changed(<LoadStatus.success: 2>) (tab 1)[0m
  1306. [32m18:32:18.816[0m [37mDEBUG   [0m [36msignals    signalfilter:_filter_signals:86[0m [37memitting: cur_load_finished(True) (tab 1)[0m
  1307. [32m18:32:18.822[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7fecf45da798).[0m
  1308. [32m18:32:18.822[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7fecf45da798: b'{"args": [":tab-only"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  1309. [32m18:32:18.822[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":tab-only"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  1310. [0m
  1311. ----> found it
  1312.  
  1313. ----> Waiting for 'command called: *' in the log
  1314. [32m18:32:18.822[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7fecf45da798: error 1: QLocalSocket: Remote closed[0m
  1315. [32m18:32:18.823[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7fecf45da798.[0m
  1316. [32m18:32:18.823[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  1317. [32m18:32:18.823[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':tab-only'[0m
  1318. [32m18:32:18.823[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: tab-only[0m
  1319. [32m18:32:18.823[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling _only(<qutebrowser.browser.commands.CommandDispatcher>, False, False, False)[0m
  1320. [32m18:32:18.824[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:701[0m [37mCurrent tab changed, focusing <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=2 url='
  1321. [32m18:32:18.824[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:709[0m [37mMode before tab change: normal (mode_on_change = normal)[0m
  1322. [32m18:32:18.824[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.hint (reason tab changed) as we're in mode KeyMode.normal[0m
  1323. [32m18:32:18.824[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.caret (reason tab changed) as we're in mode KeyMode.normal[0m
  1324. [32m18:32:18.824[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.insert (reason tab changed) as we're in mode KeyMode.normal[0m
  1325. [32m18:32:18.824[0m [37mDEBUG   [0m [36mmodes      modeman:leave:307[0m [37mIgnoring leave request for KeyMode.passthrough (reason tab changed) as we're in mode KeyMode.normal[0m
  1326. [32m18:32:18.824[0m [37mDEBUG   [0m [36mmodes      tabbedbrowser:on_current_changed:721[0m [37mMode after tab change: normal (mode_on_change = normal)[0m
  1327. ----> found it
  1328.  
  1329. ============================== :later 500 scroll down ==============================
  1330.  
  1331.  
  1332. ----> Waiting for 'Read from socket *' in the log
  1333. [32m18:32:18.827[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:79[0m [37m<PyQt5.QtWidgets.QWidget object at 0x7fecf45da708>: removed child <PyQt5.QtCore.QObject object at 0x7fecf45da438>[0m
  1334. [32m18:32:18.827[0m [37mDEBUG   [0m [36mmouse      mouse:eventFilter:79[0m [37m<PyQt5.QtWidgets.QWidget object at 0x7fecf45da708>: removed child <PyQt5.QtWidgets.QWidget object at 0x7fecf45e00d8>[0m
  1335. [32m18:32:18.829[0m [37mDEBUG   [0m [36mdestroy    objreg:on_destroyed:119[0m [37mschedule removal: 1[0m
  1336. [32m18:32:18.829[0m [37mDEBUG   [0m [36mdestroy    objreg:on_destroyed:119[0m [37mschedule removal: tab[0m
  1337. [32m18:32:18.829[0m [37mDEBUG   [0m [36mdestroy    objreg:on_destroyed:119[0m [37mschedule removal: hintmanager[0m
  1338. [32m18:32:18.833[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: 1[0m
  1339. [32m18:32:18.834[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: tab[0m
  1340. [32m18:32:18.834[0m [37mDEBUG   [0m [36mdestroy    objreg:_on_destroyed:124[0m [37mremoved: hintmanager[0m
  1341. [32m18:32:18.834[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:256[0m [37mClient connected (socket 0x7fecf45da708).[0m
  1342. [32m18:32:18.837[0m [37mDEBUG   [0m [36mipc        ipc:on_ready_read:361[0m [37mRead from socket 0x7fecf45da708: b'{"args": [":later 500 scroll down"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'[0m
  1343. ----> found it
  1344.  
  1345. ----> Waiting for 'command called: *' in the log
  1346. [32m18:32:18.837[0m [37mDEBUG   [0m [36mipc        ipc:_handle_data:303[0m [37mProcessing: {"args": [":later 500 scroll down"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}
  1347. [0m
  1348. [32m18:32:18.838[0m [37mDEBUG   [0m [36mipc        ipc:on_error:238[0m [37mSocket 0x7fecf45da708: error 1: QLocalSocket: Remote closed[0m
  1349. [32m18:32:18.838[0m [37mDEBUG   [0m [36mipc        ipc:on_disconnected:277[0m [37mClient disconnected from socket 0x7fecf45da708.[0m
  1350. [32m18:32:18.838[0m [37mDEBUG   [0m [36mipc        ipc:handle_connection:254[0m [37mNo new connection to handle.[0m
  1351. [32m18:32:18.838[0m [37mDEBUG   [0m [36minit       app:process_pos_args:287[0m [37mStartup cmd ':later 500 scroll down'[0m
  1352. [32m18:32:18.838[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: later ['500', 'scroll down'][0m
  1353. [32m18:32:18.838[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.misc.utilcmds.later(500, 'scroll down', 0)[0m
  1354. ----> found it
  1355.  
  1356. ----> Waiting for 'Scroll position changed to PyQt5.QtCore.QPoint(*, *)' in the log
  1357. [32m18:32:19.364[0m [37mDEBUG   [0m [36mcommands   command:run:535[0m [37mcommand called: scroll ['down'][0m
  1358. [32m18:32:19.364[0m [37mDEBUG   [0m [36mcommands   command:run:550[0m [37mCalling qutebrowser.components.scrollcommands.scroll(<qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=2 url=', 'down', 1)[0m
  1359. [32m18:32:19.365[0m [37mDEBUG   [0m [36mmodes      modeman:_handle_keypress:172[0m [37mgot keypress in mode KeyMode.normal - delegating to <qutebrowser.keyinput.modeparsers.NormalKeyParser>[0m
  1360. [32m18:32:19.365[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mGot key: 0x1000015 / modifiers: 0x0 / text: '<Down>' / dry_run True[0m
  1361. [32m18:32:19.366[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mTrying match without modifiers[0m
  1362. [32m18:32:19.366[0m [37mDEBUG   [0m [36mkeyboard   basekeyparser:_debug_log:91[0m [37mTrying match with key_mappings[0m
  1363. [32m18:32:19.367[0m [37mDEBUG   [0m [36mmodes      modeman:_handle_keypress:199[0m [37mmatch: 0, forward_unbound_keys: auto, passthrough: False, is_non_alnum: True, dry_run: True --> filter: False (focused: <PyQt5.QtWidgets.QWidget object at 0x7fecf459b168>)[0m
  1364. [32m18:32:23.589[0m [37mDEBUG   [0m [36mipc        ipc:on_timeout:369[0m [37mon_timeout got called with None socket![0m
  1365. [32m18:32:28.482[0m [37mDEBUG   [0m [36mipc        ipc:on_timeout:369[0m [37mon_timeout got called with None socket![0m
  1366. -------------------------------- server output ---------------------------------
  1367. {"verb": "GET", "path": "/favicon.ico", "status": 404}
  1368. --------------------------------- BDD scenario ---------------------------------
  1369. Feature: Miscellaneous utility commands exposed to the user.
  1370.   Scenario: :later after (features/utilcmds.feature:17)
  1371.     Given I open data/scroll/simple.html (0.29s)
  1372.     And I run :tab-only (0.01s)
  1373.     When I run :later 500 scroll down (0.01s)
  1374.     And I wait 0.6s (0.60s)
  1375.     Then the page should be scrolled vertically (9.04s)
  1376. ------------------------------ Captured log call -------------------------------
  1377.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1378.                      439 INFO     Opening in existing instance
  1379.                      451 DEBUG    Writing: b'{"args": [":config-clear"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1380.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1381.                      439 INFO     Opening in existing instance
  1382.                      451 DEBUG    Writing: b'{"args": [":set -t \\"messages.timeout\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1383.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1384.                      439 INFO     Opening in existing instance
  1385.                      451 DEBUG    Writing: b'{"args": [":set -t \\"auto_save.interval\\" \\"0\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1386.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1387.                      439 INFO     Opening in existing instance
  1388.                      451 DEBUG    Writing: b'{"args": [":set -t \\"new_instance_open_target_window\\" \\"last-opened\\""], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1389.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1390.                      439 INFO     Opening in existing instance
  1391.                      451 DEBUG    Writing: b'{"args": [":open -t "], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1392.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1393.                      439 INFO     Opening in existing instance
  1394.                      451 DEBUG    Writing: b'{"args": [":tab-only"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1395.                      434 DEBUG    Connecting to /tmp/qutebrowser-basedir-n9a8jqe1/runtime/ipc-49a3115b4c1db784dcf45346bc20911e
  1396.                      439 INFO     Opening in existing instance
  1397.                      451 DEBUG    Writing: b'{"args": [":later 500 scroll down"], "target_arg": "", "version": "1.6.1", "protocol_version": 1, "cwd": "/home/jay/Code/tmp/qutebrowser"}\n'
  1398.  
  1399. tests/end2end/features/test_utilcmds_bdd.py x.........x..s.........      [ 12%]
  1400. tests/end2end/features/test_yankpaste_bdd.py .................s.....s..s [ 12%]
  1401. ............                                                             [ 12%]
  1402. tests/end2end/features/test_zoom_bdd.py ...............xs...             [ 13%]
  1403. tests/end2end/fixtures/test_quteprocess.py .....s....................... [ 13%]
  1404. ......                                                                   [ 13%]
  1405. tests/end2end/fixtures/test_testprocess.py ......................        [ 13%]
  1406. tests/end2end/fixtures/test_webserver.py ..................              [ 14%]
  1407. tests/helpers/test_helper_utils.py .............................         [ 14%]
  1408. tests/helpers/test_logfail.py .......                                    [ 14%]
  1409. tests/helpers/test_stubs.py ........                                     [ 14%]
  1410. tests/unit/test_app.py .                                                 [ 14%]
  1411. tests/unit/api/test_cmdutils.py ........................................ [ 15%]
  1412. .....................                                                    [ 15%]
  1413. tests/unit/browser/test_caret.py s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s [ 15%]
  1414. .s.s.s.s.s.s.s.s.sssss.s.s.s.sF
  1415.  
  1416. ______ TestFollowSelected.test_follow_selected_with_link[True-webengine] _______
  1417.  
  1418. self = <test_caret.TestFollowSelected object at 0x7f5828bdc208>
  1419. caret = <qutebrowser.browser.webengine.webenginetab.WebEngineCaret object at 0x7f57e1bc8288>
  1420. selection = <test_caret.Selection object at 0x7f5828ac7978>
  1421. config_stub = <qutebrowser.config.config.Config object at 0x7f581f8ecc18>
  1422. qtbot = <pytestqt.qtbot.QtBot object at 0x7f5828f50b00>
  1423. web_tab = <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=32 url='qute:
  1424.  
  1425.     def test_follow_selected_with_link(self, caret, selection, config_stub,
  1426.                                        qtbot, web_tab):
  1427.         selection.toggle()
  1428.         caret.move_to_end_of_word()
  1429.         with qtbot.wait_signal(web_tab.load_finished):
  1430.             with qtbot.wait_signal(caret.follow_selected_done):
  1431. >               caret.follow_selected()
  1432. E               pytestqt.exceptions.TimeoutError: Signal load_finished(bool) not emitted after 1000 ms
  1433.  
  1434. tests/unit/browser/test_caret.py:369: TimeoutError
  1435. ------------------------------ Captured log setup ------------------------------
  1436.             280 DEBUG    Reading scripts from: /tmp/pytest-of-jay/pytest-147/test_follow_selected_with_link1/data/greasemonkey
  1437.                   323 DEBUG    Config option changed: content.javascript.log = {'info': 'info', 'error': 'error', 'unknown': 'error', 'warning': 'error'}
  1438.                   323 DEBUG    Config option changed: content.javascript.enabled = True
  1439.               955 DEBUG    Going to start loading: qute:
  1440.               955 DEBUG    Going to start loading: qute:
  1441.                     55 DEBUG    <qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f57e1bc8048> got new child <PyQt5.QtWidgets.QWidget object at 0x7f57e1bc8828>, installing filter
  1442.                   119 DEBUG    schedule removal: 31
  1443.                   119 DEBUG    schedule removal: tab
  1444.                   119 DEBUG    schedule removal: hintmanager
  1445.                     79 DEBUG    <PyQt5.QtWidgets.QWidget object at 0x7f57e1bc8798>: removed child <PyQt5.QtCore.QObject object at 0x7f57e1bc8948>
  1446.                     79 DEBUG    <PyQt5.QtWidgets.QWidget object at 0x7f57e1bc8798>: removed child <PyQt5.QtWidgets.QWidget object at 0x7f57e1e70948>
  1447.                   124 DEBUG    removed: 31
  1448.                   124 DEBUG    removed: tab
  1449.                   124 DEBUG    removed: hintmanager
  1450.               921 DEBUG    load status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=32 url='qute:: LoadStatus.loading
  1451.               983 DEBUG    navigation request: url qute:, type Type.typed, is_main_frame True
  1452.      122 DEBUG    Got request for qute:
  1453.               139 DEBUG    url: qute:, path: /data/caret.html, host testdata
  1454.      146 DEBUG    Returning text/html data
  1455.               921 DEBUG    load status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=32 url='qute:: LoadStatus.success
  1456.                  250 DEBUG    Entering mode KeyMode.caret
  1457.  
  1458. tests/unit/browser/test_caret.py sF
  1459.  
  1460. ______ TestFollowSelected.test_follow_selected_with_link[False-webengine] ______
  1461.  
  1462. self = <test_caret.TestFollowSelected object at 0x7f5828ac2828>
  1463. caret = <qutebrowser.browser.webengine.webenginetab.WebEngineCaret object at 0x7f57e14f8ee8>
  1464. selection = <test_caret.Selection object at 0x7f57e1f77c18>
  1465. config_stub = <qutebrowser.config.config.Config object at 0x7f5898f2a438>
  1466. qtbot = <pytestqt.qtbot.QtBot object at 0x7f5828963d68>
  1467. web_tab = <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=33 url='qute:
  1468.  
  1469.     def test_follow_selected_with_link(self, caret, selection, config_stub,
  1470.                                        qtbot, web_tab):
  1471.         selection.toggle()
  1472.         caret.move_to_end_of_word()
  1473.         with qtbot.wait_signal(web_tab.load_finished):
  1474.             with qtbot.wait_signal(caret.follow_selected_done):
  1475. >               caret.follow_selected()
  1476. E               pytestqt.exceptions.TimeoutError: Signal load_finished(bool) not emitted after 1000 ms
  1477.  
  1478. tests/unit/browser/test_caret.py:369: TimeoutError
  1479. ------------------------------ Captured log setup ------------------------------
  1480.             280 DEBUG    Reading scripts from: /tmp/pytest-of-jay/pytest-147/test_follow_selected_with_link3/data/greasemonkey
  1481.                   323 DEBUG    Config option changed: content.javascript.log = {'info': 'info', 'error': 'error', 'unknown': 'error', 'warning': 'error'}
  1482.                   323 DEBUG    Config option changed: content.javascript.enabled = False
  1483.               955 DEBUG    Going to start loading: qute:
  1484.               955 DEBUG    Going to start loading: qute:
  1485.                     55 DEBUG    <qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f57e14f8ca8> got new child <PyQt5.QtWidgets.QWidget object at 0x7f57e15314c8>, installing filter
  1486.                   119 DEBUG    schedule removal: 32
  1487.                   119 DEBUG    schedule removal: tab
  1488.                   119 DEBUG    schedule removal: hintmanager
  1489.                     79 DEBUG    <PyQt5.QtWidgets.QWidget object at 0x7f57e1531438>: removed child <PyQt5.QtCore.QObject object at 0x7f57e15315e8>
  1490.                     79 DEBUG    <PyQt5.QtWidgets.QWidget object at 0x7f57e1531438>: removed child <PyQt5.QtWidgets.QWidget object at 0x7f57e1bc8828>
  1491.                   124 DEBUG    removed: 32
  1492.                   124 DEBUG    removed: tab
  1493.                   124 DEBUG    removed: hintmanager
  1494.               921 DEBUG    load status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=33 url='qute:: LoadStatus.loading
  1495.               983 DEBUG    navigation request: url qute:, type Type.typed, is_main_frame True
  1496.      122 DEBUG    Got request for qute:
  1497.               139 DEBUG    url: qute:, path: /data/caret.html, host testdata
  1498.      146 DEBUG    Returning text/html data
  1499.               921 DEBUG    load status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=33 url='qute:: LoadStatus.success
  1500.                  250 DEBUG    Entering mode KeyMode.caret
  1501.  
  1502. tests/unit/browser/test_hints.py sF
  1503.  
  1504. ________________________ test_show_benchmark[webengine] ________________________
  1505. CALL ERROR: Qt exceptions in virtual methods:
  1506. ________________________________________________________________________________
  1507. Traceback (most recent call last):
  1508.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/browser/webengine/", line 621, in _js_cb_multiple
  1509.     callback(elems)
  1510.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/browser/", line 599, in _start_cb
  1511.     message.error("No elements found.")
  1512.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/utils/", line 58, in error
  1513.     log.message.error(message)
  1514.   File "/usr/lib64/python3.7/logging/__init__.py", line 1412, in error
  1515.     self._log(ERROR, msg, args, **kwargs)
  1516.   File "/usr/lib64/python3.7/logging/__init__.py", line 1519, in _log
  1517.     self.handle(record)
  1518.   File "/usr/lib64/python3.7/logging/__init__.py", line 1529, in handle
  1519.     self.callHandlers(record)
  1520.   File "/usr/lib64/python3.7/logging/__init__.py", line 1591, in callHandlers
  1521.     hdlr.handle(record)
  1522.   File "/usr/lib64/python3.7/logging/__init__.py", line 905, in handle
  1523.     self.emit(record)
  1524.   File "/home/jay/Code/tmp/qutebrowser/tests/helpers/", line 51, in emit
  1525.     record.getMessage()))
  1526.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 113, in fail
  1527.     raise Failed(msg=msg, pytrace=pytrace)
  1528. Failed: Got logging message on logger message with level ERROR: No elements found.!
  1529. ________________________________________________________________________________
  1530.  
  1531. ------------------------------ Captured log setup ------------------------------
  1532.             280 DEBUG    Reading scripts from: /tmp/pytest-of-jay/pytest-147/test_show_benchmark_webengine_0/data/greasemonkey
  1533.                   323 DEBUG    Config option changed: content.javascript.log = {'info': 'info', 'error': 'error', 'unknown': 'error', 'warning': 'error'}
  1534. ----------------------------- Captured stderr call -----------------------------
  1535. Qt exceptions in virtual methods:
  1536. ________________________________________________________________________________
  1537. Traceback (most recent call last):
  1538.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/browser/webengine/", line 621, in _js_cb_multiple
  1539.     callback(elems)
  1540.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/browser/", line 599, in _start_cb
  1541.     message.error("No elements found.")
  1542.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/utils/", line 58, in error
  1543.     log.message.error(message)
  1544.   File "/usr/lib64/python3.7/logging/__init__.py", line 1412, in error
  1545.     self._log(ERROR, msg, args, **kwargs)
  1546.   File "/usr/lib64/python3.7/logging/__init__.py", line 1519, in _log
  1547.     self.handle(record)
  1548.   File "/usr/lib64/python3.7/logging/__init__.py", line 1529, in handle
  1549.     self.callHandlers(record)
  1550.   File "/usr/lib64/python3.7/logging/__init__.py", line 1591, in callHandlers
  1551.     hdlr.handle(record)
  1552.   File "/usr/lib64/python3.7/logging/__init__.py", line 905, in handle
  1553.     self.emit(record)
  1554.   File "/home/jay/Code/tmp/qutebrowser/tests/helpers/", line 51, in emit
  1555.     record.getMessage()))
  1556.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 113, in fail
  1557.     raise Failed(msg=msg, pytrace=pytrace)
  1558. Failed: Got logging message on logger message with level ERROR: No elements found.!
  1559. ________________________________________________________________________________
  1560. ------------------------------ Captured log call -------------------------------
  1561.               955 DEBUG    Going to start loading: qute:
  1562.               955 DEBUG    Going to start loading: qute:
  1563.                     55 DEBUG    <qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f57e15d28b8> got new child <PyQt5.QtWidgets.QWidget object at 0x7f57e15c51f8>, installing filter
  1564.                   119 DEBUG    schedule removal: 33
  1565.                   119 DEBUG    schedule removal: tab
  1566.                   119 DEBUG    schedule removal: hintmanager
  1567.                     79 DEBUG    <PyQt5.QtWidgets.QWidget object at 0x7f57e15c5168>: removed child <PyQt5.QtCore.QObject object at 0x7f57e15c5318>
  1568.                     79 DEBUG    <PyQt5.QtWidgets.QWidget object at 0x7f57e15c5168>: removed child <PyQt5.QtWidgets.QWidget object at 0x7f57e15314c8>
  1569.                   124 DEBUG    removed: 33
  1570.                   124 DEBUG    removed: tab
  1571.                   124 DEBUG    removed: hintmanager
  1572.               921 DEBUG    load status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=34 url='qute:: LoadStatus.loading
  1573.               983 DEBUG    navigation request: url qute:, type Type.typed, is_main_frame True
  1574.      122 DEBUG    Got request for qute:
  1575.               139 DEBUG    url: qute:, path: /data/hints/benchmark.html, host testdata
  1576.      146 DEBUG    Returning text/html data
  1577.               921 DEBUG    load status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=34 url='qute:: LoadStatus.success
  1578.                   41 DEBUG    Stack for error message:
  1579.   File "/usr/lib64/python3.7/", line 193, in _run_module_as_main
  1580.     "__main__", mod_spec)
  1581.   File "/usr/lib64/python3.7/", line 85, in _run_code
  1582.     exec(code, run_globals)
  1583.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/", line 89, in <module>
  1584.     raise SystemExit(pytest.main())
  1585.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/config/__init__.py", line 79, in main
  1586.     return config.hook.pytest_cmdline_main(config=config)
  1587.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 289, in __call__
  1588.     return self._hookexec(self, self.get_hookimpls(), kwargs)
  1589.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 68, in _hookexec
  1590.     return self._inner_hookexec(hook, methods, kwargs)
  1591.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 62, in <lambda>
  1592.     firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  1593.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 187, in _multicall
  1594.     res = hook_impl.function(*args)
  1595.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 242, in pytest_cmdline_main
  1596.     return wrap_session(config, _main)
  1597.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 209, in wrap_session
  1598.     session.exitstatus = doit(config, session) or 0
  1599.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 249, in _main
  1600.     config.hook.pytest_runtestloop(session=session)
  1601.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 289, in __call__
  1602.     return self._hookexec(self, self.get_hookimpls(), kwargs)
  1603.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 68, in _hookexec
  1604.     return self._inner_hookexec(hook, methods, kwargs)
  1605.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 62, in <lambda>
  1606.     firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  1607.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 187, in _multicall
  1608.     res = hook_impl.function(*args)
  1609.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 270, in pytest_runtestloop
  1610.     item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
  1611.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 289, in __call__
  1612.     return self._hookexec(self, self.get_hookimpls(), kwargs)
  1613.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 68, in _hookexec
  1614.     return self._inner_hookexec(hook, methods, kwargs)
  1615.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 62, in <lambda>
  1616.     firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  1617.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 187, in _multicall
  1618.     res = hook_impl.function(*args)
  1619.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 78, in pytest_runtest_protocol
  1620.     runtestprotocol(item, nextitem=nextitem)
  1621.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 93, in runtestprotocol
  1622.     reports.append(call_and_report(item, "call", log))
  1623.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 173, in call_and_report
  1624.     call = call_runtest_hook(item, when, **kwds)
  1625.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 198, in call_runtest_hook
  1626.     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
  1627.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 226, in from_call
  1628.     result = func()
  1629.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 198, in <lambda>
  1630.     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
  1631.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 289, in __call__
  1632.     return self._hookexec(self, self.get_hookimpls(), kwargs)
  1633.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 68, in _hookexec
  1634.     return self._inner_hookexec(hook, methods, kwargs)
  1635.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 62, in <lambda>
  1636.     firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  1637.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 187, in _multicall
  1638.     res = hook_impl.function(*args)
  1639.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 123, in pytest_runtest_call
  1640.     item.runtest()
  1641.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 1455, in runtest
  1642.     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
  1643.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 289, in __call__
  1644.     return self._hookexec(self, self.get_hookimpls(), kwargs)
  1645.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 68, in _hookexec
  1646.     return self._inner_hookexec(hook, methods, kwargs)
  1647.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 62, in <lambda>
  1648.     firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  1649.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 187, in _multicall
  1650.     res = hook_impl.function(*args)
  1651.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 166, in pytest_pyfunc_call
  1652.     testfunction(**testargs)
  1653.   File "/home/jay/Code/tmp/qutebrowser/tests/unit/browser/test_hints.py", line 70, in test_show_benchmark
  1654.     benchmark(bench)
  1655.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pytest_benchmark/", line 126, in __call__
  1656.     return self._raw(function_to_benchmark, *args, **kwargs)
  1657.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pytest_benchmark/", line 148, in _raw
  1658.     duration, iterations, loops_range = self._calibrate_timer(runner)
  1659.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pytest_benchmark/", line 276, in _calibrate_timer
  1660.     duration = runner(loops_range)
  1661.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pytest_benchmark/", line 91, in runner
  1662.     function_to_benchmark(*args, **kwargs)
  1663.   File "/home/jay/Code/tmp/qutebrowser/tests/unit/browser/test_hints.py", line 65, in bench
  1664.     manager.start()
  1665.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pytestqt/wait_signal.py", line 151, in __exit__
  1666.     self.wait()
  1667.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pytestqt/wait_signal.py", line 51, in wait
  1668.     self._loop.exec_()
  1669.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/browser/webengine/", line 621, in _js_cb_multiple
  1670.     callback(elems)
  1671.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/browser/", line 599, in _start_cb
  1672.     message.error("No elements found.")
  1673.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/utils/", line 53, in error
  1674.     stack = ''.join(traceback.format_stack())
  1675.  
  1676. tests/unit/browser/test_hints.py sF
  1677.  
  1678. _______________________ test_match_benchmark[webengine] ________________________
  1679. CALL ERROR: Qt exceptions in virtual methods:
  1680. ________________________________________________________________________________
  1681. Traceback (most recent call last):
  1682.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/browser/webengine/", line 621, in _js_cb_multiple
  1683.     callback(elems)
  1684.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/browser/", line 599, in _start_cb
  1685.     message.error("No elements found.")
  1686.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/utils/", line 58, in error
  1687.     log.message.error(message)
  1688.   File "/usr/lib64/python3.7/logging/__init__.py", line 1412, in error
  1689.     self._log(ERROR, msg, args, **kwargs)
  1690.   File "/usr/lib64/python3.7/logging/__init__.py", line 1519, in _log
  1691.     self.handle(record)
  1692.   File "/usr/lib64/python3.7/logging/__init__.py", line 1529, in handle
  1693.     self.callHandlers(record)
  1694.   File "/usr/lib64/python3.7/logging/__init__.py", line 1591, in callHandlers
  1695.     hdlr.handle(record)
  1696.   File "/usr/lib64/python3.7/logging/__init__.py", line 905, in handle
  1697.     self.emit(record)
  1698.   File "/home/jay/Code/tmp/qutebrowser/tests/helpers/", line 51, in emit
  1699.     record.getMessage()))
  1700.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 113, in fail
  1701.     raise Failed(msg=msg, pytrace=pytrace)
  1702. Failed: Got logging message on logger message with level ERROR: No elements found.!
  1703. ________________________________________________________________________________
  1704.  
  1705. ------------------------------ Captured log setup ------------------------------
  1706.             280 DEBUG    Reading scripts from: /tmp/pytest-of-jay/pytest-147/test_match_benchmark_webengine0/data/greasemonkey
  1707.                   323 DEBUG    Config option changed: content.javascript.log = {'info': 'info', 'error': 'error', 'unknown': 'error', 'warning': 'error'}
  1708. ----------------------------- Captured stderr call -----------------------------
  1709. Qt exceptions in virtual methods:
  1710. ________________________________________________________________________________
  1711. Traceback (most recent call last):
  1712.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/browser/webengine/", line 621, in _js_cb_multiple
  1713.     callback(elems)
  1714.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/browser/", line 599, in _start_cb
  1715.     message.error("No elements found.")
  1716.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/utils/", line 58, in error
  1717.     log.message.error(message)
  1718.   File "/usr/lib64/python3.7/logging/__init__.py", line 1412, in error
  1719.     self._log(ERROR, msg, args, **kwargs)
  1720.   File "/usr/lib64/python3.7/logging/__init__.py", line 1519, in _log
  1721.     self.handle(record)
  1722.   File "/usr/lib64/python3.7/logging/__init__.py", line 1529, in handle
  1723.     self.callHandlers(record)
  1724.   File "/usr/lib64/python3.7/logging/__init__.py", line 1591, in callHandlers
  1725.     hdlr.handle(record)
  1726.   File "/usr/lib64/python3.7/logging/__init__.py", line 905, in handle
  1727.     self.emit(record)
  1728.   File "/home/jay/Code/tmp/qutebrowser/tests/helpers/", line 51, in emit
  1729.     record.getMessage()))
  1730.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 113, in fail
  1731.     raise Failed(msg=msg, pytrace=pytrace)
  1732. Failed: Got logging message on logger message with level ERROR: No elements found.!
  1733. ________________________________________________________________________________
  1734. ------------------------------ Captured log call -------------------------------
  1735.               955 DEBUG    Going to start loading: qute:
  1736.               955 DEBUG    Going to start loading: qute:
  1737.                     55 DEBUG    <qutebrowser.browser.webengine.webview.WebEngineView object at 0x7f57e1801288> got new child <PyQt5.QtWidgets.QWidget object at 0x7f57e1801b88>, installing filter
  1738.                   119 DEBUG    schedule removal: 34
  1739.                   119 DEBUG    schedule removal: tab
  1740.                   119 DEBUG    schedule removal: hintmanager
  1741.                     79 DEBUG    <PyQt5.QtWidgets.QWidget object at 0x7f57e1801af8>: removed child <PyQt5.QtCore.QObject object at 0x7f57e1801ca8>
  1742.                     79 DEBUG    <PyQt5.QtWidgets.QWidget object at 0x7f57e1801af8>: removed child <PyQt5.QtWidgets.QWidget object at 0x7f57e15c51f8>
  1743.                   124 DEBUG    removed: 34
  1744.                   124 DEBUG    removed: tab
  1745.                   124 DEBUG    removed: hintmanager
  1746.               921 DEBUG    load status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=35 url='qute:: LoadStatus.loading
  1747.               983 DEBUG    navigation request: url qute:, type Type.typed, is_main_frame True
  1748.      122 DEBUG    Got request for qute:
  1749.               139 DEBUG    url: qute:, path: /data/hints/benchmark.html, host testdata
  1750.      146 DEBUG    Returning text/html data
  1751.               921 DEBUG    load status for <qutebrowser.browser.webengine.webenginetab.WebEngineTab tab_id=35 url='qute:: LoadStatus.success
  1752.                   41 DEBUG    Stack for error message:
  1753.   File "/usr/lib64/python3.7/", line 193, in _run_module_as_main
  1754.     "__main__", mod_spec)
  1755.   File "/usr/lib64/python3.7/", line 85, in _run_code
  1756.     exec(code, run_globals)
  1757.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/", line 89, in <module>
  1758.     raise SystemExit(pytest.main())
  1759.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/config/__init__.py", line 79, in main
  1760.     return config.hook.pytest_cmdline_main(config=config)
  1761.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 289, in __call__
  1762.     return self._hookexec(self, self.get_hookimpls(), kwargs)
  1763.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 68, in _hookexec
  1764.     return self._inner_hookexec(hook, methods, kwargs)
  1765.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 62, in <lambda>
  1766.     firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  1767.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 187, in _multicall
  1768.     res = hook_impl.function(*args)
  1769.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 242, in pytest_cmdline_main
  1770.     return wrap_session(config, _main)
  1771.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 209, in wrap_session
  1772.     session.exitstatus = doit(config, session) or 0
  1773.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 249, in _main
  1774.     config.hook.pytest_runtestloop(session=session)
  1775.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 289, in __call__
  1776.     return self._hookexec(self, self.get_hookimpls(), kwargs)
  1777.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 68, in _hookexec
  1778.     return self._inner_hookexec(hook, methods, kwargs)
  1779.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 62, in <lambda>
  1780.     firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  1781.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 187, in _multicall
  1782.     res = hook_impl.function(*args)
  1783.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 270, in pytest_runtestloop
  1784.     item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
  1785.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 289, in __call__
  1786.     return self._hookexec(self, self.get_hookimpls(), kwargs)
  1787.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 68, in _hookexec
  1788.     return self._inner_hookexec(hook, methods, kwargs)
  1789.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 62, in <lambda>
  1790.     firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  1791.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 187, in _multicall
  1792.     res = hook_impl.function(*args)
  1793.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 78, in pytest_runtest_protocol
  1794.     runtestprotocol(item, nextitem=nextitem)
  1795.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 93, in runtestprotocol
  1796.     reports.append(call_and_report(item, "call", log))
  1797.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 173, in call_and_report
  1798.     call = call_runtest_hook(item, when, **kwds)
  1799.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 198, in call_runtest_hook
  1800.     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
  1801.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 226, in from_call
  1802.     result = func()
  1803.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 198, in <lambda>
  1804.     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
  1805.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 289, in __call__
  1806.     return self._hookexec(self, self.get_hookimpls(), kwargs)
  1807.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 68, in _hookexec
  1808.     return self._inner_hookexec(hook, methods, kwargs)
  1809.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 62, in <lambda>
  1810.     firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  1811.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 187, in _multicall
  1812.     res = hook_impl.function(*args)
  1813.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 123, in pytest_runtest_call
  1814.     item.runtest()
  1815.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 1455, in runtest
  1816.     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
  1817.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 289, in __call__
  1818.     return self._hookexec(self, self.get_hookimpls(), kwargs)
  1819.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 68, in _hookexec
  1820.     return self._inner_hookexec(hook, methods, kwargs)
  1821.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 62, in <lambda>
  1822.     firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  1823.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pluggy/", line 187, in _multicall
  1824.     res = hook_impl.function(*args)
  1825.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/_pytest/", line 166, in pytest_pyfunc_call
  1826.     testfunction(**testargs)
  1827.   File "/home/jay/Code/tmp/qutebrowser/tests/unit/browser/test_hints.py", line 84, in test_match_benchmark
  1828.     manager.start()
  1829.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pytestqt/wait_signal.py", line 151, in __exit__
  1830.     self.wait()
  1831.   File "/home/jay/Code/tmp/qutebrowser/.tox/py37/lib/python3.7/site-packages/pytestqt/wait_signal.py", line 51, in wait
  1832.     self._loop.exec_()
  1833.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/browser/webengine/", line 621, in _js_cb_multiple
  1834.     callback(elems)
  1835.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/browser/", line 599, in _start_cb
  1836.     message.error("No elements found.")
  1837.   File "/home/jay/Code/tmp/qutebrowser/qutebrowser/utils/", line 53, in error
  1838.     stack = ''.join(traceback.format_stack())
  1839.  
  1840. tests/unit/browser/test_hints.py ....................................... [ 16%]
  1841. .................................................................        [ 17%]
  1842. tests/unit/browser/test_history.py ...........................s.s....... [ 18%]
  1843. ..........                                                               [ 18%]
  1844. tests/unit/browser/test_pdfjs.py s.................................      [ 18%]
  1845. tests/unit/browser/test_qutescheme.py ...................                [ 19%]
  1846. tests/unit/browser/test_shared.py ......                                 [ 19%]
  1847. tests/unit/browser/test_signalfilter.py .......                          [ 19%]
  1848. tests/unit/browser/webengine/test_spell.py ...............               [ 19%]
  1849. tests/unit/browser/webengine/test_webenginedownloads.py ......ss..       [ 19%]
  1850. tests/unit/browser/webengine/test_webengineinterceptor.py .              [ 19%]
  1851. tests/unit/browser/webengine/test_webenginesettings.py ....              [ 19%]
  1852. tests/unit/browser/webengine/test_webenginetab.py ......                 [ 19%]
  1853. tests/unit/browser/webkit/test_cache.py ...........                      [ 19%]
  1854. tests/unit/browser/webkit/test_cookies.py ........                       [ 19%]
  1855. tests/unit/browser/webkit/test_downloads.py .....................        [ 20%]
  1856. tests/unit/browser/webkit/test_tabhistory.py sssssssssssssssssssssssssss [ 20%]
  1857. s..s                                                                     [ 20%]
  1858. tests/unit/browser/webkit/http/test_content_disposition.py ............. [ 20%]
  1859. .........x...................................s..................s......  [ 21%]
  1860. tests/unit/browser/webkit/http/test_http.py ........                     [ 21%]
  1861. tests/unit/browser/webkit/http/test_http_hypothesis.py ........          [ 21%]
  1862. tests/unit/browser/webkit/network/test_filescheme.py ......ssss....ssss. [ 22%]
  1863. ...............                                                          [ 22%]
  1864. tests/unit/browser/webkit/network/test_networkmanager.py .               [ 22%]
  1865. tests/unit/browser/webkit/network/test_networkreply.py ..........        [ 22%]
  1866. tests/unit/browser/webkit/network/test_pac.py .......................... [ 22%]
  1867. .........                                                                [ 22%]
  1868. tests/unit/commands/test_argparser.py ..........................         [ 23%]
  1869. tests/unit/commands/test_runners.py .................................... [ 23%]
  1870. ............................................s........................... [ 24%]
  1871. ...................................................                      [ 25%]
  1872. tests/unit/commands/test_userscripts.py .................                [ 25%]
  1873. tests/unit/completion/test_completer.py ...............................x [ 25%]
  1874. ..................................................                       [ 26%]
  1875. tests/unit/completion/test_completiondelegate.py ..............          [ 26%]
  1876. tests/unit/completion/test_completionmodel.py ......                     [ 26%]
  1877. tests/unit/completion/test_completionwidget.py ......................... [ 27%]
  1878. ...........................................                              [ 27%]
  1879. tests/unit/completion/test_histcategory.py .........................     [ 27%]
  1880. tests/unit/completion/test_listcategory.py ....                          [ 27%]
  1881. tests/unit/completion/test_models.py ................................... [ 28%]
  1882. ..........................                                               [ 28%]
  1883. tests/unit/components/test_adblock.py ..............................     [ 29%]
  1884. tests/unit/components/test_misccommands.py .....                         [ 29%]
  1885. tests/unit/config/test_config.py ....................................... [ 29%]
  1886. ........................................................................ [ 30%]
  1887. ....................                                                     [ 30%]
  1888. tests/unit/config/test_configcache.py .....                              [ 30%]
  1889. tests/unit/config/test_configcommands.py ............................... [ 31%]
  1890. ........................................................................ [ 32%]
  1891. .......                                                                  [ 32%]
  1892. tests/unit/config/test_configdata.py ...............................     [ 32%]
  1893. tests/unit/config/test_configexc.py .............                        [ 32%]
  1894. tests/unit/config/test_configfiles.py .................................. [ 33%]
  1895. ........................................................................ [ 34%]
  1896. ............                                                             [ 34%]
  1897. tests/unit/config/test_configinit.py ................................... [ 34%]
  1898. ................................................                         [ 35%]
  1899. tests/unit/config/test_configtypes.py .................................. [ 35%]
  1900. ........................................................................ [ 36%]
  1901. ........................................................................ [ 37%]
  1902. ........................................................................ [ 38%]
  1903. ........................................................................ [ 39%]
  1904. ........................................................................ [ 40%]
  1905. ........................................................................ [ 41%]
  1906. ........................................................................ [ 42%]
  1907. ........................................................................ [ 43%]
  1908. ........................................................................ [ 44%]
  1909. ........................................................................ [ 45%]
  1910. ........................................................................ [ 46%]
  1911. ..................xxxxxxxxxxxxxxxxxxxx.................................. [ 46%]
  1912. ........................................................................ [ 47%]
  1913. ........................................................................ [ 48%]
  1914. ....                                                                     [ 48%]
  1915. tests/unit/config/test_configutils.py ...........................        [ 49%]
  1916. tests/unit/extensions/test_loader.py ............                        [ 49%]
  1917. tests/unit/javascript/test_greasemonkey.py .....................s        [ 49%]
  1918. tests/unit/javascript/test_js_execution.py ssss......                    [ 49%]
  1919. tests/unit/javascript/stylesheet/test_stylesheet.py ......s.             [ 49%]
  1920. tests/unit/keyinput/test_basekeyparser.py .............................. [ 50%]
  1921. ...............                                                          [ 50%]
  1922. tests/unit/keyinput/test_keyutils.py ................................... [ 50%]
  1923. ........................................................................ [ 51%]
  1924. ........................................................................ [ 52%]
  1925. ........................................................................ [ 53%]
  1926. ........................................................................ [ 54%]
  1927. ........................................................................ [ 55%]
  1928. ........................................................................ [ 56%]
  1929. ........................................................................ [ 57%]
  1930. ........................................................................ [ 58%]
  1931. ........................................................................ [ 59%]
  1932. ........................................................................ [ 60%]
  1933. ........................................................................ [ 60%]
  1934. ........................................................................ [ 61%]
  1935. ........................................................................ [ 62%]
  1936. ........................................................................ [ 63%]
  1937. ........................................................................ [ 64%]
  1938. ........................................................................ [ 65%]
  1939. ........................................................................ [ 66%]
  1940. ........................................................................ [ 67%]
  1941. ........................................................................ [ 68%]
  1942. ........................................................................ [ 69%]
  1943. ........................................................................ [ 70%]
  1944. ........................................................................ [ 71%]
  1945. ........................................................................ [ 71%]
  1946. ........................................................................ [ 72%]
  1947. .......................................................                  [ 73%]
  1948. tests/unit/keyinput/test_modeman.py ....                                 [ 73%]
  1949. tests/unit/keyinput/test_modeparsers.py ....                             [ 73%]
  1950. tests/unit/mainwindow/test_messageview.py ....................           [ 73%]
  1951. tests/unit/mainwindow/test_prompt.py ......                              [ 74%]
  1952. tests/unit/mainwindow/test_tabwidget.py ..................               [ 74%]
  1953. tests/unit/mainwindow/statusbar/test_backforward.py .....                [ 74%]
  1954. tests/unit/mainwindow/statusbar/test_percentage.py .............         [ 74%]
  1955. tests/unit/mainwindow/statusbar/test_progress.py ........                [ 74%]
  1956. tests/unit/mainwindow/statusbar/test_tabindex.py .                       [ 74%]
  1957. tests/unit/mainwindow/statusbar/test_textbase.py .......                 [ 74%]
  1958. tests/unit/mainwindow/statusbar/test_url.py .......s..........s......... [ 75%]
  1959. ............                                                             [ 75%]
  1960. tests/unit/misc/test_autoupdate.py .....                                 [ 75%]
  1961. tests/unit/misc/test_checkpyver.py ....                                  [ 75%]
  1962. tests/unit/misc/test_cmdhistory.py .....................                 [ 75%]
  1963. tests/unit/misc/test_crashdialog.py ............                         [ 75%]
  1964. tests/unit/misc/test_earlyinit.py ..                                     [ 75%]
  1965. tests/unit/misc/test_editor.py ............................              [ 76%]
  1966. tests/unit/misc/test_guiprocess.py .................                     [ 76%]
  1967. tests/unit/misc/test_ipc.py .ss..ss.........s........................... [ 76%]
  1968. ............s..                                                          [ 77%]
  1969. tests/unit/misc/test_keyhints.py ...........                             [ 77%]
  1970. tests/unit/misc/test_lineparser.py .......                               [ 77%]
  1971. tests/unit/misc/test_miscwidgets.py ...........                          [ 77%]
  1972. tests/unit/misc/test_msgbox.py .......                                   [ 77%]
  1973. tests/unit/misc/test_objects.py ...                                      [ 77%]
  1974. tests/unit/misc/test_pastebin.py ...........                             [ 77%]
  1975. tests/unit/misc/test_readline.py ........x.x.............x.x..x.....x... [ 78%]
  1976. ...x.x.x.....x...                                                        [ 78%]
  1977. tests/unit/misc/test_split.py .......................................... [ 78%]
  1978. ........................................................................ [ 79%]
  1979. ........................................................................ [ 80%]
  1980. .....................................                                    [ 81%]
  1981. tests/unit/misc/test_split_hypothesis.py ........                        [ 81%]
  1982. tests/unit/misc/test_sql.py .....................................        [ 81%]
  1983. tests/unit/misc/test_utilcmds.py ....                                    [ 81%]
  1984. tests/unit/scripts/test_check_coverage.py .............................. [ 82%]
  1985. ........................................................................ [ 83%]
  1986. ...................................                                      [ 83%]
  1987. tests/unit/scripts/test_dictcli.py ........                              [ 83%]
  1988. tests/unit/scripts/test_importer.py ...........                          [ 83%]
  1989. tests/unit/scripts/test_run_vulture.py ...                               [ 83%]
  1990. tests/unit/utils/test_debug.py ...............x.x....................... [ 84%]
  1991.                                                                          [ 84%]
  1992. tests/unit/utils/test_error.py ........                                  [ 84%]
  1993. tests/unit/utils/test_javascript.py ...............ssssssssssssssss..... [ 85%]
  1994. .......                                                                  [ 85%]
  1995. tests/unit/utils/test_jinja.py .........                                 [ 85%]
  1996. tests/unit/utils/test_log.py ......................................      [ 85%]
  1997. tests/unit/utils/test_qtutils.py ....................................... [ 86%]
  1998. ........................................................................ [ 87%]
  1999. ........................                                                 [ 87%]
  2000. tests/unit/utils/test_standarddir.py ......................ssssssssss... [ 87%]
  2001. ................................                                         [ 88%]
  2002. tests/unit/utils/test_urlmatch.py ............................x......... [ 88%]
  2003. ........................................................................ [ 89%]
  2004. ...................s..........sssss..................................    [ 90%]
  2005. tests/unit/utils/test_urlutils.py ...................................... [ 91%]
  2006. ........................................................................ [ 91%]
  2007. ........................................................................ [ 92%]
  2008. ........................................................................ [ 93%]
  2009. ........................................................................ [ 94%]
  2010. ...........................................................s............ [ 95%]
  2011. ....                                                                     [ 95%]
  2012. tests/unit/utils/test_utils.py ......................................... [ 96%]
  2013. ........................................................................ [ 97%]
  2014. .....................................................                    [ 97%]
  2015. tests/unit/utils/test_version.py ................s...................... [ 98%]
  2016. .................ss.....s................                                [ 98%]
  2017. tests/unit/utils/usertypes/test_misc.py .                                [ 98%]
  2018. tests/unit/utils/usertypes/test_neighborlist.py ........................ [ 99%]
  2019. ............                                                             [ 99%]
  2020. tests/unit/utils/usertypes/test_question.py .........                    [ 99%]
  2021. tests/unit/utils/usertypes/test_timer.py .......
  2022.  
  2023.  
  2024.  
  2025. Computing stats ...
  2026. Computing stats ... group 1/1
  2027. Computing stats ... group 1/1: min
  2028. Computing stats ... group 1/1: min (1/15)
  2029. Computing stats ... group 1/1: min (2/15)
  2030. Computing stats ... group 1/1: min (3/15)
  2031. Computing stats ... group 1/1: min (4/15)
  2032. Computing stats ... group 1/1: min (5/15)
  2033. Computing stats ... group 1/1: min (6/15)
  2034. Computing stats ... group 1/1: min (7/15)
  2035. Computing stats ... group 1/1: min (8/15)
  2036. Computing stats ... group 1/1: min (9/15)
  2037. Computing stats ... group 1/1: min (10/15)
  2038. Computing stats ... group 1/1: min (11/15)
  2039. Computing stats ... group 1/1: min (12/15)
  2040. Computing stats ... group 1/1: min (13/15)
  2041. Computing stats ... group 1/1: min (14/15)
  2042. Computing stats ... group 1/1: min (15/15)
  2043. Computing stats ... group 1/1: min (1/15)
  2044. Computing stats ... group 1/1: min (2/15)
  2045. Computing stats ... group 1/1: min (3/15)
  2046. Computing stats ... group 1/1: min (4/15)
  2047. Computing stats ... group 1/1: min (5/15)
  2048. Computing stats ... group 1/1: min (6/15)
  2049. Computing stats ... group 1/1: min (7/15)
  2050. Computing stats ... group 1/1: min (8/15)
  2051. Computing stats ... group 1/1: min (9/15)
  2052. Computing stats ... group 1/1: min (10/15)
  2053. Computing stats ... group 1/1: min (11/15)
  2054. Computing stats ... group 1/1: min (12/15)
  2055. Computing stats ... group 1/1: min (13/15)
  2056. Computing stats ... group 1/1: min (14/15)
  2057. Computing stats ... group 1/1: min (15/15)
  2058. Computing stats ... group 1/1: max
  2059. Computing stats ... group 1/1: max (1/15)
  2060. Computing stats ... group 1/1: max (2/15)
  2061. Computing stats ... group 1/1: max (3/15)
  2062. Computing stats ... group 1/1: max (4/15)
  2063. Computing stats ... group 1/1: max (5/15)
  2064. Computing stats ... group 1/1: max (6/15)
  2065. Computing stats ... group 1/1: max (7/15)
  2066. Computing stats ... group 1/1: max (8/15)
  2067. Computing stats ... group 1/1: max (9/15)
  2068. Computing stats ... group 1/1: max (10/15)
  2069. Computing stats ... group 1/1: max (11/15)
  2070. Computing stats ... group 1/1: max (12/15)
  2071. Computing stats ... group 1/1: max (13/15)
  2072. Computing stats ... group 1/1: max (14/15)
  2073. Computing stats ... group 1/1: max (15/15)
  2074. Computing stats ... group 1/1: max (1/15)
  2075. Computing stats ... group 1/1: max (2/15)
  2076. Computing stats ... group 1/1: max (3/15)
  2077. Computing stats ... group 1/1: max (4/15)
  2078. Computing stats ... group 1/1: max (5/15)
  2079. Computing stats ... group 1/1: max (6/15)
  2080. Computing stats ... group 1/1: max (7/15)
  2081. Computing stats ... group 1/1: max (8/15)
  2082. Computing stats ... group 1/1: max (9/15)
  2083. Computing stats ... group 1/1: max (10/15)
  2084. Computing stats ... group 1/1: max (11/15)
  2085. Computing stats ... group 1/1: max (12/15)
  2086. Computing stats ... group 1/1: max (13/15)
  2087. Computing stats ... group 1/1: max (14/15)
  2088. Computing stats ... group 1/1: max (15/15)
  2089. Computing stats ... group 1/1: mean
  2090. Computing stats ... group 1/1: mean (1/15)
  2091. Computing stats ... group 1/1: mean (2/15)
  2092. Computing stats ... group 1/1: mean (3/15)
  2093. Computing stats ... group 1/1: mean (4/15)
  2094. Computing stats ... group 1/1: mean (5/15)
  2095. Computing stats ... group 1/1: mean (6/15)
  2096. Computing stats ... group 1/1: mean (7/15)
  2097. Computing stats ... group 1/1: mean (8/15)
  2098. Computing stats ... group 1/1: mean (9/15)
  2099. Computing stats ... group 1/1: mean (10/15)
  2100. Computing stats ... group 1/1: mean (11/15)
  2101. Computing stats ... group 1/1: mean (12/15)
  2102. Computing stats ... group 1/1: mean (13/15)
  2103. Computing stats ... group 1/1: mean (14/15)
  2104. Computing stats ... group 1/1: mean (15/15)
  2105. Computing stats ... group 1/1: mean (1/15)
  2106. Computing stats ... group 1/1: mean (2/15)
  2107. Computing stats ... group 1/1: mean (3/15)
  2108. Computing stats ... group 1/1: mean (4/15)
  2109. Computing stats ... group 1/1: mean (5/15)
  2110. Computing stats ... group 1/1: mean (6/15)
  2111. Computing stats ... group 1/1: mean (7/15)
  2112. Computing stats ... group 1/1: mean (8/15)
  2113. Computing stats ... group 1/1: mean (9/15)
  2114. Computing stats ... group 1/1: mean (10/15)
  2115. Computing stats ... group 1/1: mean (11/15)
  2116. Computing stats ... group 1/1: mean (12/15)
  2117. Computing stats ... group 1/1: mean (13/15)
  2118. Computing stats ... group 1/1: mean (14/15)
  2119. Computing stats ... group 1/1: mean (15/15)
  2120. Computing stats ... group 1/1: median
  2121. Computing stats ... group 1/1: median (1/15)
  2122. Computing stats ... group 1/1: median (2/15)
  2123. Computing stats ... group 1/1: median (3/15)
  2124. Computing stats ... group 1/1: median (4/15)
  2125. Computing stats ... group 1/1: median (5/15)
  2126. Computing stats ... group 1/1: median (6/15)
  2127. Computing stats ... group 1/1: median (7/15)
  2128. Computing stats ... group 1/1: median (8/15)
  2129. Computing stats ... group 1/1: median (9/15)
  2130. Computing stats ... group 1/1: median (10/15)
  2131. Computing stats ... group 1/1: median (11/15)
  2132. Computing stats ... group 1/1: median (12/15)
  2133. Computing stats ... group 1/1: median (13/15)
  2134. Computing stats ... group 1/1: median (14/15)
  2135. Computing stats ... group 1/1: median (15/15)
  2136. Computing stats ... group 1/1: median (1/15)
  2137. Computing stats ... group 1/1: median (2/15)
  2138. Computing stats ... group 1/1: median (3/15)
  2139. Computing stats ... group 1/1: median (4/15)
  2140. Computing stats ... group 1/1: median (5/15)
  2141. Computing stats ... group 1/1: median (6/15)
  2142. Computing stats ... group 1/1: median (7/15)
  2143. Computing stats ... group 1/1: median (8/15)
  2144. Computing stats ... group 1/1: median (9/15)
  2145. Computing stats ... group 1/1: median (10/15)
  2146. Computing stats ... group 1/1: median (11/15)
  2147. Computing stats ... group 1/1: median (12/15)
  2148. Computing stats ... group 1/1: median (13/15)
  2149. Computing stats ... group 1/1: median (14/15)
  2150. Computing stats ... group 1/1: median (15/15)
  2151. Computing stats ... group 1/1: iqr
  2152. Computing stats ... group 1/1: iqr (1/15)
  2153. Computing stats ... group 1/1: iqr (2/15)
  2154. Computing stats ... group 1/1: iqr (3/15)
  2155. Computing stats ... group 1/1: iqr (4/15)
  2156. Computing stats ... group 1/1: iqr (5/15)
  2157. Computing stats ... group 1/1: iqr (6/15)
  2158. Computing stats ... group 1/1: iqr (7/15)
  2159. Computing stats ... group 1/1: iqr (8/15)
  2160. Computing stats ... group 1/1: iqr (9/15)
  2161. Computing stats ... group 1/1: iqr (10/15)
  2162. Computing stats ... group 1/1: iqr (11/15)
  2163. Computing stats ... group 1/1: iqr (12/15)
  2164. Computing stats ... group 1/1: iqr (13/15)
  2165. Computing stats ... group 1/1: iqr (14/15)
  2166. Computing stats ... group 1/1: iqr (15/15)
  2167. Computing stats ... group 1/1: iqr (1/15)
  2168. Computing stats ... group 1/1: iqr (2/15)
  2169. Computing stats ... group 1/1: iqr (3/15)
  2170. Computing stats ... group 1/1: iqr (4/15)
  2171. Computing stats ... group 1/1: iqr (5/15)
  2172. Computing stats ... group 1/1: iqr (6/15)
  2173. Computing stats ... group 1/1: iqr (7/15)
  2174. Computing stats ... group 1/1: iqr (8/15)
  2175. Computing stats ... group 1/1: iqr (9/15)
  2176. Computing stats ... group 1/1: iqr (10/15)
  2177. Computing stats ... group 1/1: iqr (11/15)
  2178. Computing stats ... group 1/1: iqr (12/15)
  2179. Computing stats ... group 1/1: iqr (13/15)
  2180. Computing stats ... group 1/1: iqr (14/15)
  2181. Computing stats ... group 1/1: iqr (15/15)
  2182. Computing stats ... group 1/1: stddev
  2183. Computing stats ... group 1/1: stddev (1/15)
  2184. Computing stats ... group 1/1: stddev (2/15)
  2185. Computing stats ... group 1/1: stddev (3/15)
  2186. Computing stats ... group 1/1: stddev (4/15)
  2187. Computing stats ... group 1/1: stddev (5/15)
  2188. Computing stats ... group 1/1: stddev (6/15)
  2189. Computing stats ... group 1/1: stddev (7/15)
  2190. Computing stats ... group 1/1: stddev (8/15)
  2191. Computing stats ... group 1/1: stddev (9/15)
  2192. Computing stats ... group 1/1: stddev (10/15)
  2193. Computing stats ... group 1/1: stddev (11/15)
  2194. Computing stats ... group 1/1: stddev (12/15)
  2195. Computing stats ... group 1/1: stddev (13/15)
  2196. Computing stats ... group 1/1: stddev (14/15)
  2197. Computing stats ... group 1/1: stddev (15/15)
  2198. Computing stats ... group 1/1: stddev (1/15)
  2199. Computing stats ... group 1/1: stddev (2/15)
  2200. Computing stats ... group 1/1: stddev (3/15)
  2201. Computing stats ... group 1/1: stddev (4/15)
  2202. Computing stats ... group 1/1: stddev (5/15)
  2203. Computing stats ... group 1/1: stddev (6/15)
  2204. Computing stats ... group 1/1: stddev (7/15)
  2205. Computing stats ... group 1/1: stddev (8/15)
  2206. Computing stats ... group 1/1: stddev (9/15)
  2207. Computing stats ... group 1/1: stddev (10/15)
  2208. Computing stats ... group 1/1: stddev (11/15)
  2209. Computing stats ... group 1/1: stddev (12/15)
  2210. Computing stats ... group 1/1: stddev (13/15)
  2211. Computing stats ... group 1/1: stddev (14/15)
  2212. Computing stats ... group 1/1: stddev (15/15)
  2213. Computing stats ... group 1/1: ops
  2214. Computing stats ... group 1/1: ops (1/15)
  2215. Computing stats ... group 1/1: ops (2/15)
  2216. Computing stats ... group 1/1: ops (3/15)
  2217. Computing stats ... group 1/1: ops (4/15)
  2218. Computing stats ... group 1/1: ops (5/15)
  2219. Computing stats ... group 1/1: ops (6/15)
  2220. Computing stats ... group 1/1: ops (7/15)
  2221. Computing stats ... group 1/1: ops (8/15)
  2222. Computing stats ... group 1/1: ops (9/15)
  2223. Computing stats ... group 1/1: ops (10/15)
  2224. Computing stats ... group 1/1: ops (11/15)
  2225. Computing stats ... group 1/1: ops (12/15)
  2226. Computing stats ... group 1/1: ops (13/15)
  2227. Computing stats ... group 1/1: ops (14/15)
  2228. Computing stats ... group 1/1: ops (15/15)
  2229. Computing stats ... group 1/1: ops (1/15)
  2230. Computing stats ... group 1/1: ops (2/15)
  2231. Computing stats ... group 1/1: ops (3/15)
  2232. Computing stats ... group 1/1: ops (4/15)
  2233. Computing stats ... group 1/1: ops (5/15)
  2234. Computing stats ... group 1/1: ops (6/15)
  2235. Computing stats ... group 1/1: ops (7/15)
  2236. Computing stats ... group 1/1: ops (8/15)
  2237. Computing stats ... group 1/1: ops (9/15)
  2238. Computing stats ... group 1/1: ops (10/15)
  2239. Computing stats ... group 1/1: ops (11/15)
  2240. Computing stats ... group 1/1: ops (12/15)
  2241. Computing stats ... group 1/1: ops (13/15)
  2242. Computing stats ... group 1/1: ops (14/15)
  2243. Computing stats ... group 1/1: ops (15/15)
  2244. Computing stats ... group 1/1: ops: outliers
  2245. Computing stats ... group 1/1: ops: outliers (1/15)
  2246. Computing stats ... group 1/1: ops: outliers (2/15)
  2247. Computing stats ... group 1/1: ops: outliers (3/15)
  2248. Computing stats ... group 1/1: ops: outliers (4/15)
  2249. Computing stats ... group 1/1: ops: outliers (5/15)
  2250. Computing stats ... group 1/1: ops: outliers (6/15)
  2251. Computing stats ... group 1/1: ops: outliers (7/15)
  2252. Computing stats ... group 1/1: ops: outliers (8/15)
  2253. Computing stats ... group 1/1: ops: outliers (9/15)
  2254. Computing stats ... group 1/1: ops: outliers (10/15)
  2255. Computing stats ... group 1/1: ops: outliers (11/15)
  2256. Computing stats ... group 1/1: ops: outliers (12/15)
  2257. Computing stats ... group 1/1: ops: outliers (13/15)
  2258. Computing stats ... group 1/1: ops: outliers (14/15)
  2259. Computing stats ... group 1/1: ops: outliers (15/15)
  2260. Computing stats ... group 1/1: ops: rounds
  2261. Computing stats ... group 1/1: ops: rounds (1/15)
  2262. Computing stats ... group 1/1: ops: rounds (2/15)
  2263. Computing stats ... group 1/1: ops: rounds (3/15)
  2264. Computing stats ... group 1/1: ops: rounds (4/15)
  2265. Computing stats ... group 1/1: ops: rounds (5/15)
  2266. Computing stats ... group 1/1: ops: rounds (6/15)
  2267. Computing stats ... group 1/1: ops: rounds (7/15)
  2268. Computing stats ... group 1/1: ops: rounds (8/15)
  2269. Computing stats ... group 1/1: ops: rounds (9/15)
  2270. Computing stats ... group 1/1: ops: rounds (10/15)
  2271. Computing stats ... group 1/1: ops: rounds (11/15)
  2272. Computing stats ... group 1/1: ops: rounds (12/15)
  2273. Computing stats ... group 1/1: ops: rounds (13/15)
  2274. Computing stats ... group 1/1: ops: rounds (14/15)
  2275. Computing stats ... group 1/1: ops: rounds (15/15)
  2276. Computing stats ... group 1/1: ops: iterations
  2277. Computing stats ... group 1/1: ops: iterations (1/15)
  2278. Computing stats ... group 1/1: ops: iterations (2/15)
  2279. Computing stats ... group 1/1: ops: iterations (3/15)
  2280. Computing stats ... group 1/1: ops: iterations (4/15)
  2281. Computing stats ... group 1/1: ops: iterations (5/15)
  2282. Computing stats ... group 1/1: ops: iterations (6/15)
  2283. Computing stats ... group 1/1: ops: iterations (7/15)
  2284. Computing stats ... group 1/1: ops: iterations (8/15)
  2285. Computing stats ... group 1/1: ops: iterations (9/15)
  2286. Computing stats ... group 1/1: ops: iterations (10/15)
  2287. Computing stats ... group 1/1: ops: iterations (11/15)
  2288. Computing stats ... group 1/1: ops: iterations (12/15)
  2289. Computing stats ... group 1/1: ops: iterations (13/15)
  2290. Computing stats ... group 1/1: ops: iterations (14/15)
  2291. Computing stats ... group 1/1: ops: iterations (15/15)
  2292. ---------------------------------------------------- benchmark: 15 tests -----------------------------------------------------
  2293. Name (time in ns)                                        Min                         Max                      Median          
  2294. ------------------------------------------------------------------------------------------------------------------------------
  2295. test_tab_pinned_benchmark                           773.3373 (1.0)            3,181.6696 (1.0)              851.6654 (1.0)    
  2296. test_adblock_benchmark                            3,499.9684 (4.53)          21,679.9672 (6.81)           3,680.0047 (4.32)  
  2297. test_urlpattern_benchmark                        23,159.9552 (29.95)        200,974.9878 (63.17)         23,979.9847 (28.16)  
  2298. test_update_tab_titles_benchmark[4]              51,840.9652 (67.04)         88,002.0089 (27.66)         54,030.9702 (63.44)  
  2299. test_update_tab_titles_benchmark[10]            120,743.0032 (156.13)       205,254.9971 (64.51)        125,513.0046 (147.37)
  2300. test_update_tab_titles_benchmark[50]            601,702.9518 (778.06)       913,860.0435 (287.23)       709,384.9708 (832.94)
  2301. test_update_tab_titles_benchmark[100]         1,212,036.0043 (>1000.0)    1,468,070.9573 (461.42)     1,245,977.0078 (>1000.0)
  2302. test_add_remove_tab_benchmark[True-4]         1,706,656.9999 (>1000.0)    3,730,151.0456 (>1000.0)    1,901,411.0439 (>1000.0)
  2303. test_add_remove_tab_benchmark[False-4]        3,334,661.9457 (>1000.0)  342,405,995.0048 (>1000.0)    4,331,688.4839 (>1000.0)
  2304. test_configcache_naive_benchmark              7,768,630.0501 (>1000.0)    9,443,016.0243 (>1000.0)    7,799,645.5075 (>1000.0)
  2305. test_init_benchmark                          34,165,909.9795 (>1000.0)   35,775,451.9791 (>1000.0)   34,574,226.0106 (>1000.0)
  2306. test_add_remove_tab_benchmark[True-70]      189,631,121.9898 (>1000.0)  197,606,461.9957 (>1000.0)  191,896,820.0043 (>1000.0)
  2307. test_url_completion_benchmark               261,626,914.0271 (>1000.0)  266,618,594.9929 (>1000.0)  264,894,319.9893 (>1000.0)
  2308. test_add_remove_tab_benchmark[False-70]     501,225,198.9683 (>1000.0)  747,515,388.0077 (>1000.0)  723,222,394.9977 (>1000.0)
  2309. test_qute_history_benchmark                 646,889,367.0244 (>1000.0)  650,363,859.9534 (>1000.0)  648,988,791.9743 (>1000.0)
  2310. ------------------------------------------------------------------------------------------------------------------------------
  2311.  
  2312. Legend:
  2313.   Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile.
  2314.   OPS: Operations Per Second, computed as 1 / Mean
  2315. =========================== short test summary info ============================
  2316. FAILED tests/end2end/features/test_downloads_bdd.py::test_downloading_a_file_with_evil_contentdisposition_header_qt_59_or_newer
  2317. FAILED tests/end2end/features/test_history_bdd.py::test_history_with_invalid_url
  2318. FAILED tests/end2end/features/test_search_bdd.py::test_follow_a_searched_link
  2319. FAILED tests/end2end/features/test_sessions_bdd.py::test_scrolling_qtwebengine
  2320. FAILED tests/end2end/features/test_utilcmds_bdd.py::test_later_before
  2321. FAILED tests/end2end/features/test_utilcmds_bdd.py::test_later_after
  2322. FAILED tests/unit/browser/test_caret.py::TestFollowSelected::test_follow_selected_with_link[True-webengine]
  2323. FAILED tests/unit/browser/test_caret.py::TestFollowSelected::test_follow_selected_with_link[False-webengine]
  2324. FAILED tests/unit/browser/test_hints.py::test_show_benchmark[webengine]
  2325. FAILED tests/unit/browser/test_hints.py::test_match_benchmark[webengine]
  2326. = 10 failed, 7431 passed, 344 skipped, 60 xfailed, 1 rerun in 1096.72 seconds ==
  2327. ERROR: InvocationError for command '/home/jay/Code/tmp/qutebrowser/.tox/py37/bin/python -bb -m pytest --qute-bdd-webengine' (exited with code 1)
  2328. ___________________________________ summary ____________________________________
  2329. ERROR:   py37: commands failed
  2330.