|
| 1 | +Title: pytest development sprint |
| 2 | +Date: 2016-07-07 09:00 |
| 3 | +Tags: sprint2016 |
| 4 | +Authors: pfctdayelise |
| 5 | +Summary: Summary of happenings at the June 2016 development sprint. |
| 6 | + |
| 7 | + |
| 8 | +We have just wrapped up the pytest development sprint, which was held 20-25 June 2016 in Freiburg, Germany. Other sprints have taken place at Python conferences, but this was the first dedicated standalone event. We had 27 participants from five continents! |
| 9 | + |
| 10 | +It was funded by [an indiegogo campaign](https://www.indiegogo.com/projects/python-testing-sprint-mid-2016#/) which raised over US$12,000 with nearly 100 backers. Several companies generously donated $300 or more: |
| 11 | + |
| 12 | +* [Dropbox](https://www.dropbox.com/home) |
| 13 | +* [Dolby Laboratories](http://www.dolby.com/) |
| 14 | +* [Optiver APAC](http://www.optiver.com/sydney/) |
| 15 | +* [Splunk](http://www.splunk.com/) |
| 16 | +* [Cobe.io](https://cobe.io/) |
| 17 | +* [Personalkollen](https://personalkollen.se/) |
| 18 | +* [FanDuel](https://www.fanduel.com/) |
| 19 | +* [BrightSpec](http://brightspec.com/) |
| 20 | + |
| 21 | +Participants travelled from around Europe and the UK, the US, Brazil, Australia and China. |
| 22 | + |
| 23 | +Work started or finished included the following. |
| 24 | + |
| 25 | +Discussions: |
| 26 | + |
| 27 | +* what to include in pytest 3.0 |
| 28 | +* advanced intro sessions on plugin mechanics (pluggy) and the fixture system implementation |
| 29 | +* tox roadmap |
| 30 | +* [Started to conceptualize generalized package builds and virtualenv creation](https://bitbucket.org/hpk42/tox/issues/338/generalize-package-builds-and-virtualenv) |
| 31 | +* process for removing deprecated features |
| 32 | +* proposal for [combining parametrize with fixtures](https://github.com/pytest-dev/pytest/pull/1660) |
| 33 | +* new 'fromcontext'/'invocation' scope for fixtures and some initial prototyping |
| 34 | +* lightning talks |
| 35 | + |
| 36 | +{.img-rounded} |
| 37 | + |
| 38 | +Major features: |
| 39 | + |
| 40 | +* dropping pytest assert reinterpret code |
| 41 | +* [rename binary from 'py.test' to 'pytest'](https://github.com/pytest-dev/pytest/issues/1629) (but don't worry, ``py.test`` will still work) |
| 42 | +* [documentation restructuring](https://github.com/pytest-dev/pytest/wiki/Docs-refactor) |
| 43 | +* [``--setup-only`` and ``--setup-plan`` flags which show how fixtures are initialised without actually running the tests](https://github.com/pytest-dev/pytest/pull/1647) |
| 44 | +* Adding ``-o`` commandline option to override .ini config values |
| 45 | + |
| 46 | +Other features: |
| 47 | + |
| 48 | +* pytest-qt features - improvements towards a [2.0 release](https://github.com/pytest-dev/pytest-qt/blob/master/CHANGELOG.rst) |
| 49 | +* pytest-bdd enhancements |
| 50 | +* pytest-django: triaged issues in general and made some progress especially with regard to better handle DB access/setup. |
| 51 | +* pytest-html enhancements |
| 52 | +* pytest-factoryboy enhancements |
| 53 | +* pytest-selenium enhancements |
| 54 | +* pytest-repeat enhancements |
| 55 | +* pytest-environment research |
| 56 | +* cookiecutter-pytest-plugin improvements |
| 57 | +* 4 projects [submitted](http://pytest.org/latest/contributing.html#submitting-plugins-to-pytest-dev) to pytest-dev organisation |
| 58 | + |
| 59 | +Bugs fixed/in progress: |
| 60 | + |
| 61 | +* [exit pytest on collection error](https://github.com/pytest-dev/pytest/issues/1421) |
| 62 | +* [markers stain on all related classes](https://github.com/pytest-dev/pytest/issues/568) |
| 63 | +* [removed deprecated command line options](https://github.com/pytest-dev/pytest/issues/1657) |
| 64 | +* [incorrectly dropping brackets on display of assertions](https://github.com/pytest-dev/pytest/issues/925) |
| 65 | +* [rename getfuncargvalue to getfixturevalue](https://github.com/pytest-dev/pytest/issues/1625) |
| 66 | +* [warning if you use getfuncargvalue with parametrized fixtures](https://github.com/pytest-dev/pytest/issues/460) |
| 67 | +* [terminal newlines in failed test output](https://github.com/pytest-dev/pytest/issues/1553) |
| 68 | +* [escaping curly braces in a tox command doesn't work](https://bitbucket.org/hpk42/tox/issues/212) |
| 69 | +* [Tox shouldn't call pip directly to avoid shebang limitations](https://bitbucket.org/hpk42/tox/issues/66) |
| 70 | +* [missing evaluated value in report when asserting a boolean attribute](https://github.com/pytest-dev/pytest/issues/1503) |
| 71 | +* [improved determination of rootdir](https://github.com/pytest-dev/pytest/pull/1621) |
| 72 | + |
| 73 | + |
| 74 | +In total [35 pull requests were merged](https://github.com/pytest-dev/pytest/pulls?utf8=%E2%9C%93&q=is%3Apr%20is%3Amerged%20updated%3A2016-06-20..2016-06-27%20) to pytest, and [at least 12](https://bitbucket.org/hpk42/tox/pull-requests/?state=MERGED) to tox, not to mention many others to plugins. |
| 75 | + |
| 76 | +(It is worth noting that this is not an exhaustive list of all features that will go into pytest 3.0; a separate post will the full release notes will be made once the release is done.) |
| 77 | + |
| 78 | +| | | |
| 79 | +| ------------- | ------------- | |
| 80 | +| {.img-rounded} | {.img-rounded} | |
| 81 | +| {.img-rounded} | {.img-rounded} | |
| 82 | +| {.img-rounded} | {.img-rounded} | |
| 83 | + |
| 84 | + |
| 85 | +We also spent some time designing the [stickers](https://twitter.com/pytestdotorg/status/745528947736092672) and [t-shirts](https://github.com/kvas-it/pytest-design/blob/master/tshirt_example.png). Surveys went out to those who backed the fundraising campaign last week and the goods will be shipped very soon. |
| 86 | + |
| 87 | +Thank you so much to everyone who supported the sprint. We have greatly improved our knowledge of pytest internals, expanded the pytest contributor community, and we're looking forward to bringing you pytest 3.0 very soon (aiming for before [EuroPython](https://ep2016.europython.eu/conference/talks/pytest-30))! |
| 88 | + |
| 89 | +{.img-rounded} |
0 commit comments