Commit Graph

1127 Commits

Author SHA1 Message Date
Florian Bruhin
f92ccd4893 Show diff on Travis in check_doc_changes 2017-07-04 15:09:23 +02:00
Florian Bruhin
397ca47efb Fix vulture 2017-07-04 15:09:23 +02:00
Florian Bruhin
79c11d6008 Skip test_configdata.test_init_benchmark on Travis in Docker
See #2777
2017-07-04 15:09:23 +02:00
Florian Bruhin
e72b0fc89d Update check_coverage.py for new config 2017-07-04 15:08:04 +02:00
Florian Bruhin
5c08c6c930 Add conditional backend infos to docs 2017-07-04 15:08:03 +02:00
Florian Bruhin
25ab3b30c2 Initial doc update with new settings 2017-07-04 15:08:03 +02:00
Florian Bruhin
cc90cc6843 Initial pylint checker update 2017-07-04 14:42:56 +02:00
Florian Bruhin
629038632c Add proxy support for QtWebEngine and Qt 5.7.1
This used to give us crashes in libproxy:
https://github.com/libproxy/libproxy/issues/45
https://bugreports.qt.io/browse/QTBUG-56852

However, trying again with Qt 5.7.1 on Debian and from PyPI, this doesn't happen
anymore, so it was probably something with how Archlinux handled things.

See #2082, #2775.
Reverts fd29528e4f
2017-07-03 10:29:28 +02:00
Florian Bruhin
8de0445661 Move UserAgent to configdata 2017-07-02 22:17:33 +02:00
Florian Bruhin
c856f6d97b Initial work on new pylint checker 2017-07-02 22:17:33 +02:00
Florian Bruhin
52f6ea2525 Initial parsing 2017-07-02 22:17:33 +02:00
Florian Bruhin
a98a6ac0c8 travis: Write a sane sources.list
Also updates nodejs
2017-06-28 21:42:50 +02:00
Ryan Roden-Corrent
119c33ac32 Remove base.py from check_coverage.
This module no longer exists.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
de5be0dc5a Store history in an on-disk sqlite database.
Instead of reading sqlite history from a file and storing it in an in-memory
database, just directly use an on-disk database. This resolves #755, where
history entries don't pop in to the completion menu immediately as they are
still being read asynchronously for a few seconds after the browser starts.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
2eea115b3a Rename sqlcategory and add to perfect_files.
There was a typo in the file name.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
f95dff4d9e Decouple categories from completionmodel.
Instead of add_list and add_sqltable, the completion model now supports
add_category, and callees either pass in a SqlCategory or ListCategory. This
makes unit testing much easier.

This also folds CompletionFilterModel into the ListCategory class.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
1474e38eec Add urlmodel to perfect_files 2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
be38e181a8 Install libqt5sql5-sqlite for debian CI.
Needed for tests to pass with the new SQL dependency.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
93f8984987 Install pyqt5.qtsql bindings for debian CI.
SQL is included in the Archlinux pyqt5 package, but not in Debian.
We need this so the debian-based CI builds will pass with the new
sql-based completion implementation.
2017-06-19 07:42:12 -04:00
Florian Bruhin
f49bbcbb9f Sort names in recompile_requirements again
This got lost with the previous revert
2017-06-01 16:21:48 +02:00
Florian Bruhin
a7143d5649 Revert "Update recompile_requirements for newer pips"
This reverts commit 8afc215c3d.

Since setuptools 36, it now vendors its dependencies again, as the vendoring has
lead to various issues.
2017-06-01 16:16:04 +02:00
Florian Bruhin
62b44c5338 Fix lint 2017-05-30 17:07:31 +02:00
Florian Bruhin
f656cda248 Merge commit '798cae51d4971a74fa5a7de4815b32d9871caad5' 2017-05-30 10:39:20 +02:00
Philipp Hansch
798cae51d4
Fix pylint issue 2017-05-29 23:15:22 +02:00
Philipp Hansch
abd3333b9f
Add TOC to installation instructions
This adds a Table of Contents to the installation instructions to
improve the navigation within the document.

I decided to use the command line to configure the TOC because there
were problems with using just using an attribute entry in the document
header.
Specifically the insertion of the `header.asciidoc` into the resulting
HTML file prevented the attribute entry approach from working.

The TOC can now be inserted into any doc file using

    toc::[]
