Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support pyproject.toml #14

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
Open

Support pyproject.toml #14

wants to merge 14 commits into from

Conversation

cjolowicz
Copy link
Owner

@cjolowicz cjolowicz commented Aug 26, 2019

This PR mirrors heroku/heroku-buildpack-python#834.

This mirror PR exists because CI in the upstream repository can only be run by the upstream repository owner. It contains some additional commits:

See the original PR for more details.

Change the HEROKU_API_KEY and HEROKU_API_USER environment variables used by
Travis CI. The encrypted values were generated using the following commands:

  heroku authorizations:create --description "For Travis"
  travis login --com
  travis encrypt HEROKU_API_KEY=<token> --add --com
  travis encrypt HEROKU_API_USER=<[email protected]> --add --com
Run the tests in a separate CI job per test suite and stack. Testing on
all stacks in a single job exceeds Travis time limits.
Make it possible to specify individual tests to run, to facilitate
debugging. Running the entire test suite every time can take quite long.
Tests can be specified by passing the TESTS variable to `make test`.

If TESTS is non-empty, the test script defines the `suite` hook to build
the test suite using `suite_addTest` with each specified test function.
If TESTS is unset or empty, shUnit2's default behaviour is to run all
functions beginning with the word `test`.

See https://github.com/kward/shunit2#-suites
Do not attempt to invoke test functions specified via the TESTS
environment variable if they are not defined. The Makefile invokes
multiple test scripts and each test function is only defined in one of
them.
Define a noop test function when TESTS is passed and no function in the
test script matches the contents of TESTS. The noop function merely
prints a line notifying the user that the tests were skipped.

This happens because tests were split up into multiple test scripts, but
the Makefile passes TESTS to all of them. When the `suite` hook does not
invoke `suite_addTest`, shunit2 falls back to running all defined tests.
Bump PIP_UPDATE from 9.0.2 to 19.2.3. This variable is used in bin/steps/python
to determine which pip version to install or upgrade to.
Python 3.4 support was dropped in pip >= 19.2. For projects still on
this Python version, use pip 19.1.1 instead of pip 19.2.1.
The pip-diff and pip-grep tools from the vendorized `pip-pop` package
import internal modules from pip. In pip >= 10, internal modules were
moved under `pip._internal`, breaking the imports. Use `try...except
ImportError` to handle both import paths.

Also, the interface of the `PackageFinder` class from one of these
modules changed. Provide a wrapper function to allow creating objects of
this type using the old interface.
This addresses an issue raised by @CaseyFeist during code review:

  Updating pip for pipenv users or requiring them to update without a
  heads up won't be a good experience (our version is old enough that
  they'll need to uninstall and reinstall pipenv locally to successfully
  update). If you can refactor this to stay pinned to current version for
  pipenv users only, I should be able to accept this (and the related
  project updates).

  heroku/heroku-buildpack-python#833 (comment)
Add two test cases for projects using poetry as the build backend:

- testPoetry: project without dependencies

- testPoetryLock: project with dependencies, using a poetry.lock file
Add two test cases for projects using flit as the build backend:

- testFlit: project without dependencies

- testFlitRequires: project with dependencies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant