Skip to content

Commit

Permalink
Add testing for Python 3.7, and make 3.7 the default for tests and to…
Browse files Browse the repository at this point in the history
…x environments
  • Loading branch information
jantman committed Sep 14, 2018
1 parent f458720 commit 692ac62
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 15 deletions.
10 changes: 6 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,15 @@ matrix:
env: TOXENV=py35 DB_CONNSTRING='mysql+pymysql://[email protected]:3306/budgettest?charset=utf8mb4'
- python: "3.6"
env: TOXENV=py36 DB_CONNSTRING='mysql+pymysql://[email protected]:3306/budgettest?charset=utf8mb4'
- python: "3.7"
env: TOXENV=py37 DB_CONNSTRING='mysql+pymysql://[email protected]:3306/budgettest?charset=utf8mb4'
- python: "2.7"
env: TOXENV=acceptance27 DB_CONNSTRING='mysql+pymysql://[email protected]:3306/budgettest27?charset=utf8mb4'
- python: "3.6"
env: TOXENV=acceptance36 DB_CONNSTRING='mysql+pymysql://[email protected]:3306/budgettest36?charset=utf8mb4'
- python: "3.6"
- python: "3.7"
env: TOXENV=acceptance37 DB_CONNSTRING='mysql+pymysql://[email protected]:3306/budgettest36?charset=utf8mb4'
- python: "3.7"
env: TOXENV=migrations MYSQL_USER='root' MYSQL_HOST='127.0.0.1' MYSQL_DBNAME_LEFT='alembicLeft' MYSQL_DBNAME_RIGHT='alembicRight' DB_CONNSTRING='mysql+pymysql://[email protected]:3306/alembicLeft?charset=utf8mb4'
- python: "3.6"
- python: "3.7"
env: TOXENV=docs

install:
Expand Down
1 change: 1 addition & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Changelog
Unreleased Changes
------------------

* Add testing for Python 3.7, and make 3.7 the default for tests and tox environments.
* `Issue #198 <https://github.com/jantman/biweeklybudget/issues/198>`_ - Fix broken method of retrieving current US Prime Rate. Previously we used marketwatch.com for this but they've introduced javascript-based bot protection on their site (which is ironic since we were reading a value from the page's ``meta`` tags, which are specifically intended to be read by machines). Switch to using wsj.com instead and (ugh) parsing a HTML table. This *will* break when the format of the table changes. As previously, we cache this value in the DB for 48 hours in order to be a good citizen.
* `Issue #197 <https://github.com/jantman/biweeklybudget/issues/197>`_ - Add notification for case where balance of all budget-funding accounts is *more* than sum of standing budgets, current payperiod remaining, and unreconciled. This is the opposite of the similar notification that already exists, intended to detect if there is money in accounts not accounted for in the budgets.
* `Issue #196 <https://github.com/jantman/biweeklybudget/issues/196>`_ - Don't include inactive budgets in Budget select elements on Transaction Modal form, unless it's an existing Transaction using that budget.
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ Requirements
Using the dockerized version will eliminate all of these dependencies aside from MySQL (which you can run in another container) and
Vault (if you choose to take advantage of the OFX downloading), which you can also run in another container.

* Python 2.7 or 3.4+ (currently tested with 2.7, 3.4, 3.5, 3.6 and developed with 3.6)
* Python 2.7 or 3.4+ (currently tested with 2.7, 3.4, 3.5, 3.6, 3.7 and developed with 3.7)
* Python `VirtualEnv <http://www.virtualenv.org/>`_ and ``pip`` (recommended installation method; your OS/distribution should have packages for these)
* MySQL, or a compatible database (e.g. `MariaDB <https://mariadb.org/>`_). biweeklybudget uses `SQLAlchemy <http://www.sqlalchemy.org/>`_ for database abstraction, but currently specifies some MySQL-specific options, and is only tested with MySQL.
* To use the automated OFX transaction downloading functionality:
Expand Down
4 changes: 2 additions & 2 deletions docs/source/getting_started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Requirements
Using the dockerized version will eliminate all of these dependencies aside from MySQL and
Vault (the latter only if you choose to take advantage of the OFX downloading), both of which you can also run in containers.