2017-05-29 21:14:01 +02:00
Florian Bruhin
464eb29704 Set PATH in build_release.py when calling tox
On Windows, we need to have the proper Python folder in PATH when using PyQt5,
so it can load python3.dll properly.
2017-05-24 20:52:57 +02:00
Florian Bruhin
1adcf28e31 build_release: Adjust Windows Python paths 2017-05-24 13:30:11 +02:00
Florian Bruhin
4e48f878ba build_release: Call tox with -v 2017-05-24 08:37:06 +02:00
Florian Bruhin
b811b9e380 Run update_3rdparty correctly from build_release 2017-05-24 08:37:06 +02:00
Florian Bruhin
59760b58d9 Add windows installers to build_release 2017-05-24 08:37:06 +02:00
Florian Bruhin
af1e1d9239 Merge commit 'c814ced7b35968cfdeb6284cc79168bfffed7c85' 2017-05-23 17:18:55 +02:00
Florian Bruhin
499f5df2a9 ci: Use Python 3.6 everywhere 2017-05-17 21:40:24 +02:00
Florian Bruhin
12520bf4ba Install PyQt from PyPI for pylint
This means we can be sure to have QtWebEngine available and won't have QtWebKit.
2017-05-17 19:08:59 +02:00
Florian Bruhin
608ac89f06 Fix lint 2017-05-17 14:32:13 +02:00
Florian Bruhin
c5957bc9d0 Exclude pdfjs from build packages for now
It only makes things bigger, and currently pdfjs doesn't work on QtWebEngine
anyways.
2017-05-17 11:42:58 +02:00
Florian Bruhin
9898d80625 Remove legacy cx_Freeze code
This also removes frozen tests for now. They should be readded at some point...
2017-05-17 11:31:14 +02:00
Florian Bruhin
e955540f71 build_release: More fixes 2017-05-17 11:10:36 +02:00
Florian Bruhin
47bf261994 build_release: Different PyInstaller workaround 2017-05-17 11:10:32 +02:00
Florian Bruhin
71b5d83e19 build_release: Various fixes 2017-05-17 11:10:20 +02:00
Florian Bruhin
dc947bf9a9 build_release: Python version adjustments 2017-05-17 11:09:22 +02:00
Florian Bruhin
49a328727e build_release: Add Windows patching for PyInstaller 2017-05-17 11:09:22 +02:00
Florian Bruhin
9816de9e8d build_release: Initial changes for PyInstaller 2017-05-17 11:06:06 +02:00
Florian Bruhin
70e2963432 build_release: Adjust repo name 2017-05-17 11:05:27 +02:00
Florian Bruhin
086139110d Merge branch 'new-private-browsing' 2017-05-16 06:32:15 +02:00
Florian Bruhin
991b3123d7 check_coverage: Add qutebrowser/ to filter list
For coverage 4.4 we removed qutebrowser/ from filenames, so we need to re-add it
here so the filter still works correctly.
2017-05-15 11:32:41 +02:00
Florian Bruhin
f6fc2666ce Generate stylesheet for statusbar 2017-05-15 11:07:43 +02:00
Matthias Lisin
c814ced7b3 Add Android UA 2017-05-13 15:05:54 +02:00
Florian Bruhin
822623f2ed Finally update copyrights... 2017-05-09 21:37:03 +02:00
Florian Bruhin
8052249b1b Make check_coverage.py work with coverage 4.4
With coverage 4.4, the source name (qutebrowser/) is not added to the filename
anymore. To adjust for that, we remove qutebrowser/ from all paths, and also
make sure to remove it from what coverage returns (in case someone is running an
older version).
2017-05-09 06:13:35 +02:00
Florian Bruhin
2a4af0666b Regenerate authors 2017-05-03 18:36:48 +02:00
Florian Bruhin
1d0f187fab Adjustments for new pylint version 2017-04-13 18:22:16 +02:00
Florian Bruhin
4ec5700cbf Redirect qute:foo to qute://foo
Before, we just returned the same data for both, but then we'll run into
same-origin restrictions as qute:history and qute:history/data are not the same
host.
2017-04-06 21:18:58 +02:00
Florian Bruhin
fd276dabc7 appveyor_install: Don't install old PyQt if unneeded 2017-03-31 13:05:35 +02:00
Florian Bruhin
eb31f679f4 Allow unknown args in testbrowser 2017-03-30 21:50:19 +02:00
Florian Bruhin
069f908a61 Get rid of run_pytest.py
Fixes #2452
2017-03-18 21:03:52 +01:00
Florian Bruhin
befb1afb2c Fix vulture 2017-03-16 07:50:23 +01:00
Florian Bruhin
7d9686f917 Don't keep temporary files around in asciidoc2html
Fixes #2431
2017-03-13 06:56:29 +01:00
Florian Bruhin
b117d981a5 Install debug packages on Ubuntu 2017-03-05 20:28:27 +01:00
Florian Bruhin
23a26bf08b Improve travis backtrace script 2017-03-05 20:28:27 +01:00
Florian Bruhin
8fb640f1ff Debug segfaults on travis
Fixes #2097
2017-03-05 20:28:27 +01:00
Florian Bruhin
d4124c5c2a Ignore pyup-bot for author list 2017-03-01 23:55:19 +01:00
Florian Bruhin
65f407e926 Remove webelem.style_property()
It's not used anymore, and not possible to support with QtWebEngine without a
massive performance hit when serializing elements.
2017-03-01 17:54:27 +01:00
Florian Bruhin
2c87b4f979 Another try at frozen pytest_benchmark 2017-02-19 21:33:49 +01:00
Florian Bruhin
a34bc929ac Fix handling of pytest-benchmark for frozen tests 2017-02-19 20:11:46 +01:00
Florian Bruhin
a8b27eb271 Fix lint 2017-02-19 19:44:50 +01:00
Florian Bruhin
9a638b2dba Patch OS X .app to work with QtWebEngine 2017-02-19 15:41:20 +01:00
Florian Bruhin
0b94f2ed8c Fix pytest-benchmark package name 2017-02-18 00:46:55 +01:00
Florian Bruhin
4e74fff5e8 Test/lint fixes 2017-02-18 00:10:13 +01:00
Florian Bruhin
a86170f45d Drop PyQt < 5.7.1 support for QtWebEngine 2017-02-17 14:42:57 +01:00
Florian Bruhin
abded2470a Reenable PyQt 5.6 PyPI tests
To avoid segfaults we need to hardcode the sip version.
We also need to write a Qt.conf as it was missing with PyQt 5.6 and QtWebEngine
can't find its resources.
2017-02-17 12:00:16 +01:00
Florian Bruhin
79d22f2505 travis: Don't install libpython3.4-dev for PyPI PyQt 2017-02-17 07:02:57 +01:00
Florian Bruhin
7c701dc697 Disable coverage checks for webkitelem.py 2017-02-12 02:26:46 +01:00
Florian Bruhin
c0c636c3eb Revert OS X / Windows changes for PyPI packages 2017-02-09 00:50:38 +01:00
Florian Bruhin
4506575638 Try PyPI envs on Appveyor 2017-02-09 00:50:38 +01:00
Florian Bruhin
314ba53014 travis: Don't run check_pyqt on OS X for PyPI jobs 2017-02-09 00:50:37 +01:00
Florian Bruhin
5d2b32956b travis: Install geoclue for PyPI tests 2017-02-09 00:50:37 +01:00
Florian Bruhin
ce3e24163e Add test environments using PyQt from PyPI
Fixes #2083
2017-02-09 00:50:37 +01:00
Florian Bruhin
df245dae48 Add support for general -> print-element-backgrounds with WebEngine 2017-02-06 21:08:32 +01:00
Florian Bruhin
4ee207b3cb Remove webkit.tabhistory from check_coverage
We can't easily check for both QtWebKit and -NG code in the same run.
2017-02-06 08:48:08 +01:00
Florian Bruhin
99d1636878 Properly implement session support for QtWebKit-NG
See #1571
2017-02-06 08:48:08 +01:00
Florian Bruhin
dfbcb75313 First prototype of QtWebKit-NG history/session support 2017-02-06 08:48:08 +01:00
Florian Bruhin
129c1a0b1a Add missing comma 2017-02-05 19:09:31 +01:00
Florian Bruhin
f3b39c55a0 Fix lint 2017-02-05 18:42:34 +01:00
Florian Bruhin
febfa00dd5 travis: Use --no-xvfb on OS X 2017-02-05 12:58:37 +01:00
Florian Bruhin
77f6b14db8 Fix doc generation for network -> proxy 2017-02-05 01:48:41 +01:00
Florian Bruhin
ae54648be8 Update get_coredumpctl_traces for newer Python versions 2017-02-05 01:43:17 +01:00
Florian Bruhin
8afc215c3d Update recompile_requirements for newer pips
pip now depends on (instead of vendoring) its dependencies, so we needed some
updates there to only install the affected packages once.

Fixes #2255
2017-02-05 01:29:21 +01:00
Florian Bruhin
4cf974796e Replace remaining mentions of The-Compiler/qutebrowser 2017-02-05 00:14:50 +01:00
Florian Bruhin
de50f30b9b Replace all GitHub links 2017-02-05 00:13:11 +01:00
Florian Bruhin
7d1316fe03 Remove webelem.py from coverage check
These tests need a bigger overhaul to work with QtWebEngine and use actual web
elements.
2017-02-03 23:46:44 +01:00
Florian Bruhin
7304db916c freeze.py: Remove pkg_resources._vendor packages
See https://github.com/pypa/setuptools/pull/933
2017-01-25 08:05:40 +01:00
Florian Bruhin
43ae66dba4 freeze_tests: Add queue module for cheroot 2017-01-23 09:22:50 +01:00
Florian Bruhin
d9808aefed Switch from CherryPy to cheroot, take 2
This reverts commit 3584eabd6f.
This reverts commit 37dc99c26f.
2017-01-23 07:38:24 +01:00
Florian Bruhin
37dc99c26f Revert "Switch from CherryPy to cheroot"
This reverts commit 1ab2b3af83.

See https://github.com/cherrypy/cheroot/pull/2
2017-01-20 09:06:49 +01:00
Florian Bruhin
1ab2b3af83 Switch from CherryPy to cheroot
The WSGIServer got split off from CherryPy in a separate project
2017-01-20 08:07:55 +01:00
Florian Bruhin
057e5c9807 Update authors 2016-12-28 23:33:52 +01:00
Florian Bruhin
5a89ee96d9 Merge branch 'pac' of https://github.com/abbradar/qutebrowser into abbradar-pac 2016-12-22 08:53:10 +01:00
Florian Bruhin
c7970eb2ee Xfail tests which fail on Docker/Travis
See #2183
2016-12-20 21:32:46 +01:00
Nikolay Amiantov
87890dab20 Add PAC files support 2016-12-07 02:01:19 +03:00
Florian Bruhin
7ffabb2b92 Update docs 2016-11-22 22:22:24 +01:00
Florian Bruhin
8d781c68c9 Fix lint 2016-11-10 22:45:27 +01:00
Florian Bruhin
2d23ed52de Adjust check_coverage 2016-11-10 22:45:27 +01:00
Florian Bruhin
3884271505 check_coverage: Add keyinput.macros to WHITELISTED_FILES 2016-11-10 06:54:02 +01:00
Florian Bruhin
6019e090a1 Fix get_coredumpctl_traces.py 2016-11-07 17:29:34 +01:00
Florian Bruhin
0c9a97225a Fix GitHub filename 2016-11-05 23:35:56 +01:00
Florian Bruhin
d92674dd04 Remove test_prompt.py 2016-11-03 08:40:41 +01:00
Florian Bruhin
ced618eccb Pass all arguments to pip on Travis 2016-11-03 08:37:30 +01:00
Florian Bruhin
55d8239671 Fix pip installs on CI 2016-11-03 08:30:21 +01:00
Florian Bruhin
b0e0b1d073 Get rid of requirements-pip.txt
While pinning setuptools/pip versions is still somewhat desirable, we
can't pin it everywhere easily, and the current solution will break
stuff on Windows.
2016-11-03 07:22:31 +01:00
Florian Bruhin
cd97ef0047 Add a QtWebEngine C++ testbrowser 2016-11-02 08:01:09 +01:00
Daniel Karbach
da2ba86aa5 use https for links in docs and elsewhere
refs #2039
2016-10-20 14:48:35 +02:00
Florian Bruhin
bce5fc529b travis: Don't try to upgrade pip on OS X
We will run into (probably?) system integrity protection.
2016-10-05 13:20:33 +02:00
Florian Bruhin
197e3732d8 travis: Install pip on OS X
It seems pip isn't preinstalled on the newest image.
2016-10-05 13:10:31 +02:00
Florian Bruhin
04d2d60241 travis: Remove custom OS X Qt builds 2016-10-05 12:54:23 +02:00
Florian Bruhin
aec1cf3842 Fix lint 2016-09-26 08:12:18 +02:00
Florian Bruhin
41db521b9e Improve check_coverage output
We now show the coverage report for the affected files so we have some
useful debug output.
2016-09-26 07:33:27 +02:00
Florian Bruhin
49615820bb Fix test path in check_coverage.py 2016-09-15 15:09:33 +02:00
Florian Bruhin
e338d4b49c Add MessageView tests 2016-09-15 14:51:22 +02:00
Florian Bruhin
7e30792bfe Fix lint 2016-09-15 14:51:22 +02:00
Florian Bruhin
c128aba27e Fix qute:* handlers in run_vulture.py 2016-09-14 11:39:19 +02:00
Florian Bruhin
aa71c9ae58 Initial qute:* support for QtWebEngine 2016-09-14 10:18:25 +02:00
Florian Bruhin
32a33c26a8 Restore sys.excepthook in scripts.run_profile 2016-09-12 09:28:09 +02:00
Florian Bruhin
1b5cd98d38 Fix lint 2016-09-11 20:16:03 +02:00
Florian Bruhin
44d1056e54 QtWebEngine: Implement custom HTTP headers 2016-09-07 18:29:38 +02:00
Florian Bruhin
6831177f2e Add docstring for update_3rdparty.update_ace 2016-09-07 13:02:48 +02:00
Florian Bruhin
3d9b33f6a5 Ignore ace.js for spellcheck 2016-09-07 13:01:54 +02:00
Florian Bruhin
522049132b Add a test for hinting with ACE editor 2016-09-07 12:28:12 +02:00
Florian Bruhin
6635c71849 Fix test_webkitelem.py path in check_coverage 2016-09-07 11:37:31 +02:00
Florian Bruhin
1123a25668 travis: Add --qute-bdd-webengine on OS X 2016-09-05 23:14:33 +02:00
Florian Bruhin
c503c2953d Make testbrowser.py run without QtWebKit 2016-09-05 18:50:39 +02:00
Florian Bruhin
baf6bb5514 Pass $QUTE_BDD_WEBENGINE to Docker correctly 2016-09-05 16:00:23 +02:00
Florian Bruhin
2de3065187 Use new Docker repository 2016-09-02 19:03:13 +02:00
Florian Bruhin
be129b8aad freeze: Fix pkg_resources._vendor.appdirs include 2016-09-01 07:00:26 +02:00
Florian Bruhin
6dace67074 freeze.py: Include pkg_resources.extern.appdirs 2016-08-30 13:23:53 +02:00
Florian Bruhin
77aa8b4337 pylint: Use ignored-modules for pytest
See https://github.com/PyCQA/astroid/pull/357
2016-08-23 07:45:31 +02:00
Florian Bruhin
0c6574afb1 Replace py.test with pytest
See #1877
2016-08-22 07:41:10 +02:00
Florian Bruhin
016349941b Update vulture whitelist 2016-08-17 14:51:05 +02:00
Florian Bruhin
577c6270ad Remove some old entries from vulture whitelist 2016-08-16 20:20:09 +02:00
Florian Bruhin
c99d3e7dca Fix %s output in scripts.dev.ua_fetch 2016-08-16 14:06:37 +02:00
Florian Bruhin
5ecef0004c Add some docs for command replacements 2016-08-16 13:32:53 +02:00
Florian Bruhin
4a14ab5c06 Hide all deprecated commands in src2asciidoc 2016-08-10 21:29:08 +02:00
Florian Bruhin
f7cd426aaa Adjust PERFECT_FILES for history move 2016-08-10 15:48:34 +02:00
Florian Bruhin
ec21041516 Add a warning header to commands/settings.asciidoc
See #1802
2016-08-08 22:54:07 +02:00
Florian Bruhin
92049155af Whoops... 2016-08-08 13:42:37 +02:00
Florian Bruhin
bac263d8a5 Adjust PERFECT_FILES for webelem split 2016-08-08 13:28:15 +02:00
Florian Bruhin
b6fbd3ce3a Merge branch 'better-variables' of https://github.com/blyxxyz/qutebrowser into blyxxyz-better-variables 2016-08-07 11:33:01 +02:00
Florian Bruhin
0b93272786 Merge branch 'sortfilter_tests' of https://github.com/rcorre/qutebrowser into rcorre-sortfilter_tests 2016-08-07 10:46:28 +02:00
Florian Bruhin
126e3fd01b tests: Add webkitinspector.py to WHITELISTED_FILES
When running with --no-xvfb, this file has 100% coverage due to the
inspector tests in misc.feature.

See #1771.
2016-08-07 10:42:37 +02:00
Ryan Roden-Corrent
adc428e525 Perfect coverage for sortfilter.
Mark an area of sortfilter with `#pragma no coverage` and add it to
perfect_files.
2016-08-06 20:48:21 -04:00
Jan Verbeek
1e97247c63 Revert spawn's splitting, blacklist from doc
Blacklist spawn from getting the no_replace_variables doc note.
2016-08-05 18:04:14 +02:00
Florian Bruhin
2a328bcea1 Remove unneeded fixme
Nothing gets stuff from the config outside of config.get anyways.
Closes #107.
2016-08-05 09:33:28 +02:00
Florian Bruhin
08b70f0f4c Add qutebrowser.utils.javascript
webelem.javascript_escape got renamed to javascript.string_escape, and a
new javascript.assemble got added to make it easier to call a function
inside a .js file.
2016-08-04 17:53:13 +02:00
Jan Verbeek
7999c493ac Remove unnecessary import, split long line 2016-08-04 15:16:35 +02:00
Jan Verbeek
8b9f37cc84 Use raw string for asciidoc backslashes 2016-08-04 13:45:46 +02:00
Jan Verbeek
827de1743d Document no_replace_variables, misc fixes
Add no_replace_variables to the asciidoc, improve its description in
the decorator, remove now unnecessary argument parsing in set-cmd-text
2016-08-04 13:21:19 +02:00
Florian Bruhin
cae7eead6f QtWebEngine: Basic settings support 2016-08-03 11:35:08 +02:00
Florian Bruhin
195b17c1ad Add release uploading to build_release.py
Closes #1738
2016-08-02 22:26:25 +02:00
Florian Bruhin
eee1c7391c Add download_release.sh
See #1738
2016-08-02 22:26:01 +02:00
Florian Bruhin
0f5e6abc11 freeze.py: Copy plugin folders on Windows
This makes HTML5 video work.
Fixes #1068.
2016-08-02 15:56:16 +02:00
Florian Bruhin
04148ed1c6 Appveyor: Also handle IOError
This is on Python 2.7 where they are separate
2016-08-02 09:55:12 +02:00
Florian Bruhin
68b273de87 Merge branch 'generalize-list-type' of https://github.com/mlochbaum/qutebrowser into mlochbaum-generalize-list-type 2016-08-01 16:22:13 +02:00
Marshall Lochbaum
a7f9461d1f Correct valid_values handling for asciidoc 2016-08-01 10:15:51 -04:00
Florian Bruhin
81ad3bdcdc appveyor: Try to re-download PyQt on failure 2016-08-01 15:10:23 +02:00
Florian Bruhin
858fb77e19 Regenerate authors 2016-08-01 10:34:58 +02:00
Florian Bruhin
243ba02f5f Revert "Add -bb for pytest python invocations"
This reverts commit 285cf105f0.

