Commit Graph

436 Commits

Author SHA1 Message Date
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
47bf261994 build_release: Different PyInstaller workaround 2017-05-17 11:10:32 +02:00
Florian Bruhin
dc947bf9a9 build_release: Python version adjustments 2017-05-17 11:09:22 +02:00
Florian Bruhin
68bb0f557f Switch to xoviat pyinstaller branch 2017-05-17 11:05:27 +02:00
Florian Bruhin
a6041834f8 Try adding a PyPI testenv on AppVeyor 2017-03-31 13:05:34 +02:00
Florian Bruhin
134155480e tox: Update PyQt5 to 5.8.2 2017-03-31 10:10:55 +02:00
Florian Bruhin
5d9cd98c0f tox: Add a mkvenv-win-pypi env 2017-03-28 20:42:23 +02:00
Florian Bruhin
1254f4d132 Add -bb when running tests
Fixes #1989
2017-03-18 21:08:07 +01:00
Florian Bruhin
069f908a61 Get rid of run_pytest.py
Fixes #2452
2017-03-18 21:03:52 +01:00
Florian Bruhin
3a88b70eca Fix PyQt5 version in tox.ini 2017-03-13 09:11:22 +01:00
Florian Bruhin
68247a1ef0 Fix PyQt5 requirements
See https://www.riverbankcomputing.com/pipermail/pyqt/2017-March/038964.html
2017-03-13 07:39:21 +01:00
Florian Bruhin
3925fa2872 Use separate requirements file for PyQt 2017-03-08 19:09:34 +01:00
Florian Bruhin
ac0409c60d Don't install requirements-pip.txt
It causes stuff to blow up when something in there got upgraded, and we ask pip
to downgrade one of its dependencies.

We still keep the file around so we get notified about updates.
2017-03-08 07:42:08 +01:00
Florian Bruhin
93eab09574 Add a mkvenv-pypi environment to tox.ini 2017-02-25 18:17:32 +01:00
Florian Bruhin
00a8e79311 PyInstaller env: Remove link_pyqt call 2017-02-19 13:05:58 +01:00
Florian Bruhin
687f288453 Update PyInstaller env
We now use PyQt5 from PyPI and apply xoviat's patch for PyQt.
2017-02-19 12:58:58 +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
7596409962 Add PyQt 5.8 PyPI test envs 2017-02-17 07:02:13 +01:00
Florian Bruhin
ce3e24163e Add test environments using PyQt from PyPI
Fixes #2083
2017-02-09 00:50:37 +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
22fb3c3042 tox: Switch to Python 3.6 2017-01-13 18:25:26 +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
a7d96e0b85 Ignore ESLint warnings for Mozilla's PAC utils 2016-12-07 02:01:19 +03: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
Clayton Craft
e9aaec6d0d Update tox.ini to support Windows, and adjust install instructions 2016-09-08 13:31:17 -07:00
Florian Bruhin
cf070d48f2 WebEngine: Disable createWindow for Qt < 5.7.1
Fixes #1911.

The bugfix is backported in my qt5-webengine-debug package, and
QUTE_QTBUG54419_PATCHED can be set to force qutebrowser to use
createWindow.
2016-09-05 15:08:00 +02:00
Florian Bruhin
2cbb147e33 tox: Get flake8 to run again
Seems like when not passing a file path, flake8 does less (or nothing?!)
2016-08-09 17:12:42 +02:00
Florian Bruhin
c8d39e8934 tox: Fix vulture environment
We set PYTHONPATH so we can import qutebrowser.app in run_vulture.py
without installing it.

We also need to make sure all dependencies are installed so we can
actually import qutebrowser.
2016-08-09 13:54:54 +02:00
Florian Bruhin
00673ef7da tox: Only install pip as dep when needed
misc/eslint don't actually install anything, so no point in updating pip
there.

pyroma/check-manifest should install pip though.
2016-08-09 11:10:50 +02:00
Florian Bruhin
a4585bb3d5 tox: Don't install any deps for eslint 2016-08-09 11:09:15 +02:00
Florian Bruhin
2a2c49f507 tox: Set skipsdist = true
Since our tests don't actually run against the installed package, no
point in waiting for an sdist to be built.
2016-08-09 11:08:19 +02:00
Florian Bruhin
5a1910e24d tox: Enforce colors for eslint 2016-08-09 11:05:08 +02:00
Florian Bruhin
1d9113124b Move .eslintrc to qutebrowser/javascript 2016-08-09 11:04:50 +02:00
Florian Bruhin
f218d5d4b6 Try harder to pin pip/setuptools 2016-07-29 09:03:31 +02:00
Florian Bruhin
5f2dc53d94 tox: Set distshare = {toxworkdir}
This is kind uf unorthodox and the "distshare" setting seems to be
deprecated, but we don't get a ~/.tox this way.

See #1637
2016-07-20 16:02:14 +02:00
Florian Bruhin
9898b1af37 pylint: Remove -j0
See https://github.com/PyCQA/pylint/issues/987