* Python 2.7 or 3.4+ (currently tested with 2.7, 3.4, 3.5, 3.6 and developed with 3.6)
* Python 2.7 or 3.4+ (currently tested with 2.7, 3.4, 3.5, 3.6, 3.7 and developed with 3.7)
* Python `VirtualEnv <http://www.virtualenv.org/>`_ and ``pip`` (recommended installation method; your OS/distribution should have packages for these)
* MySQL, or a compatible database (e.g. `MariaDB <https://mariadb.org/>`_ ). biweeklybudget uses `SQLAlchemy <http://www.sqlalchemy.org/>`_ for database abstraction, but currently specifies some MySQL-specific options, and is only tested with MySQL.
* To use the automated OFX transaction downloading functionality:
Expand All @@ -27,7 +27,7 @@ It's recommended that you install into a virtual environment (virtualenv /
venv). See the `virtualenv usage documentation <http://www.virtualenv.org/en/latest/>`_
for information on how to create a venv.

This app is developed against Python 3.6, but should work back to 2.7. It does
This app is developed against Python 3.7, but should work back to 2.7. It does
not support Python3 < 3.4.

.. code-block:: bash
Expand Down
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Topic :: Office/Business :: Financial'
]

Expand Down
16 changes: 8 additions & 8 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = py27,py34,py35,py36,docs,jsdoc,screenshots,acceptance27,acceptance36,docker,migrations
envlist = py27,py34,py35,py36,py37,docs,jsdoc,screenshots,acceptance27,acceptance37,docker,migrations

[testenv]
deps =
Expand Down Expand Up @@ -54,7 +54,7 @@ deps =
pygments
sphinx==1.5.5
sphinx_rtd_theme
basepython = python3.6
basepython = python3.7
commands =
python --version
virtualenv --version
Expand All @@ -80,7 +80,7 @@ deps =
sphinx
sphinx_rtd_theme
sphinx-js==1.5.2
basepython = python3.6
basepython = python3.7
commands =
python --version
virtualenv --version
Expand All @@ -96,7 +96,7 @@ deps =
Pillow==4.1.1
passenv = {[testenv]passenv}
setenv = {[testenv]setenv}
basepython = python3.6
basepython = python3.7
sitepackages = False
whitelist_externals = env test
commands =
Expand All @@ -113,7 +113,7 @@ deps =
docker==2.2.1
passenv = {[testenv]passenv} DOCKER_TEST_TAG DOCKER_BUILD_VER
setenv = {[testenv]setenv}
basepython = python3.6
basepython = python3.7
sitepackages = False
whitelist_externals = env test
commands =
Expand Down Expand Up @@ -152,11 +152,11 @@ commands =
pip freeze
py.test -rxs -vv --durations=50 --durations-file=results/test_durations.json --driver Chrome --html=results/acceptance.html -m "acceptance" biweeklybudget

[testenv:acceptance36]
[testenv:acceptance37]
deps = {[testenv:acceptance27]deps}
passenv = {[testenv]passenv}
setenv = {[testenv]setenv}
basepython = python3.6
basepython = python3.7
sitepackages = False
whitelist_externals = env test
commands = {[testenv:acceptance27]commands}
Expand All @@ -175,7 +175,7 @@ deps =
retrying
passenv=CI TRAVIS* CONTINUOUS_INTEGRATION NO_REFRESH_DB DB_CONNSTRING NO_CLASS_REFRESH_DB MYSQL_*
setenv = {[testenv]setenv}
basepython = python3.6
basepython = python3.7
sitepackages = False
whitelist_externals = env test
commands =
Expand Down

0 comments on commit 692ac62

Please sign in to comment.