This is currently blocked by
https://github.com/HypothesisWorks/hypothesis-python/pull/350
2016-07-28 09:10:25 +02:00
Florian Bruhin
285cf105f0 Add -bb for pytest python invocations
This means Python will show an error if bytes/str are compared or str()
is used on a bytes object.
2016-07-28 07:06:13 +02:00
Florian Bruhin
b5d3fa763a Add pytest_warnings to run_frozen_tests.py 2016-07-27 20:44:21 +02:00
Florian Bruhin
55f4777d72 build_release: Fix call_tox with no python on Win 2016-07-26 17:55:26 +02:00
Florian Bruhin
311f531d88 build_release: Fix tox call 2016-07-26 17:00:32 +02:00
Florian Bruhin
180d113914 build_release: Fix running smoke test on OS X 2016-07-26 16:49:44 +02:00
Florian Bruhin
901ccebca6 Revert "build_release: Use -quiet for hdiutil"
This reverts commit e2ea04691e.

Otherwise we don't get any information on errors...
2016-07-26 16:49:07 +02:00
Florian Bruhin
e2ea04691e build_release: Use -quiet for hdiutil 2016-07-26 16:39:10 +02:00
Florian Bruhin
86bd42ec93 build_release: Rebuild tox environments
This way we can be sure we have updated dependencies installed.
2016-07-26 16:38:32 +02:00
Florian Bruhin
12007dd0d0 DMG Makefile: Don't generate template.dmg.bz2
Let's not have this in the workingdir, instead just regenerate it every
time.
2016-07-26 16:30:34 +02:00
Florian Bruhin
ed67b988f9 DMG Makefile: Increase template size to 300 MB
Otherwise QtWebEngine wouldn't fit.
2016-07-26 16:29:29 +02:00
Florian Bruhin
fb20352e3f build_release: Add smoke test for OS X
This should prevent something like #1686 in the future.
2016-07-26 16:10:25 +02:00
Florian Bruhin
614794a62a link_pyqt: Use PyQt5.QtCore to find PyQt5 path
For some reason on OS X, PyQt5.__file__ does not exist as it's a
namespace package.
2016-07-26 13:59:25 +02:00
Florian Bruhin
f4f6a3dac1 Merge branch 'open-download' of https://github.com/Kingdread/qutebrowser into Kingdread-open-download 2016-07-26 10:32:34 +02:00
Florian Bruhin
04fdce9058 Close file stream in qute_pylint.modeline 2016-07-23 17:00:05 +02:00
Florian Bruhin
6f65973237 Adjust freeze_tests for cherrypy.wsgiserver merge 2016-07-15 17:05:41 +02:00
Florian Bruhin
701c2fe7d0 appveyor: Don't patch registry
In newer Appveyor images, only a key for Python 3.5 exists here.
2016-07-15 17:05:16 +02:00
Florian Bruhin
d079caafa8 Add possibility to disable spellcheck 2016-07-15 00:07:37 +02:00
Jan Verbeek
bbc46d28ff Use lists instead of tuples for comparing
Per one of the diff comments on #1597:
> I used to use a tuple for constant things, but nowadays I'd actually
> prefer a list as a tuple is something more heterogeneous (i.e. it
> makes sense to have a `(x, y)` point as a tuple, but a list of points
> would be a list).
> At some point I should probably change it to a list everywhere 😉
2016-07-12 22:05:32 +02:00
Daniel Schadt
220203dd9c spellchecker: mark "occurs" as correct
See http://www.thefreedictionary.com/occur
2016-07-12 16:52:01 +02:00
Florian Bruhin
37d20023b3 Remove now unneeded vulture ignore
We're now using __slots__
2016-07-08 10:10:08 +02:00
Florian Bruhin
3fe851ed84 Temporarily remove tab.py from perfect_files
We have things like the mousewheel event handling in there which we
can't easily test just yet.
2016-07-07 18:32:52 +02:00
Florian Bruhin
ec053f8007 Simplify TabData implementation
This uses direct attributes instead of self._data which means we can
only override __setattr__, and pylint will better understand what's
happening.
2016-07-07 18:32:52 +02:00
Florian Bruhin
4305966f7b Add WrapperLayout/AbstractTab 2016-07-07 18:32:52 +02:00
Florian Bruhin
a58c3ff0c6 Print some version numbers in travis_install.sh 2016-07-06 22:25:14 +02:00
Florian Bruhin
89cdef851d Install new node 2016-07-06 17:05:12 +02:00
Ryan Roden-Corrent
f94ee172c9 Add completion/models/base to perfect_files.
It now has 100% test coverage.
2016-06-30 07:26:02 -04:00
Florian Bruhin
ad83950410 travis: Install v5.6.1_1-1 bottle
This should fix OS X builds.
2016-06-30 09:54:03 +02:00
Florian Bruhin
03fbacd93c requirements: Update vulture to 0.9
* Don't flag attributes as unused if they are used as global variables in
  another module.
