Running tests
=============

pymunge uses pytest for its test suite. To run the suite,
execute the following command from the top level project directory:

    python3 -m pytest

The above command executes all tests, including some that are slow
(by necessity, since they test credential expiration). To disable
the slow tests, use:

    python3 -m pytest -m "not slow"

Release checklist
=================

(Work in progress)

- Ensure that all tests succeed
- Ensure that pymunge_example.py works
- Check if MANIFEST.in needs to be updated; make any necessary changes.
  (check-manifest may be useful here)
- Check if any other release files (e.g. setup.py, README) need updates.
  In particular check if any requirements/depends need to be updated.
- Make a commit for the above changes (if any)
- Update version number in pymunge/_version.py and README.rst
- Update changelog.txt
- Make a version bump commit. (Do not push this commit yet.)
- Tag this commit with the version number. (Do not push this tag either.)
- Make source and binary distributions::

    python3 setup.py sdist
    python3 setup.py bdist_wheel

  Inspect them to check if they seem correct.
  Test installing at least the source distribution.

- Push the version bump commit and tag.
- Upload the release to pypi::

    twine upload dist/*