On my laptop I get about a 3m -> 2m20s speedup, which isn't really worth
the trouble...
2016-07-07 23:22:42 +02:00
Florian Bruhin
2562d57437 tox: Install requirements in pylint-master env 2016-06-02 09:54:51 +02:00
Florian Bruhin
17f54d0ef7 tox: Use -j0 when invoking pylint
This makes things a bit faster
2016-05-31 00:00:40 +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
ca87b9e285 tox: Remove weird minus 2016-05-29 18:28:20 +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
51122a8010 tox: Blacklist Flask 0.11.0 2016-05-29 14:35:48 +02:00
Florian Bruhin
a921ee2a8f Revert "tox: Update Flask to 0.11.0"
This reverts commit 986288c408.
2016-05-29 14:35:37 +02:00
Florian Bruhin
986288c408 tox: Update Flask to 0.11.0
Released on May 29th 2016, codename Absinthe.

- Added support to serializing top-level arrays to
  :func:`flask.jsonify`. This introduces a security risk in ancient
  browsers. See :ref:`json-security` for details.
- Added before_render_template signal.
- Added `**kwargs` to :meth:`flask.Test.test_client` to support passing
  additional keyword arguments to the constructor of
  :attr:`flask.Flask.test_client_class`.
- Added ``SESSION_REFRESH_EACH_REQUEST`` config key that controls the
  set-cookie behavior.  If set to ``True`` a permanent session will be
  refreshed each request and get their lifetime extended, if set to
  ``False`` it will only be modified if the session actually modifies.
  Non permanent sessions are not affected by this and will always
  expire if the browser window closes.
- Made Flask support custom JSON mimetypes for incoming data.
- Added support for returning tuples in the form ``(response, headers)``
  from a view function.
- Added :meth:`flask.Config.from_json`.
- Added :attr:`flask.Flask.config_class`.
- Added :meth:`flask.config.Config.get_namespace`.
- Templates are no longer automatically reloaded outside of debug mode.
  This can be configured with the new ``TEMPLATES_AUTO_RELOAD`` config
  key.
- Added a workaround for a limitation in Python 3.3's namespace loader.
- Added support for explicit root paths when using Python 3.3's
  namespace packages.
- Added :command:`flask` and the ``flask.cli`` module to start the local
  debug server through the click CLI system. This is recommended over
  the old ``flask.run()`` method as it works faster and more reliable
  due to a different design and also replaces ``Flask-Script``.
- Error handlers that match specific classes are now checked first,
  thereby allowing catching exceptions that are subclasses of HTTP
  exceptions (in ``werkzeug.exceptions``).  This makes it possible
  for an extension author to create exceptions that will by default
  result in the HTTP error of their choosing, but may be caught with
  a custom error handler if desired.
- Added :meth:`flask.Config.from_mapping`.
- Flask will now log by default even if debug is disabled. The log
  format is now hardcoded but the default log handling can be disabled
  through the ``LOGGER_HANDLER_POLICY`` configuration key.
- Removed deprecated module functionality.
- Added the ``EXPLAIN_TEMPLATE_LOADING`` config flag which when enabled
  will instruct Flask to explain how it locates templates. This should
  help users debug when the wrong templates are loaded.
- Enforce blueprint handling in the order they were registered for
  template loading.
- Ported test suite to py.test.
- Deprecated ``request.json`` in favour of ``request.get_json()``.
- Add "pretty" and "compressed" separators definitions in jsonify()
  method.
  Reduces JSON response size when JSONIFY_PRETTYPRINT_REGULAR=False by
  removing unnecessary white space included by default after separators.
- JSON responses are now terminated with a newline character, because it
  is a convention that UNIX text files end with a newline and some
  clients don't deal well when this newline is missing. See
  https://github.com/pallets/flask/pull/1262 -- this came up originally
  as a part of https://github.com/kennethreitz/httpbin/issues/168
- The automatically provided ``OPTIONS`` method is now correctly
  disabled if the user registered an overriding rule with the
  lowercase-version ``options``.
- ``flask.json.jsonify`` now supports the ``datetime.date`` type.
- Don't leak exception info of already catched exceptions to context
  teardown handlers.
- Allow custom Jinja environment subclasses.
- ``flask.g`` now has ``pop()`` and ``setdefault`` methods.
- Turn on autoescape for ``flask.templating.render_template_string`` by
  default.
- ``flask.ext`` is now deprecated.
- ``send_from_directory`` now raises BadRequest if the filename is
  invalid on the server OS.
- Added the ``JSONIFY_MIMETYPE`` configuration variable.
- Exceptions during teardown handling will no longer leave bad
  application contexts lingering around.
2016-05-29 14:22:11 +02:00
Florian Bruhin
344569fb5b tox: Update flake8-string-format to 0.2.2
- Do not check simple expressions, except for docstrings, because they
  cannot be accessed anyway.
- Properly assert starred arguments in Python 3.5. Only the last element
  must be a vararg if varargs are present and not the complete list.
- Output correct column offset on Python 3.4.2, as that used the wrong
  offset inside calls.
2016-05-29 14:19:38 +02:00
Florian Bruhin
c9d49177cc tox: Update sortedcontainers to 1.5.2 2016-05-29 14:17:48 +02:00
Florian Bruhin
fc3e1b4ede tox: Update hypothesis to 3.4.0
models() strategies from hypothesis.extra.django will now respect much
more of Django's validations out of the box. Wherever possible
full_clean() should succeed.

In particular:

- The max_length, blank and choices kwargs are now respected.
- Add support for DecimalField.
- If a field includes validators, the list of validators are used to
  filter the field strategy.
2016-05-27 15:40:50 +02:00
Florian Bruhin
ee848ce09e tox: Update sortedcontainers to 1.5.1 2016-05-26 21:42:34 +02:00