* Don't consider "True" and "False" variable names.
* Abort with error message when invoked on .pyc files.

This means we can remove the whitelisted globals in run_vulture.py and
the associated xfailing test.

We also needed to adjust run_vulture.py slightly as the file attribute
got renamed to filename.
2016-06-29 23:44:39 +02:00
Ryan Roden-Corrent
9578a3324e Break two long lines that were failing pylint. 2016-06-13 22:31:21 -04:00
Florian Bruhin
4fccc89d7d Split browser into browser/browser.webkit 2016-06-13 11:18:21 +02:00
Florian Bruhin
cfe360b95e travis: Update OS X bottle to Qt 5.6.1 2016-06-10 23:14:57 +02:00
Florian Bruhin
7511bc1fe5 tests: 100% coverage for browser.history 2016-06-10 12:01:14 +02:00
Florian Bruhin
bd111c2ab1 Fix lint 2016-06-08 07:16:27 +02:00
Florian Bruhin
016c102e57 Fix lint 2016-06-08 00:05:57 +02:00
Florian Bruhin
f6473620c5 Fix recompile_requirements.py without arguments 2016-06-07 23:44:50 +02:00
Florian Bruhin
55da4ffc03 Also generate root requirements 2016-06-07 23:44:22 +02:00
Florian Bruhin
164d7bea4b recompile_requirements: Add replace command 2016-06-07 23:40:00 +02:00
Florian Bruhin
1c6b4da706 Use #@ as chars 2016-06-07 23:21:50 +02:00
Florian Bruhin
6249436bde Rename raw-requirements files
This hopefully means they're not picked up on requires.io.
2016-06-07 23:21:50 +02:00
Florian Bruhin
34a6451806 Add special #! commands to recompile_requirements 2016-06-07 23:08:14 +02:00
Florian Bruhin
136cb19814 reqs: Comment out ignored dependencies 2016-06-07 22:53:17 +02:00
Florian Bruhin
1a26c8c61f Add a script to compile requirement files 2016-06-07 22:45:59 +02:00
Florian Bruhin
41fcf0ed33 Make pytest_rerunfailures work with frozen tests 2016-06-04 17:07:51 +02:00
Florian Bruhin
ce0b50bafd Fix pytest_rerunfailures package name 2016-06-01 13:13:41 +02:00
Florian Bruhin
e6f3a200c8 Include pytest-rerunfailures for frozen tests 2016-06-01 12:39:29 +02:00
Florian Bruhin
2a49dbe817 Fix handling of cmd.no_cmd_split for docs 2016-05-30 16:42:53 +02:00
Florian Bruhin
e8528c2c75 travis: Switch back to autogenerated Docker images
Archlinux updated to PyQt 5.6 in [extra] now, so the autobuilt image
should work fine with Qt 5.6 now.
2016-05-29 23:00:32 +02:00
Florian Bruhin
070e30658f Fix lint 2016-05-29 22:22:34 +02:00
Florian Bruhin
001670969b tests: Ignore segfaults on pytest exit
In various situations (especially on OS X), pytest segfaults on exit probably
due to Qt/PyQt bugs.

We now have a wrapper script which ignores those segfaults if pytest did run
successfully.
2016-05-29 22:06:24 +02:00
Florian Bruhin
1332258767 Revert "travis_run: Show tox exit status"
This reverts commit 144a37ec06.
We accidentally always exit with status 0 with this...
2016-05-29 20:46:48 +02:00
Florian Bruhin
144a37ec06 travis_run: Show tox exit status 2016-05-29 18:47:58 +02:00
Florian Bruhin
64d4c9f83e Clean up end2end test file structure
This renames tests/integration to tests/end2end and moves some files to
tests/end2end/fixtures.
2016-05-29 18:20:00 +02:00
Florian Bruhin
6f6303e0a6 Use requirements files for tox dependencies
While this makes things a little more complicated and means we'll need to use
`-r` to recreate tox environments, it has several advantages:

- Full support from requires.io (including PRs)
- Workaround for https://bitbucket.org/hpk42/tox/issues/332/ so we can update
  virtualenv/pip
2016-05-29 16:53:54 +02:00
Florian Bruhin
cd7b8c65df Remove OS X specific options from freeze.py 2016-05-29 16:26:21 +02:00
Florian Bruhin
9bb425d598 Install Qt5/PyQt5 from custom bottles on OS X
We have a custom build which comes with QtWebKit now.
2016-05-29 15:46:43 +02:00
Florian Bruhin
345768bfc4 Fix requirements installing on Appveyor 2016-05-29 15:28:49 +02:00
Florian Bruhin
a987b714de appveyor: Install pip/tox from requirements files 2016-05-29 15:14:42 +02:00
Florian Bruhin
f4ce199968 ci: Blacklist virtualenv > 15.0.1 2016-05-29 15:09:14 +02:00
Florian Bruhin
f72fc04bb1 Revert "ci: Update virtualenv to 15.0.2"
This reverts commit 3c978aa203.
We need to revert this due to the tox/pip bug with inline comments.
2016-05-29 15:08:43 +02:00
Florian Bruhin
1e55db0630 Follow the American way(tm) of spelling things 2016-05-29 10:57:41 +02:00
Florian Bruhin
3c978aa203 ci: Update virtualenv to 15.0.2 2016-05-28 23:27:42 +02:00
Florian Bruhin
4066696956 tox/requirements: Update coverage to 4.1
Version 4.1 --- 2016-05-21

- The internal attribute Reporter.file_reporters was removed in 4.1b3.
  It should have come has no surprise that there were third-party tools
  out there using that attribute. It has been restored, but with a
  deprecation warning.

Version 4.1b3 --- 2016-05-10

- When running your program, execution can jump from an except X: line
  to some other line when an exception other than X happens. This jump
  is no longer considered a branch when measuring branch coverage.
- When measuring branch coverage, yield statements that were never
  resumed were incorrectly marked as missing. This is now fixed.
- During branch coverage of single-line callables like lambdas and
  generator expressions, coverage.py can now distinguish between them
  never being called, or being called but not completed.
- The HTML report now has a map of the file along the rightmost edge of
  the page, giving an overview of where the missed lines are. Thanks,
  Dmitry Shishov.
- The HTML report now uses different monospaced fonts, favoring Consolas
  over Courier. Along the way not properly handling one-space indents
  was fixed. The index page also has slightly different styling, to try
  to make the clickable detail pages more apparent.
- Missing branches reported with coverage report -m will now say ->exit
  for missed branches to the exit of a function, rather than a negative
  number.
- coverage --help and coverage --version now mention which tracer is
  installed, to help diagnose problems. The docs mention which features
  need the C extension.
- Officially support PyPy 5.1, which required no changes, just updates
  to the docs.
- The Coverage.report function had two parameters with non-None
  defaults, which have been changed. show_missing used to default to
  True, but now defaults to None. If you had been calling
  Coverage.report without specifying show_missing, you'll need to
  explicitly set it to True to keep the same behavior. skip_covered used
  to default to False. It is now None, which doesn't change the
  behavior.
- It's never been possible to pass a namespace module to one of the
  analysis functions, but now at least we raise a more specific error
  message, rather than getting confused.
- The coverage.process_startup function now returns the Coverage
  instance it creates.
- Make a small tweak to how we compare threads, to avoid buggy custom
  comparison code in thread classes.

Version 4.1b2 --- 2016-01-23

- Problems with the new branch measurement in 4.1 beta 1 were fixed:
  - Class docstrings were considered executable. Now they no longer are.
  - yield from and await were considered returns from functions, since
    they could tranfer control to the caller. This produced unhelpful
    "missing branch" reports in a number of circumstances. Now they no
    longer are considered returns.
  - In unusual situations, a missing branch to a negative number was
    reported.
- The XML report now produces correct package names for modules found in
  directories specified with source=.
- coverage report won't produce trailing whitespace.

Version 4.1b1 --- 2016-01-10

- Branch analysis has been rewritten: it used to be based on bytecode,
  but now uses AST analysis. This has changed a number of things:
  - More code paths are now considered runnable, especially in
    try/except structures. This may mean that coverage.py will identify
    more code paths as uncovered. This could either raise or lower your
    overall coverage number.
  - Python 3.5's async and await keywords are properly supported
  - Some long-standing branch coverage bugs were fixed:
    - functions with only a docstring for a body would incorrectly
      report a missing branch on the def line.
    - code in an except block could be incorrectly marked as a missing
      branch.
    - context managers (with statements) in a loop or try block could
      confuse the branch measurement, reporting incorrect partial
      branches.
    - In Python 3.5, an actual partial branch could be marked as
      complete.
