Commit Graph

575 Commits

Author SHA1 Message Date
Florian Bruhin
5a1663c584 100% coverage for mainwindow.statusbar.textbase. 2015-08-12 07:40:45 +02:00
Florian Bruhin
927cf84e14 100% test coverage for config.textwrapper. 2015-08-12 07:01:21 +02:00
Florian Bruhin
a6d09b8cc9 100% coverage for browser.network.schemehandler. 2015-08-12 06:53:32 +02:00
Florian Bruhin
da9cb88c81 pylint: Disable protected-access for tests. 2015-08-12 06:44:33 +02:00
Florian Bruhin
83a4451f93 Skip coverage checks when tests are filtered. 2015-08-12 06:42:05 +02:00
Florian Bruhin
cf45d97046 100% test coverage for utils.jinja. 2015-08-12 06:25:05 +02:00
Florian Bruhin
2d8aaecd65 100% coverage for utils.debug. 2015-08-11 17:11:00 +02:00
Florian Bruhin
c8679d6544 100% coverage for browser.webelem. 2015-08-10 19:37:16 +02:00
Florian Bruhin
a28b0c3386 Remove .coverage.ini in check_coverage.py. 2015-08-08 22:55:37 +02:00
Florian Bruhin
3179455e69 Reorganize tox.ini.
- The environment to run unittests is now called py34 as that's the common
  thing used, and will also allow us to run the tests with Python 3.5.
- The default tests now also run coverage.py and do a coverage check (on
  Linux).
- The smoke tests are now part of the default environment.
2015-08-08 22:33:29 +02:00
Florian Bruhin
d23096f898 Also check opposite condition in check_coverage.py. 2015-08-02 22:16:03 +02:00
Florian Bruhin
7d284fa575 pylint: Disable missing-docstring for tests. 2015-08-02 20:38:13 +02:00
Florian Bruhin
e5056e1c43 100% coverage for mainwindow.statusbar.tabindex. 2015-08-02 20:34:37 +02:00
Florian Bruhin
6c0f523c89 100% coverage for browser.http and browser.rfc6266. 2015-08-02 19:52:43 +02:00
Florian Bruhin
1d4bb8d8da 100% coverage for misc.split. 2015-08-02 13:42:01 +02:00
Florian Bruhin
d5888fea89 100% coverage for mainwindow.statusbar.progress. 2015-08-02 01:49:33 +02:00
Florian Bruhin
f21cffd9b8 100% coverage for mainwindow.statusbar.percentage. 2015-08-02 01:45:19 +02:00
Florian Bruhin
e59f533f9d Add statusbar.keystring to 100% coverage modules. 2015-08-02 01:34:40 +02:00
Florian Bruhin
9db0e03f05 Add some tests for config.configexc. 2015-08-02 01:31:43 +02:00
Florian Bruhin
e94e90baec Add some tests for config.configdata. 2015-08-02 00:59:13 +02:00
Florian Bruhin
26f6bb7d0d Rewrite browser.test_tabhistory.py for pytest. 2015-08-02 00:34:04 +02:00
Florian Bruhin
907a4b0e5e Add path assertion to check_coverage.py.
https://bitbucket.org/ned/coveragepy/issues/235 confuses me - maybe the XML
format will change in the future to not contain the full filename? To make
sure I'll add this assertion, then I'll notice.
2015-07-29 17:31:26 +02:00
Florian Bruhin
b03fea26c2 Add hypothesis to frozen tests. 2015-07-24 18:43:08 +02:00
Florian Bruhin
fd5a89dccd scripts: Use runcall in run_profile.py. 2015-07-24 15:01:18 +02:00
Florian Bruhin
d805e2d71e Don't use lxml for check_coverage.py.
See #792.
2015-07-24 14:42:18 +02:00
Florian Bruhin
7f2abd1a46 tests: Enforce 100% coverage for perfect modules.
Fixes #792.
2015-07-24 14:04:40 +02:00
Florian Bruhin
60b6652006 Better output on errors. 2015-07-14 16:18:34 +02:00
Florian Bruhin
03383c48eb Use imported file paths in link_pyqt.py.
See #804.
2015-07-14 16:18:34 +02:00
Florian Bruhin
c310156dde Fix lint. 2015-07-13 18:11:35 +02:00
Florian Bruhin
a3776e361b minimal_webkit_testbrowser: Add WebEngine support. 2015-07-13 17:39:09 +02:00
Florian Bruhin
3a95cd470a minimal_webkit_testbrowser: Add switch for plugins. 2015-07-10 21:36:53 +02:00
Florian Bruhin
55cf470436 minimal_webkit_testbrowser: Add some output. 2015-07-10 21:34:33 +02:00
Florian Bruhin
0be2192eab minimal_webkit_testbrowser: Use QUrl.fromUserInput. 2015-07-10 21:32:36 +02:00
Florian Bruhin
0bdcf2910a minimal_webkit_testbrowser: Use argparse. 2015-07-10 21:32:00 +02:00
Florian Bruhin
d232437105 Update to beautifulsoup 4.4.0.
Upstream changelog:

Especially important changes:

* Added a warning when you instantiate a BeautifulSoup object without
  explicitly naming a parser. [bug=1398866]

* __repr__ now returns an ASCII bytestring in Python 2, and a Unicode
  string in Python 3, instead of a UTF8-encoded bytestring in both
  versions. In Python 3, __str__ now returns a Unicode string instead
  of a bytestring. [bug=1420131]

* The `text` argument to the find_* methods is now called `string`,
  which is more accurate. `text` still works, but `string` is the
  argument described in the documentation. `text` may eventually
  change its meaning, but not for a very long time. [bug=1366856]

* Changed the way soup objects work under copy.copy(). Copying a
  NavigableString or a Tag will give you a new NavigableString that's
  equal to the old one but not connected to the parse tree. Patch by
  Martijn Peters. [bug=1307490]

* Started using a standard MIT license. [bug=1294662]

* Added a Chinese translation of the documentation by Delong .w.

New features:

* Introduced the select_one() method, which uses a CSS selector but
  only returns the first match, instead of a list of
  matches. [bug=1349367]

* You can now create a Tag object without specifying a
  TreeBuilder. Patch by Martijn Pieters. [bug=1307471]

* You can now create a NavigableString or a subclass just by invoking
  the constructor. [bug=1294315]

* Added an `exclude_encodings` argument to UnicodeDammit and to the
  Beautiful Soup constructor, which lets you prohibit the detection of
  an encoding that you know is wrong. [bug=1469408]

* The select() method now supports selector grouping. Patch by
  Francisco Canas [bug=1191917]

Bug fixes:

* Fixed yet another problem that caused the html5lib tree builder to
  create a disconnected parse tree. [bug=1237763]

* Force object_was_parsed() to keep the tree intact even when an element
  from later in the document is moved into place. [bug=1430633]

* Fixed yet another bug that caused a disconnected tree when html5lib
  copied an element from one part of the tree to another. [bug=1270611]

* Fixed a bug where Element.extract() could create an infinite loop in
  the remaining tree.

* The select() method can now find tags whose names contain
  dashes. Patch by Francisco Canas. [bug=1276211]

* The select() method can now find tags with attributes whose names
  contain dashes. Patch by Marek Kapolka. [bug=1304007]

* Improved the lxml tree builder's handling of processing
  instructions. [bug=1294645]

* Restored the helpful syntax error that happens when you try to
  import the Python 2 edition of Beautiful Soup under Python
  3. [bug=1213387]

* In Python 3.4 and above, set the new convert_charrefs argument to
  the html.parser constructor to avoid a warning and future
  failures. Patch by Stefano Revera. [bug=1375721]

* The warning when you pass in a filename or URL as markup will now be
  displayed correctly even if the filename or URL is a Unicode
  string. [bug=1268888]

* If the initial <html> tag contains a CDATA list attribute such as
  'class', the html5lib tree builder will now turn its value into a
  list, as it would with any other tag. [bug=1296481]

* Fixed an import error in Python 3.5 caused by the removal of the
  HTMLParseError class. [bug=1420063]

* Improved docstring for encode_contents() and
  decode_contents(). [bug=1441543]

* Fixed a crash in Unicode, Dammit's encoding detector when the name
  of the encoding itself contained invalid bytes. [bug=1360913]

* Improved the exception raised when you call .unwrap() or
  .replace_with() on an element that's not attached to a tree.

* Raise a NotImplementedError whenever an unsupported CSS pseudoclass
  is used in select(). Previously some cases did not result in a
  NotImplementedError.

* It's now possible to pickle a BeautifulSoup object no matter which
  tree builder was used to create it. However, the only tree builder
  that survives the pickling process is the HTMLParserTreeBuilder
  ('html.parser'). If you unpickle a BeautifulSoup object created with
  some other tree builder, soup.builder will be None. [bug=1231545]
2015-07-06 10:49:59 +02:00
Florian Bruhin
7b8490b6c0 Fix 'an user' spelling. 2015-06-29 17:49:19 +02:00
Florian Bruhin
db06eeded5 Fix spelling. 2015-06-29 17:45:56 +02:00
Florian Bruhin
d845ecd7fc Also check for spelling errors in .asciidoc/.js files. 2015-06-29 17:44:36 +02:00
Florian Bruhin
be3f61af62 Move developer scripts to dev/ subfolder.
Closes #783.
2015-06-28 22:31:30 +02:00
Florian Bruhin
b21b4377a8 Add a smoke test to build_release.py. 2015-06-24 00:05:35 +02:00
Florian Bruhin
10b00da1ae Reorder commands in build_release.py.
This should be slightly faster as the venv is only recreated once.
2015-06-23 23:35:20 +02:00
Florian Bruhin
b337cfe4c6 Enforce a 32bit Python in build_release.py. 2015-06-23 23:34:30 +02:00
Florian Bruhin
3dbf3f9e0a Use tox/virtualenv to build Windows packages.
This makes sure we have all needed dependencies installed in the version which
is in requirements.txt.
Fixes #776.
2015-06-23 23:31:28 +02:00
Florian Bruhin
e2c375b874 Add missing docstring for get_build_exe_options(). 2015-06-19 09:40:48 +02:00
Florian Bruhin
fd82587213 Skip documentation when freezing for smoke-frozen. 2015-06-19 09:40:26 +02:00
Florian Bruhin
b0012fd410 Freeze utils/testfile when freezing tests. 2015-06-19 09:40:16 +02:00
Florian Bruhin
894ec7d66a Use a function for build_exe_options in freeze.py. 2015-06-19 09:40:15 +02:00
Florian Bruhin
42b5ee831e Add a unittests-frozen testenv.
See #770.
2015-06-19 09:39:55 +02:00
Florian Bruhin
425a6d33cf Add __name__ == '__main__' block in freeze.py.
freeze.py now gets imported from freeze_tests.py, and shouldn't run its own
setup in that case.
2015-06-19 07:35:01 +02:00
Florian Bruhin
2f59abaf13 Add empty includes=[] to freeze.py.
This makes freeze_tests.py easier.
2015-06-18 22:39:04 +02:00
Florian Bruhin
0d59a1cba8 Include javascript folder when freezing.
See #770.
2015-06-18 21:09:10 +02:00
Florian Bruhin
9bf749643a Fix ci_install.py for Travis on OS X. 2015-06-12 17:06:49 +02:00
Florian Bruhin
f17131f6c2 Change Qt links to point to qt.io. 2015-06-12 16:59:33 +02:00
Florian Bruhin
b1e9ff059a Update for PyQt 5.4.2.
Upstream changelog:

2015-06-11  Phil Thompson  <phil@riverbankcomputing.com>

    * .hgtags:
    Added tag 5.4.2 for changeset 5a34feb6b31d
    [6f80aa2771d3] [tip] <5.4-maint>

    * NEWS:
    Released as v5.4.2.
    [5a34feb6b31d] [5.4.2] <5.4-maint>

    * installers/PyQt5-Qt5-gpl.nsi:
    Fixed a missing image plugin in the Windows installer.
    [29760ab3d5f9] <5.4-maint>

    * Makefile:
    Clean up any extra Mac crap.
    [dcbc92d15a8b] <5.4-maint>

2015-06-07  Phil Thompson  <phil@riverbankcomputing.com>

    * pyuic/uic/Compiler/compiler.py,
    pyuic/uic/Compiler/qobjectcreator.py:
    Make sure all generedt imports are sorted and therefore repeatable.
    [9ad1a251d97b] <5.4-maint>

2015-06-05  Phil Thompson  <phil@riverbankcomputing.com>

    * NEWS, PyQt5.msp:
    Completed the support for Qt v5.4.2.
    [02c99f5affde] <5.4-maint>

    * PyQt5.msp:
    Scanned Qt v5.4.2.
    [7fbd795f8c5e] <5.4-maint>

    * installers/PyQt5-Qt5-gpl.nsi:
    Updated the Windows installer for Qt v5.4.2.
    [74c080b5bdb2] <5.4-maint>

    * PyQt5.msp:
    Added missing /Factory/ annotations from the create() and
    beginCreate() methods of QQmlComponent.
    [56be1a87fd2c] <5.4-maint>

2015-06-02  Phil Thompson  <phil@riverbankcomputing.com>

    * PyQt5.msp:
    Fixed the handling of the value returned by Python re-
    implementations of QSGMaterialShader.attributeNames().
    [cb620297cbc8] <5.4-maint>

2015-05-23  Phil Thompson  <phil@riverbankcomputing.com>

    * lib/configure.py, sphinx/installation.rst:
    Added the --no-python-dbus option to configure.py.
    [df17d3eace7a] <5.4-maint>

2015-05-18  Phil Thompson  <phil@riverbankcomputing.com>

    * pyuic/uic/uiparser.py:
    Fixed another deprecation warning in pyuic.
    [6333c15a9a6b] <5.4-maint>

    * pyuic/uic/driver.py, pyuic/uic/objcreator.py,
    pyuic/uic/port_v2/load_plugin.py, pyuic/uic/port_v3/load_plugin.py:
    Fixed all the deprecation warnings from pyuic.
    [e8f96fbc8cf0] <5.4-maint>

2015-05-08  Phil Thompson  <phil@riverbankcomputing.com>

    * Makefile:
    Fixed the path to SIP on OS/X.
    [39ecf0bc71e1] <5.4-maint>

2015-05-06  Phil Thompson  <phil@riverbankcomputing.com>

    * pyuic/uic/Compiler/qobjectcreator.py,
    pyuic/uic/Loader/qobjectcreator.py, pyuic/uic/icon_cache.py,
    pyuic/uic/objcreator.py:
    Fixed the handling of themed icons by uic.loadUi().
    [506c268c8f43] <5.4-maint>

2015-04-24  Phil Thompson  <phil@riverbankcomputing.com>

    * qpy/QtCore/qpycore_chimera.cpp:
    Handle properties that are objects that are defined in QML.
    [aebd6aab85d4] <5.4-maint>

2015-04-04  Phil Thompson  <phil@riverbankcomputing.com>

    * pyuic/uic/properties.py, pyuic/uic/uiparser.py:
    Fixed pyuic's handling of default margins.
    [6a7e3e6175c8] <5.4-maint>

    * pyuic/uic/properties.py, pyuic/uic/uiparser.py:
    Fixed pyuic's handling of the default spacing.
    [12193d5afbe1] <5.4-maint>

2015-04-03  Phil Thompson  <phil@riverbankcomputing.com>

    * pylupdate/main.cpp:
    pylupdate now saves locations as relative to the .ts file.
    [1757d2e318f6] <5.4-maint>

2015-04-01  Phil Thompson  <phil@riverbankcomputing.com>

    * PyQt5.msp:
    Added QWIDGETSIZE_MAX to QtWidgets.
    [b136fd7c485e] <5.4-maint>

2015-03-25  Phil Thompson  <phil@riverbankcomputing.com>

    * sphinx/static/classic.css, sphinx/static/default.css:
    Fixed the stylesheet.
    [d35996e57f02] <5.4-maint>

2015-03-16  Phil Thompson  <phil@riverbankcomputing.com>

    * PyQt5.msp:
    The GIL is now released for all QImage ctors and methods that might
    block.
    [3fd70eec66b9] <5.4-maint>

    * PyQt5.msp:
    Removed the internal QGraphicsSceneEvent.setWidget().
    [622e5b5ebcfc] <5.4-maint>

2015-03-11  Phil Thompson  <phil@riverbankcomputing.com>

    * installers/PyQt5-Qt5-gpl.nsi:
    Added the OpenGL v2.1 backend to the Windows installer.
    [ca1e4c121c78] <5.4-maint>

    * sphinx/conf.py:
    Updated for sphinx v1.3.
    [1c1cd1eac7ce] <5.4-maint>

    * qpy/QtCore/qsysinfo.sip:
    Added Yosemite and iOS v8.0 to QSysInfo.
    [01d4d1af5961] <5.4-maint>

    * pyuic/uic/uiparser.py:
    pyuic now handles empty zorder elements.
    [a0dcd07b7e72] <5.4-maint>

    * lib/configure.py:
    Added nostrup to the generated .pro file.
    [d6445df281a6] <5.4-maint>

2015-03-01  Phil Thompson  <phil@riverbankcomputing.com>

    * pyuic/uic/uiparser.py:
    pyuic will now ignore spacer items when setting the z-order.
    [28704a096a3a] <5.4-maint>

2015-02-26  Phil Thompson  <phil@riverbankcomputing.com>

    * installers/PyQt5-Qt5-gpl.nsi:
    Installer fix for Qt v5.4.1.
    [0b21a7fa6750] <5.4-maint>:
2015-06-12 13:21:37 +02:00
Florian Bruhin
167faafff2 Fix command parsing for arguments containing _. 2015-06-12 11:42:16 +02:00
Florian Bruhin
90bbe4d1ef Make ci_install.py python2 compatible. 2015-06-11 17:09:17 +02:00
Florian Bruhin
364e13f4c2 Add OS X support for Travis. 2015-06-11 16:36:58 +02:00
Florian Bruhin
a79b07bd94 Rename appveyor_install to ci_install. 2015-06-11 16:15:33 +02:00
Florian Bruhin
68d8900c6c link_pyqt: Support PYTHON environment variable. 2015-06-10 18:35:33 +02:00
Florian Bruhin
ddd343c89c link_pyqt: Be less verbose. 2015-06-10 18:35:33 +02:00
Florian Bruhin
fc15e85811 Add AppVeyor support. 2015-06-10 18:35:33 +02:00
Florian Bruhin
5a73ad0c19 Improve spell-checker case-sensitivity.
This only checks case-insensitively for the first char, so things like
"QMouseEvent" don't trigger the check.
2015-06-07 01:24:02 +02:00
Florian Bruhin
fd75f77108 Fix spell checker to check all files. 2015-06-07 01:24:02 +02:00
Florian Bruhin
015de0e6db misc_checks: Check spelling case-insensitively. 2015-06-05 17:51:33 +02:00
Florian Bruhin
4a909aa028 Use pylint's built-in checker to check for CRLF. 2015-06-04 15:25:36 +02:00
Florian Bruhin
0be0884a5b link_pyqt: Only link/copy files if they changed.
This reduces the output noise a bit and hopefully makes things a bit faster on
Windows.
2015-05-30 23:49:36 +02:00
Florian Bruhin
e48e063c0f src2asciidoc.py: Improve exception handling. 2015-05-30 19:29:37 +02:00
Florian Bruhin
2a269e9cd9 tox: Make sipconfig.py optional in link_pyqt.py.
For some reason sipconfig.py doesn't exist at all on Windows...
2015-05-27 08:10:02 +02:00
Florian Bruhin
1b48dc8749 tox: Also provide sipconfig in link_pyqt.py. 2015-05-27 07:54:25 +02:00
Florian Bruhin
ee0eabc202 scripts: Add --profile-dot to run_profile. 2015-05-21 07:45:20 +02:00
Florian Bruhin
37b431f72f Fix lint. 2015-05-18 22:37:48 +02:00
Florian Bruhin
c00dccfbb2 src2asciidoc: Improve error output on missing count arg. 2015-05-18 22:23:39 +02:00
Florian Bruhin
c91344cdf5 scripts: Add docstring for keytester. 2015-05-16 14:12:16 +02:00
Florian Bruhin
137badc77f Add some more informations to keytester script.
See #658, #420.
2015-05-16 12:57:29 +02:00
Florian Bruhin
ae512f451e Fix lint. 2015-05-12 09:10:02 +02:00
Florian Bruhin
c88393ccfd Add minimal key tester script.
See #658.
2015-05-12 09:03:25 +02:00
Florian Bruhin
7439586334 Move special params to cmdutils.register decorator
See #637.
2015-04-20 19:33:05 +02:00
Florian Bruhin
e5d33a6706 freeze.py: Set bundle_name for OS X.
See #384.
2015-04-13 15:39:31 +02:00
Florian Bruhin
d413aacc19 Add an .icns file for OS X.
See #384.
2015-04-13 15:01:30 +02:00
Florian Bruhin
bd9168fdfe Add qt_menu.nib for freeze.py on OS X. 2015-04-13 14:15:40 +02:00
Florian Bruhin
4547fd2c5d Add an applications shortcut to the .dmg.
See #384.
2015-04-13 12:33:18 +02:00
Florian Bruhin
566ffdbe23 scripts: Fix exe name for non-Windows in freeze.py.
See #384.
2015-04-13 12:25:57 +02:00
Florian Bruhin
425cffc2f7 pylint: Ignore 'undefined-variable' for tests.
It's less than optimal, but disabling it selectively because of
https://bitbucket.org/logilab/pylint/issue/511/ is too annoying.
2015-04-09 07:43:47 +02:00
Raphael Pierzina
ebfcc0a83c Merge remote-tracking branch 'upstream/master' 2015-04-08 23:56:17 +02:00
Florian Bruhin
76651822bd Merge pull request #16 from hackebrot/layout
Adopt test layout to pytest.
2015-04-08 14:03:02 +02:00
Florian Bruhin
b591dedf7f Move FAQ/INSTALL to repo root.
That's where most people probably expect them...
2015-04-07 22:38:51 +02:00
Florian Bruhin
1f39c7782a Add a changelog for released versions.
See #608.
2015-04-07 22:35:35 +02:00
Florian Bruhin
a480b297ca src2asciidoc: Split _get_command_doc. 2015-04-06 19:48:36 +02:00
Florian Bruhin
2d258ec53f Add note about maxsplit/no_split_cmd args to docs. 2015-04-06 17:32:33 +02:00
Florian Bruhin
9d44f777c0 Fix lint. 2015-04-05 20:30:31 +02:00
Florian Bruhin
143228d593 misc_checks.py: Fix exit status for spellcheck. 2015-04-05 19:37:56 +02:00
Florian Bruhin
d3a92d505c Make lints run with adjusted test folder location.
For pylint we need a custom script; see
https://bitbucket.org/logilab/pylint/issue/512/
2015-04-05 18:45:48 +02:00
Florian Bruhin
8748420b1b src2asciidoc: Skip suppressed arguments. 2015-04-01 21:37:06 +02:00
Florian Bruhin
38c63ca2ea Add a checker for words which I often misspell. 2015-03-31 22:12:38 +02:00
Florian Bruhin
8ebac8d38c Various spelling fixes. 2015-03-31 21:11:47 +02:00
Florian Bruhin
96090b86fd tox: Use pytest-cov for coverage. 2015-03-30 23:36:27 +02:00
Florian Bruhin
c562fac9cb tox: Use git directly to check for changes (docs).
We also remove checking for uncommited changes in misc_checks.py, as this
usually just is noise.
2015-03-26 20:37:53 +01:00
Florian Bruhin
cb3fcd3d8a Don't use {envsitepackagesdir} for link_pyqt.py.
It seems this is broken (and passes the global path) on Ubuntu Trusty.
2015-03-26 13:23:07 +01:00
Florian Bruhin
fc14b5b6b2 Fix link_pyqt.py on Debian/Windows. 2015-03-26 13:16:48 +01:00
Florian Bruhin
1d29e3462f Use tox to manage virtualenvs.
Obsoletes #463.
Fixes #558.
Fixes part of #474.
Closes #479.
Closes #452.
2015-03-26 08:15:38 +01:00
Florian Bruhin
07da31e2a0 Remove run_checks/init_venv.
This will be replaced by tox.
2015-03-26 07:59:01 +01:00
Florian Bruhin
513fbb1539 Make setup.py work with python2.
This is needed for distributions (Debian/Ubuntu) which only have a python2 tox.
Tests will still be run with python3, but the setup will be called with
python2.
2015-03-26 07:57:39 +01:00
Florian Bruhin
82322beb03 Fix pep257 issues. 2015-03-26 07:08:54 +01:00
Florian Bruhin
5f454f3440 Add a build_release.py script. 2015-03-24 23:14:09 +01:00
Florian Bruhin
09526ad715 asciidoc2html: Try to find asciidoc on the system.
Fixes #106.
2015-03-24 23:13:51 +01:00
Florian Bruhin
1a534454e2 Make it possible to correct author names in src2asciidoc. 2015-03-18 20:24:47 +01:00
Florian Bruhin
e8e6d8409b Adjust pylint exceptions. 2015-03-11 20:14:39 +01:00
Florian Bruhin
2b06d4e684 Add documentation about how to write userscripts.
Closes #450.
2015-03-10 23:22:53 +01:00
Florian Bruhin
bd3d091318 pylint/openencoding: Fix checking of nonconst mode 2015-03-08 22:31:29 +01:00
Florian Bruhin
86e77e19b6 run_checks: Add --verbose 2015-03-08 15:26:49 +01:00
Florian Bruhin
1d9738c1ab run_checks: Fix running of pyroma/check-manifest. 2015-03-06 17:51:21 +01:00
Florian Bruhin
e48f419f78 run_checks: Stop messing with logging config.
It seems pyroma got less insane, and this breaks logging in the unittests.
2015-03-06 17:50:49 +01:00
Florian Bruhin
a919ce2ffe init_venv: Also install pyroma/check-manifest. 2015-03-06 17:50:15 +01:00
Florian Bruhin
b61f8941de run_checks: Show coverage percentage. 2015-03-04 23:16:24 +01:00
Florian Bruhin
4fa5872733 Add coverage.py support to run_checks.py 2015-03-04 21:39:14 +01:00
Florian Bruhin
8f1d81a644 Add session support.
Closes #12.
See #499.
See #11.

This adds PyYAML as a new dependency.

It adds the following new commands:

    :session-delete <name>
    Delete a session.

    :session-load <name>
    Load a session.

    :session-save [<name>]
    Save a session.

    :wq [<name>]
    Save open pages and quit.

And the following new settings:

    general -> save-session:
    Whether to always save the open pages.
2015-02-16 20:26:09 +01:00
Florian Bruhin
2ad1c4737c Revert "Add QApplication check to init_venv.py."
This reverts commit 3729ccb8cf.

This just lead to unnecessary problems where the toolchain actually works just
fine.
2015-02-09 15:25:52 +01:00
Florian Bruhin
3729ccb8cf Add QApplication check to init_venv.py.
If no XServer is available, importing QtWidgets will work, but Qt will abort
when trying to construct a QApplication.
2015-02-09 00:19:02 +01:00
Florian Bruhin
a55076dfdf src2asciidoc: Fix metavar with nargs != 1. 2015-02-05 08:28:05 +01:00
Florian Bruhin
7d01abacaa run_checks: Add checker for missing __init__.py. 2015-02-05 06:55:48 +01:00
Florian Bruhin
cf5fd9456b Add gen_resources.py script. 2015-01-28 20:33:54 +01:00
Florian Bruhin
1e52f3856c venv: Fix handling of --cache 2015-01-24 18:01:25 +01:00
Florian Bruhin
29b9526a8e venv: Ignore more unneeded files when copying PyQt 2015-01-24 17:56:55 +01:00
Florian Bruhin
b808aa07ba venv: Fix removing of venv if it's linked. 2015-01-24 17:43:56 +01:00
Florian Bruhin
b86aa9061a Revert "Flush stdout before running setup.py."
This reverts commit bd633609ff.

We now set PYTHONUNBUFFERED in the buildbot environment.
2015-01-23 21:11:46 +01:00
Florian Bruhin
d16ac8f3ce Fix deleting of directories in link_pyqt. 2015-01-23 20:08:20 +01:00
Florian Bruhin
100e21d50c venv: Add argument to add a suffix to the cache.
This is mainly needed for the buildbot where multiple builds run in parallel on
the same host.
2015-01-23 19:55:43 +01:00
Florian Bruhin
bd633609ff Flush stdout before running setup.py. 2015-01-23 19:39:12 +01:00
Florian Bruhin
4dbbde9eaa venv: Better cache output. 2015-01-23 19:29:03 +01:00
Florian Bruhin
768e6ac5bf venv: Fix filtering of files to copy. 2015-01-23 19:14:46 +01:00
Florian Bruhin
feb964cff9 venv: Fix output when copying files. 2015-01-23 19:14:32 +01:00
Florian Bruhin
be568e1681 Fix lint 2015-01-23 18:54:17 +01:00
Florian Bruhin
2b7a843136 venv: Output all files copied into the venv. 2015-01-23 18:49:17 +01:00
Florian Bruhin
f3d570dd5b venv: Only copy needed files on Windows. 2015-01-23 18:32:33 +01:00
Florian Bruhin
6ceb0a41ff venv: Save cache to standard cache location.
Saving the cache inside the repository means the buildbot will clear it
automatically.
2015-01-23 17:47:56 +01:00
Florian Bruhin
e38f9747e7 init_venv: Add option to cache finished virtualenv.
This will hopefully speed up the tests (especially on Windows) since
dependencies don't get downloaded and built on every test.
2015-01-23 15:02:03 +01:00
Florian Bruhin
981a3ef96b Always use 'python' binary in virtualenv.
This should fix venv on OS X. See #463.
2015-01-23 14:37:56 +01:00
Florian Bruhin
7580473a43 Install pip by hand in virtualenv on Debian.
It seems Debian/Ubuntu don't have the ensurepip module, so Python's venv will
fail unless started with --without-pip and us installing pip by hand via
get-pip.py :(

Related bugs:

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772730
    https://bugs.launchpad.net/ubuntu/+source/python3.4/+bug/1290847

See #463.
2015-01-23 14:30:14 +01:00
Florian Bruhin
2201ca600b Fix long lines in init_venv.py.
See #463.
2015-01-23 14:14:30 +01:00
Florian Bruhin
6f1facac60 Also get rid of system_site_packages on Windows.
We can't symlink, so we copy the files instead.
2015-01-23 13:47:27 +01:00
Florian Bruhin
b2646cb5c0 Check if venv already exists.
According to the documentation, Python should do that already:

    If the target directory already exists an error will be raised, unless the
    --clear or --upgrade option was provided.

However that doesn't seem to be the case: http://bugs.python.org/issue23202

We do this by hand to make sure the user doesn't accidentally overwrite
something.

See #463.
2015-01-23 13:23:33 +01:00
Florian Bruhin
b8c54b5f02 Don't use system_site_packages on non-Windows.
See #463.
2015-01-23 13:17:39 +01:00
Florian Bruhin
907440d12c Simplify option handling in create_venv().
See #463.
2015-01-23 13:17:18 +01:00
Florian Bruhin
2264b55e92 Simplify create_venv().
See #463.
2015-01-23 13:16:53 +01:00
Florian Bruhin
816fcf3a6c Fix whitespace at EOL.
See #463.
2015-01-23 13:15:50 +01:00
Patric Schmitz
2404c75012 Use venv API for building the venv instead of calling pyvenv 2015-01-23 13:15:27 +01:00
Patric Schmitz
7813d9a93d Add hidden --force option for backwards compatibility with existing scripts 2015-01-23 13:15:23 +01:00
Patric Schmitz
4eefc53ed0 Change init_venv to use python 3.x venv
--force was replaced in favor of --clear and --upgrade which
correspond to the respective pyvenv options. The pyvenv help is
not explicit on the behavior if --clear is not given but the path
exists. https://docs.python.org/3/library/venv.html states pyvenv
would fail in that case, but it does not with Python 3.4.2, which
I don't consider a problem however.
Added a newline here and there for better readability.
2015-01-23 13:15:18 +01:00
Florian Bruhin
f6d0907736 init_venv: Pass --upgrade to pip install.
On Windows, --system-site-packages is enabled, so pip didn't upgrade pylint
from the system-wide version as it was already installed.
2015-01-22 13:37:58 +01:00
Florian Bruhin
2a72d290a7 Revert "init_venv: Pass --no-clean to pip on Windows."
This reverts commit 28fe84944c.

It didn't really help and it's deprecated (and un-deprecated?!) in the recent
pip.
2015-01-22 10:44:03 +01:00
Florian Bruhin
2e45c2c063 Stop pinning pylint/astroid to 1.3.1/1.2.1. 2015-01-21 00:00:51 +01:00
Florian Bruhin
532ec30d00 Fix executing of virtualenv pylint on Windows.
6a7e454789 broke executing pylint on Windows,
because there was a pylint Python script in vev\Scripts, and subprocess tried
to execute that instead of the .exe.
2015-01-20 23:06:03 +01:00
Florian Bruhin
f4479a8140 Fix adding epilogue in src2asciidoc.py. 2015-01-20 00:02:16 +01:00
Florian Bruhin
6a7e454789 Add proper virtualenv support to run_checks.py 2015-01-19 23:50:01 +01:00
Florian Bruhin
18443a6880 run_checks: Support print_version for check_pep257. 2015-01-19 00:53:05 +01:00
Florian Bruhin
aa6750ac1b run_checks: Add a comment for check_pep257. 2015-01-19 00:51:33 +01:00
Florian Bruhin
dc9263a77c Revert "run_checks: Run pep257 via subprocess."
This reverts commit 380537d49c.

Conflicts:
	scripts/run_checks.py

This is needed because it seems pep257 doesn't install a binary on Windows.
2015-01-19 00:50:18 +01:00
Florian Bruhin
1e8729eac7 run_checks: Add a --print-version argument. 2015-01-19 00:45:01 +01:00
Florian Bruhin
380537d49c run_checks: Run pep257 via subprocess. 2015-01-19 00:42:39 +01:00
Florian Bruhin
ddc4e7b309 Unset __PYVENV_LAUNCHER__ to fix init_venv on OS X.
For some weird reason, pip installed logilab.common into /usr/local when
launching it via subprocess, because __PYVENV_LAUNCHER__ was set...
2015-01-18 00:05:08 +01:00
Florian Bruhin
e9786458fa Really ignore pylint checks. 2015-01-15 23:09:18 +01:00
Florian Bruhin
eadaef3ce9 Ignore pylint warnings for the older pep257 code 2015-01-15 22:46:03 +01:00
Florian Bruhin
04598b2315 Fix pep257 check for newer versions 2015-01-15 22:41:01 +01:00
Florian Bruhin
a32f1e6180 Make it possible to deprecate commands.
See #448.
2015-01-15 22:29:00 +01:00
Florian Bruhin
3ff28027de Make init_venv.py work with multiple sip .so files.
On my Debian jessie there's a sip.cpython-34m-x86_64-linux-gnu.so and a
sip.cpython-34dm-x86_64-linux-gnu.so.
2015-01-06 11:26:40 +01:00
Florian Bruhin
450d1ab70d Update copyright years 2015-01-03 15:51:31 +01:00
Florian Bruhin
d1d6fb3dce Use Qt resources for the window icon. 2014-12-28 15:10:02 +01:00
Florian Bruhin
2a4e884e1b Set window icon. Closes #325. 2014-12-28 14:35:28 +01:00
Florian Bruhin
c48727d19a Force-include pygments in freeze.py.
Fixes #398.
2014-12-22 17:30:41 +01:00
Florian Bruhin
791ff36c69 Clean up _get_args in run_checks.py 2014-12-21 18:59:10 +01:00
Florian Bruhin
5e4f3ed7c5 Revert "Use python -m to call virtualenv in init_venv."
This reverts commit 40781b163e.

Some platforms (e.g. Ubuntu Trusty) don't have a python3-virtualenv, so we
should instead adjust the documentation to use the python2 one.
2014-12-16 22:04:46 +01:00
Florian Bruhin
40781b163e Use python -m to call virtualenv in init_venv.
It seems python3-virtualenv on Debian Jessie doesn't contain
/usr/bin/virtualenv.
2014-12-16 17:24:00 +01:00
Florian Bruhin
77579e7ebd Ensure the docs gets included in freeze.py.
See #346.
2014-12-16 13:26:12 +01:00
Florian Bruhin
33120bb780 Add .ico file to freeze.py. Fixes #322. 2014-12-15 22:45:03 +01:00
Florian Bruhin
86d91b9c3d Require BASEDIR in freeze.py. 2014-12-15 22:44:11 +01:00
Florian Bruhin
ea76bdfb0f Replace all IOError by OSErrors.
Starting with Python 3.3, IOError is just an alias for OSError.
2014-12-10 16:48:23 +01:00
Florian Bruhin
28fe84944c init_venv: Pass --no-clean to pip on Windows.
Windows likes to fail deleting files for no reason, so we avoid deleting
stuff to avoid bogus build failures...
2014-12-09 22:01:19 +01:00
Florian Bruhin
91fcac4735 asciidoc2html: Check files recursively with --all. 2014-12-06 18:15:38 +01:00
Florian Bruhin
1d8a8b57c7 Fix asciidoc2html with --all 2014-12-06 17:32:04 +01:00
Florian Bruhin
7b79b23899 run_checks: Ignore .venv #2 2014-12-05 23:42:42 +01:00
Florian Bruhin
67f5f3e818 run_checks: Ignore .venv 2014-12-05 23:40:33 +01:00
Florian Bruhin
acb058dc2b run_checks: Also check for uncommited changes. 2014-12-05 23:29:49 +01:00
Florian Bruhin
57d566d1a6 asciidoc2html: Add an --all option. 2014-12-05 23:29:37 +01:00
Florian Bruhin
0c9a62e289 Fix sorting authors with the same number of commits. 2014-12-05 22:36:35 +01:00
Florian Bruhin
f355ee6282 Don't depend on cx_Freeze for tests. 2014-12-05 12:55:20 +01:00
Florian Bruhin
58b5d97d2c init_venv: Fix beautifulsoup4 package name. 2014-12-05 12:50:57 +01:00
Florian Bruhin
653fbe81d0 pylint: Ignore distutils ImportError.
See https://bitbucket.org/logilab/pylint/issue/73/
2014-12-05 12:46:57 +01:00
Florian Bruhin
0cc95edce5 init_venv: Add more dev modules. 2014-12-05 12:46:39 +01:00
Florian Bruhin
84b22c3b93 init_venv: Check dev packages only with --dev 2014-12-05 12:10:59 +01:00
Florian Bruhin
703c0c23e8 pylint_checkers: Whitespace fix 2014-12-05 11:54:39 +01:00
Florian Bruhin
1644bc47e3 init_venv: Use --system-site-packages on Windows. 2014-12-05 11:52:23 +01:00
Florian Bruhin
767d42009f init_venv: pin astroid version 2014-12-05 11:52:08 +01:00
Florian Bruhin
cda848855a init_venv: Change sip glob to include .pyd 2014-12-05 08:53:06 +01:00
Florian Bruhin
58f210e9cf Simplify checks to always use subprocess. 2014-12-05 08:44:58 +01:00
Florian Bruhin
b209be5739 init_venv: Test all installed packages 2014-12-05 07:08:56 +01:00
Florian Bruhin
284516dfb7 init_venv: Don't check for pylint without --dev 2014-12-05 06:56:15 +01:00
Florian Bruhin
ee6e7d73e2 Fix sip globbing for real 2014-12-05 06:53:56 +01:00
Florian Bruhin
1dcf3ad885 init_venv: Use sys.executable for venv_python 2014-12-05 06:45:20 +01:00
Florian Bruhin
c89f0c339f init_venv: Add missing glob import 2014-12-05 06:40:36 +01:00
Florian Bruhin
ea9c1de2ba init_venv: Check if file exists before symlinking. 2014-12-05 06:38:32 +01:00