- Pragmas to disable coverage measurement can now be used on decorator
  lines, and they will apply to the entire function or class being
  decorated.
- Multiprocessing support is now available on Windows.
- Files with two encoding declarations are properly supported.
- Non-ascii characters in regexes in the configuration file worked in
  3.7, but stopped working in 4.0. Now they work again.
- Form-feed characters would prevent accurate determination of the
  beginning of statements in the rest of the file. This is now fixed.
2016-05-22 14:35:26 +02:00
Florian Bruhin
5c8d1656ff Fix path to test_keyhints.py in check_coverage.py
utils -> misc
2016-05-18 07:34:40 +02:00
Florian Bruhin
d0af80fbd5 Merge branch 'keystring' of https://github.com/rcorre/qutebrowser into rcorre-keystring 2016-05-18 07:33:17 +02:00
Florian Bruhin
c0d044447d Add tests for qutebrowser.utils.typing 2016-05-18 06:55:17 +02:00
Florian Bruhin
a0d0b6464f Use typing.py-like annotations for command args
This means:

- An annotation like (int, str) is now typing.Union[int, str].
- utils.typing got expanded so it acts like the real typing.py, with
  issubclass() working properly with typing.Union and __union_params__
  being set.
- A literal string doesn't exist anymore as annotation, instead
  @cmdutils.argument now has a 'choices' argument which can be used like
  @cmdutils.argument('arg', choices=['val1', 'val2']).
- Argument validating/converting is now entirely handled by
  argparser.type_conv instead of relying on python's argparse, i.e.
  type/choices is now not passed to argparse anymore.
2016-05-18 06:55:17 +02:00
Florian Bruhin
2fc4f408cd Fix src2asciidoc 2016-05-18 06:55:17 +02:00
Florian Bruhin
965a012db7 Name strip_whitespace.sh correctly 2016-05-18 06:54:14 +02:00
Florian Bruhin
ee579b4bc3 Add a script to strip trailing whitespace
Obsoletes #1498
2016-05-18 06:37:26 +02:00
Ryan Roden-Corrent
822d148713 Update key hint tests for new format.
Change the unit tests to expect the new tabular format.
Also generally clean up the tests -- refactor from a class to
module-level functions as there was no need for a class here.
2016-05-17 07:04:53 -04:00
Florian Bruhin
b6abada50a Fix lint 2016-05-13 06:42:09 +02:00
Florian Bruhin
a7ece80d34 Merge branch 'pyinstaller' 2016-05-13 06:21:28 +02:00
Florian Bruhin
7901d2929a ci: Update pip to 8.1.2
Since virtualenv uses the built-in pip version with VIRTUALENV_DOWNLOAD=no we
need to make sure we keep virtualenv capped, but we can use a newer pip.
2016-05-12 20:32:03 +02:00
Florian Bruhin
e70d6d49d9 travis: Separate requirement files
This way we can update pip independently before installing the rest, and
avoid installing codecov (and thus coverage which attempts to build C
extension) where it's not needed.
2016-05-12 20:32:03 +02:00
Florian Bruhin
d4e2b4ebb4 travis: Don't update Python for flake8 env
This was needed because of a bug for which the backfix seems to be
ported to Ubuntu now.
2016-05-12 20:32:03 +02:00
Florian Bruhin
56a2b6778c travis: Install libpython3.4-dev
This is now needed because we use "language: generic" which doesn't come
with that package.
2016-05-12 20:32:03 +02:00
Florian Bruhin
e13320b398 travis: Use python2 for pip
This means we won't need to install pip via apt-get, and using a
Python 2 tox/pip is fine.
2016-05-12 20:32:03 +02:00
Florian Bruhin
3033f77f99 travis: Use (( in travis_retry
If we use [, the script exits when a condition is false (as we use
set -e).
2016-05-12 20:32:03 +02:00
Florian Bruhin
cdc79339fb travis: Use requirement files for pip
This way we can pin tox/pip versions (which are used in the native
Travis environment) *and* get notified about updates by requires.io.
2016-05-12 20:32:03 +02:00
Florian Bruhin
6558e196b4 Simplify package installation on CI
Having a Python script was a good idea back when we could do almost the
same steps on every CI configuration.

This turned out to grow into a complicated script, so it's easier to
split off things for Linux/OS X into a small shell script (and keep
Python for Windows, as I really don't want to use .bat/.ps).
2016-05-12 20:32:03 +02:00
Daniel Schadt
dcb2c7f868 link_pyqt: fix crash with spaces in pypath
This fixes a bug where link_pyqt crashes when the path to the python
interpreter contains a space.
2016-05-08 01:08:36 +02:00
Florian Bruhin
ccd0d1621c Regenerate authors 2016-05-07 22:10:19 +02:00
Florian Bruhin
a5cea14a0f Update docs 2016-05-07 21:39:19 +02:00
Florian Bruhin
e06a32ff42 Revert "travis: Switch to autobuilt Docker images"
This reverts commit b2e52408f7.
Turns out only [testing] is on PyQt 5.6, and even with that the testsuite
doesn't seem to load properly...
2016-04-29 23:21:41 +02:00
Florian Bruhin
b2e52408f7 travis: Switch to autobuilt Docker images
Since Archlinux switched to PyQt 5.6, we can now use the autobuilt image
without a handbuilt PyQt. This means we have an up-to-date image with
each build again.
2016-04-29 22:54:00 +02:00