Commit Graph

3145 Commits

Author SHA1 Message Date
Jason R. Coombs cc9305b910 Rely on iterable unpacking to extract one element from generator expression. 2019-01-02 14:39:05 -05:00
Jason R. Coombs 731df905fb Always specify formats=gztar, overriding the project's legacy expectation that a zip sdist should be generated. Fixes #1623. 2019-01-02 14:28:33 -05:00
Jason R. Coombs 38bbfded98 Add test capturing failure. Ref #1623. 2019-01-02 14:27:07 -05:00
Jason R. Coombs 2db2a8f37d Feed the hobgoblins (delint). 2019-01-02 14:23:14 -05:00
Paul Ganssle 772db178f1
Merge pull request #1620 from scop/spelling
Spelling fixes
2019-01-01 12:08:50 -05:00
Paul Ganssle f5c04b1bb6
Merge pull request #1559 from RajdeepRao/BUG-1551
Disallow files for license inputs
2018-12-31 17:27:40 -05:00
Ville Skyttä 5f48a74119 Spelling fixes 2018-12-29 21:00:08 +02:00
Jason R. Coombs 0c9624fd5e Feed the hobgoblins (delint). 2018-12-29 13:47:21 -05:00
Jason R. Coombs 9bf0fbe2af Remove unused import 2018-12-29 13:42:22 -05:00
Paul Ganssle 3db95bcc3d
Add explicit test for license in setup.cfg 2018-12-29 11:20:53 -05:00
Paul Ganssle 8b8e2c8b3b
Change how license field ValueError is tested
Both the old and new approaches are deeply unsatisfying to me, but
without reworking how these test commands are run, I think this is
about as close as we can get to enforcing that this specific call
raises ValueError.
2018-12-29 11:20:49 -05:00
rajdeep 8f00d60d62 Disallow files for license inputs
The ability to handle files was originally added and documented based on
a misunderstanding of what the `license` field should include. The field
should be the name of the license, not the full text.

It is likely that anyone actually using this was outputing malformed
PKG-INFO files, because most license files contain newlines.

See GH issue #1551
2018-12-29 11:14:12 -05:00
Reece D d5f601406f Use HTTPS in link to RFC #6125 2018-12-28 10:07:43 -05:00
Paul Ganssle a0735f223b
Assert that warning is raised with svn downloads
This both prevents the warning from surfacing during the tests and
ensures that no regressions occur.
2018-12-28 09:52:02 -05:00
Paul Ganssle b78994aa19
Import distribution in doctest
Fixes GH issue #1612, bug introduced in commit 0902f02d9d
2018-12-28 09:37:55 -05:00
Jason R. Coombs 0902f02d9d Access pkg_resources objects through its namespace 2018-12-24 13:03:58 -05:00
Jason R. Coombs 3b8307541e Rely on package names to namespace the package contents. 2018-12-24 12:01:34 -05:00
Jason R. Coombs 42a792c3a4 Add test for download_svn, improving coverage on patch 2018-12-15 20:24:46 -05:00
Jason R. Coombs 3a351aa00e Remove use of splituser in packag_index.py. Fixes #1499. 2018-12-15 20:16:50 -05:00
Jason R. Coombs 361013fe78
Merge pull request #1544 from kanikas3/added-unittest-download-git
added unittest for _download_git
2018-12-14 15:22:08 -05:00
Jason R. Coombs 08cdccef12 Call index.download, covering more code. Split test into two. 2018-12-14 15:10:56 -05:00
Paul Moore f524f83eac Fix the tests 2018-11-14 18:30:18 +00:00
Paul Moore ed22402b7b Backend should not say that setuptools is needed to build 2018-11-14 18:07:37 +00:00
Benoit Pierre 9f547fe6a3 add a test to catch unvendored dependencies 2018-11-13 10:33:35 +01:00
Oleg Sharov ba76982870 import internal version of six 2018-11-13 12:52:43 +04:00
Paul Ganssle ac3cee396f
Fix issue with missing author metadata
Prior to this patch, if the author or author_email were omitted from
`setup`, a malformed `PKG-INFO` would be created.
2018-11-12 22:39:09 -05:00
Paul Ganssle 2b5b91332a
Remove bdist_rpm and bdist_dumb comment
This comment is not used anywhere and `platform.dist()` is deprecated.

See CPython PR #10414: https://github.com/python/cpython/pull/10414
and bpo-35186: https://bugs.python.org/issue35186
2018-11-12 10:14:34 -05:00
Deniz Taneli 28872fc9e7 Remove unnecessary parameters from the test 2018-11-10 20:00:45 +00:00
Deniz Taneli 1047052e34 Address review comments 2018-11-10 19:55:12 +00:00
Paul Ganssle fe2c9e4292
Fix show_response behavior on Python 2
The `upload.show_response` feature was not added until Python 3. Rather
than backport it, it is now enabled only if supported.

This also adds a "smoke test" for the feature.
2018-11-07 17:38:44 -05:00
Paul Ganssle 727dd60f6a
Fix bdist_rpm and bdist_dumb in upload_file
This fixes uploads when bdist_rpm or bdist_dumb are the command, both of
which insert a comment about what platform they are built for.
2018-11-07 17:38:43 -05:00
Paul Ganssle b5c9c5f42d
Fix gpg signature code in upload_file
This fixes an issue where `distutils.spawn.spawn` was not available in
the ported upload_file, which is only used when signing the data.

This also adds a test that the gpg signature command is invoked and
included in the uploaded data.
2018-11-07 17:38:43 -05:00
Paul Ganssle 1bca7ffdea
Add test for OSError in upload_file 2018-11-07 17:38:43 -05:00
Paul Ganssle 77b661a959
Add test for HTTPError in upload_file 2018-11-07 17:38:43 -05:00
Paul Ganssle 7417740076
Add test for invalid URLs in upload_file 2018-11-07 17:38:43 -05:00
Paul Ganssle f4458afd8c
Use the patched_upload fixture in upload_metadata
`test_upload_metadata` was written before the fixture, so this updates
the test to use the fixture.
2018-11-07 17:38:42 -05:00
Paul Ganssle dfe1b3afb4
Add upload fixture
This is a fixture to create an upload command with a patched version of
urlopen so that no HTTP queries are sent.
2018-11-07 17:38:42 -05:00
Paul Ganssle bef2267862
Use an in-memory IO object instead of a temp file
Rather than writing to a file in a temporary directory, we can write to
and read from an in-memory buffer, now that the encoding functionality
in write_pkg_file is fixed.
2018-11-07 17:38:42 -05:00
Paul Ganssle c34962d081
Use write_field in write_pkg_file
This creates a wrapper function for writing fields in the PKG-INFO file,
both to simplify the syntax and to add a point where we can inject an
encoding function in order to support Python 2.7 compatibility.
2018-11-07 17:38:42 -05:00
Paul Ganssle 9ffb099b11
Add test for read_pkg_file 2018-11-07 17:38:42 -05:00
Paul Ganssle 33185837db
Use get_metadata_version in upload_file
Previously this value was hard-coded to '1.0', which was inaccurate for
many packages.

Fixes #1381
2018-11-07 17:38:41 -05:00
Paul Ganssle 386fcdbe02
Start patching DistributionMetadata.read_pkg_file
This turns get_metadata_version into a method on DistributionMetadata,
populated either by inferrence (in the case of package metadata
specified in `setup`) or from the data in a specified PKG-INFO file.

To populate metadata_version from PKG-INFO, we need to monkey patch
read_pkg_file in addition to write_pkg_file.
2018-11-07 17:38:41 -05:00
Paul Ganssle e5d362d373
Store metadata version on metadata object 2018-11-07 17:38:41 -05:00
Paul Ganssle b7a6d8ad1b
Add failing test for issue #1381 2018-11-07 17:38:41 -05:00
Paul Ganssle 83fb238551
Add DistributionMetadata.read_pkg_file
This is the baseline, unchanged from the version in distutils.dist, to
be modified before patching.
2018-11-07 17:38:40 -05:00
Paul Ganssle cbef294985
Add upload_file to setuptools.command.upload 2018-11-07 17:38:40 -05:00
Paul Ganssle b0c746640f
Merge pull request #1572 from pganssle/import_futures_test_reqs
Add futures and backport to Python 2.7 test requirements
2018-11-04 12:38:42 -05:00
Paul Ganssle bff67db79c
Test that manifest can exclude setup.py 2018-11-03 13:09:22 -04:00
Paul Ganssle 7a3e4b4169
Add futures backport to test reqs
`setuptools.tests.test_build_meta` relies on the Python 3 feature
`concurrent.futures` to run, and as a result has been silently skipped
in Python 2.7. This adds the `futures` backport to the 2.7 test
requirements and turns the `pytest.importorskip` invocations in test_build_meta
into standard import statements.
2018-11-02 20:53:01 -04:00
Shashank Singh fcfe6ef3b7 Add setup.py to egg-info by default
Fixes GH issue #1506
2018-11-02 20:30:54 -04:00
Shashank Singh d3e08a3210 Add tests for setup.py inclusion
This tests that `setup.py` is included by default in the distribution
with the egg_info command and when an sdist is built with
build_meta.build_sdist
2018-11-02 20:30:11 -04:00
Paul Ganssle a50f09b90c
Merge pull request #1541 from smenon8/deprecate-requires
Deprecate the requires keyword
2018-10-29 16:38:10 -04:00
Sreejith Menon 1c226bdeb6
Merge branch 'master' into deprecate-requires 2018-10-28 19:52:20 -04:00
robinjhuang 3a9dc2b03e Add unit tests for setuptools deprecation warnings
These are tests to ensure that the specified deprecation warnings are
raised when the functions are called.

Co-authored-by: Junhan Huang <robin.j.huang@gmail.com>
Co-authored-by: Marton Pono <marci93@gmail.com>
2018-10-28 17:45:42 -04:00
Junhan Huang 5854b0eba0 Add custom deprecation warning classes
`DeprecationWarning` is not visible by default in the latest versions of
CPython, so this switches the deprecation warnings in setuptools and
pkg_resources over to custom classes derived from `Warning` instead.

Fixes issue github issue #159

Co-authored-by: Junhan Huang <robin.j.huang@gmail.com>
Co-authored-by: Marton Pono <marci93@gmail.com>
2018-10-28 17:43:24 -04:00
Jason R. Coombs 9543875b93 Inline variable 2018-10-28 14:17:27 -04:00
Jason R. Coombs 42fe2eb166 Extract _get_option function for getting an option from getter or attribute. 2018-10-28 14:16:31 -04:00
Jason R. Coombs ad043d61d3 Feed the hobgoblins (delint). 2018-10-28 14:05:57 -04:00
Deniz Taneli 4e4efa7772 `check_license` no longer needs to parse `setup.cfg` 2018-10-28 15:36:02 +00:00
Deniz Taneli 08bff86fe6 Make the new tests parametrized 2018-10-28 11:25:18 +00:00
Sreejith Menon a6a5040ae1 Deprecate the requires keyword
For runtime dependencies, install_requires should be used. For build
dependencies, a PEP 518-compliant `pyproject.toml` should be used.

Other dependencies can use extra requirements.
2018-10-27 18:13:15 -04:00
Kanika Sabharwal 9fad993797 added unittest for _download_git 2018-10-27 15:58:50 -04:00
Deniz Taneli 00b172d6b4 Unit tests for installing licenses from setup.cfg (#357)
Co-Authored-By: Poyzan Nur Taneli <31743851+ptaneli@users.noreply.github.com>
2018-10-27 16:32:24 +01:00
Deniz Taneli ca0760af20 Setuptools will install licenses if included in setup.cfg
Addressing #357

`python setup.py sdist` now includes the license file if `license_file`
is included in `setup.cfg` unless it is explicitly excluded in `MANIFEST.in`.

Co-Authored-By: Poyzan Nur Taneli <31743851+ptaneli@users.noreply.github.com>
2018-10-27 15:31:05 +01:00
Nikolaus Waxweiler 98056a680f Remove pytest marker and code for Python < 2.7 2018-10-27 07:34:45 -04:00
Nikolaus Waxweiler d3215c10b6 Mark Py 2/3-only tests as skip instead of xfail
Also reuse pre-defined py2_only and py3_only decorators where
appropriate.
2018-10-27 11:25:51 +01:00
Jason R. Coombs d6d9da82f6
Merge pull request #1520 from ssato/data_files_2
Add data_files support in setup.cfg
2018-10-25 11:02:58 -04:00
Satoru SATOH 74afc688fc Add data_files support in setup.cfg with test case
In the test case, dist.data_files needs to be sorted because the
current implementation loads the configuration files as a dictionary
with arbitrary order on Python < 3.6.
2018-10-24 12:10:20 -04:00
Thirumal Venkat 8c22c3b5ac Drop use of six.u (#1517) 2018-10-23 21:35:52 +02:00
Jason R. Coombs c2f72efd26 Deprecate Subversion download functionality. Ref #1502. Used UserWarning instead of DeprecationWarning so it's visible to users who might be relying on this functionality. 2018-09-23 12:44:23 -04:00
Jason R. Coombs 5b869d5c19 Suppress Unbuild egg warnings in TestPTHFileWriter 2018-09-23 12:04:11 -04:00
Jason R. Coombs a48e96b535 Update tests to remove use of deprecated get_script_header 2018-09-23 11:56:02 -04:00
Jason R. Coombs da3d5f3686 Replace redundant code with call of that code. 2018-09-23 11:52:50 -04:00
Jason R. Coombs 8c355d7c2f Use stacklevel=2 to better reveal usage of deprecated calls. 2018-09-23 11:48:44 -04:00
Jason R. Coombs f325331100 Use preferred interface, fixing DeprecationWarning on later Pythons. 2018-09-23 11:35:24 -04:00
Jason R. Coombs b3d098a3f7 Ignore warnings about deprecated features. 2018-09-23 10:41:42 -04:00
Jason R. Coombs e3ce4c508f Capture expected warning 2018-09-23 10:32:55 -04:00
Jason R. Coombs d4b5eb62d4 Bump to pyparsing 2.2.1 and re-run paver update_vendored. Fixes #1480. 2018-09-18 11:15:31 -04:00
Bernat Gabor cd0278debf
Add tests exposing the issues with sdist_directory not being --dist-dir 2018-09-16 22:10:48 +01:00
Bernat Gabor d39791489c
build_meta sdist directory delegate to --dist-dir 2018-09-16 22:10:48 +01:00
Jason R. Coombs 5c8ff5a178
Merge pull request #1402 from daa/pkg-resources-always-handle-namespace-package-path
Improved handling of  module __path__ attribute for namespace packages, fixes #1321
2018-09-16 11:48:44 -04:00
Jason R. Coombs d003138566
Merge pull request #1427 from stephenfin/touch-egg-info-directory
Touch 'egg-info' directory
2018-09-16 11:07:26 -04:00
Jason R. Coombs f4286295ce
Merge pull request #1477 from gaborbernat/no-sdist-wheel
build_meta.get_requires_for_build_sdist does not include wheel
2018-09-16 10:38:22 -04:00
Jon Dufresne 4f165ed9d3 Remove use of compatibility shim six.binary_type
The type bytes is available on all supported Pythons. Makes the code
more forward compatible with Python 3.
2018-09-14 15:03:46 -07:00
Jon Dufresne 9a2cb89a1c Add tests for setuptools.glob 2018-09-14 15:03:46 -07:00
Bernat Gabor 2fabfd3a66
build_meta.get_requires_for_build_sdist does not include wheel
the wheel package is not required to build a source distribution

Resolves #1474.
2018-09-13 10:07:55 +01:00
Alexander Duryagin ec1a8f6013 remove xfail for AppVeyor from namespace tests entirely 2018-08-21 19:48:22 +03:00
Jason R. Coombs 01fd232d95 Delint 2018-08-21 11:02:22 -04:00
Jason R. Coombs 9aa447ee4b Use unicode literals in test_easy_install. 2018-08-21 10:51:12 -04:00
Jason R. Coombs 5c84682f38 Delint 2018-08-21 09:11:05 -04:00
Jason R. Coombs 6498a7e354 Reindent to avoid hanging indent. 2018-08-21 09:00:41 -04:00
Jason R. Coombs 45d0268143 Adapt test to only run on Python 2, as it's redundant on Python 3. 2018-08-21 08:56:44 -04:00
Jason R. Coombs ea8eab864c Use unicode literals throughout. 2018-08-21 08:51:17 -04:00
Jason R. Coombs 3f3b1a6fe2
Merge pull request #1466 from pfmoore/pep517_fix
Fix for Unicode handling in PEP 518 backend
2018-08-21 08:46:30 -04:00
Alexander Duryagin 0553c91f1c remove xfail for namespace tests that actually pass in AppVeyor 2018-08-21 14:01:26 +03:00
Paul Moore 785feaf798 Add a test for a Unicode metadata directory 2018-08-21 09:51:03 +01:00
Benoit Pierre 337c008c33 setuptools: fix regression with `egg_info` command
Ensure version is tagged only once.
2018-08-21 02:01:22 +02:00
Paul Moore 83c7d77abd PEP 517 hook arguments are unicode, not str (and distutils objects to that) 2018-08-20 15:25:14 +01:00
Stephen Finucane 4787475691 egg_info: Touch 'egg-info' directory
'tox' determines whether a package should be rebuilt by comparing the
timestamp of the package's 'egg-info' directory and its 'setup.py' or
'setup.cfg' files [1][2]. Unfortunately this checks the 'egg-info'
directory itself, which is not updated, unlike the contents of that
directory. This means that 'tox' will always rebuild the package once
one of the two setup files has been updated.

While this is clearly a bug in 'tox' that should be fixed separately,
there is merit in using this as a heuristic so enable it.

[1] https://github.com/tox-dev/tox/blob/3.1.0/src/tox/venv.py#L253-L257
[2] https://github.com/tox-dev/tox/blob/3.1.0/src/tox/venv.py#L221-L244

Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-08-19 17:12:49 -04:00
Stephen Finucane cf50418d36 trivial: Fix file permissions
There's no reason these should be executable.

Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-08-19 17:12:49 -04:00
Alexander Duryagin 1fc7505607 change formatting to fix flake8 warning 2018-08-17 17:38:22 +03:00
Alexander Duryagin d2346c9180 xfail namespace packages tests on appveyor instead of skipping them 2018-08-17 17:36:20 +03:00
Daniele Esposti 961387fb41 Added test for scripts with unicode 2018-08-17 09:31:56 -04:00
Daniele Esposti 8d887526f3 Support scripts with unicode content
This also renames the _to_ascii function to better reflect its purpose.
2018-08-17 09:31:56 -04:00
Paul Ganssle 85593de627
Merge pull request #1451 from hugovk/upgrade-appdirs
Upgrade vendored appdirs from 1.4.0 to 1.4.3
2018-08-17 09:31:18 -04:00
Hugo 248ba51143 Upgrade vendored appdirs from 1.4.0 to 1.4.3 2018-08-17 09:23:31 -04:00
Paul Ganssle 336ff3aae7
Merge pull request #1450 from hugovk/upgrade-pyparsing
Upgrade vendored PyParsing from 2.1.10 to 2.2.0
2018-08-17 09:11:59 -04:00
Carsten Klein 0254a2fda8 Rename find_namepaces_ns to find_namespace_packages (#1423)
* fix #1419 PEP420: add find_namespace: directive

* fix #1419 PEP420: add find_namespace: directive to documentation

* fix #1419 PEP420: add tests

* fix #1419 PEP420: clean up code

* fix #1419 PEP420: fix typo in documentation

* fix #1419 PEP420: fix typo in documentation

* fix #1419 PEP420: clean up code

* fix #1419 PEP420: add changelog entry

* fixup! fix #1419 PEP420: add tests

* fix #1419 PEP420: cleanup code refactor markers

* #1420: Rename find_namespace_ns to find_namespace_packages

*  #1420: update changelog entry
2018-08-17 08:58:35 -04:00
Hugo ea8652e120 Upgrade vendored pyparsing from 2.1.10 to 2.2.0 2018-08-09 15:57:22 +03:00
Miro Hrončok 760e2e1df9 Remove spurious executable permissions 2018-07-27 14:53:45 +02:00
Paul Ganssle 5f510913b1
Merge pull request #1416 from pganssle/use_six
Switch over to using six.PY{2,3} when possible
2018-07-20 12:11:53 -04:00
Jason R. Coombs f90944775a Relax overfitted test. Fixes #1425. 2018-07-13 00:20:14 -04:00
Jason R. Coombs e9bdeda02a Extract name/version functionality from egg_info to be re-used by a dist-info command. Ref #1386. 2018-07-13 00:05:38 -04:00
Paul Ganssle 89155abb42
Merge pull request #1312 from coldrye-collaboration/gh-97
fix #97 PEP420: find_packages()
2018-07-11 09:16:49 -04:00
JGoutin 209e3ac20f Fix "Microsoft Visual C++ Build Tools" link 2018-07-10 15:37:36 -04:00
Paul Ganssle dc9fcbd5ef
Switch over to using six.PY{2,3} when possible 2018-07-10 11:52:56 -04:00
Dustin Ingram 7edce73432
Tests for deprecation warnings 2018-07-08 19:53:58 -05:00
Dustin Ingram a91c571942
Deprecate upload and register commands 2018-07-08 19:53:58 -05:00
Carsten Klein 2b7a2dd7bf Add find_packages_ns()
This fixes GH #97 by introducing an alternate version of find_packages
that works with PEP 420 namespace packages.
2018-07-04 10:04:01 -04:00
Carsten Klein d8f8de7f46 Add tests for find_packages_ns() 2018-07-04 10:03:37 -04:00
Alexander Duryagin 776096522a always process module.__path__ for namespace packages, fixes #1321 2018-06-27 21:32:11 +03:00
Jason R. Coombs 5c81648350
Merge pull request #1398 from wimglenn/wimglenn-patch-1
Avoid resource warning from dev scripts installed editable
2018-06-25 13:49:58 -04:00
wim glenn d8bd6dde93
Avoid resource warning from dev scripts installed editable
Avoid ` ResourceWarning: unclosed file <_io.TextIOWrapper name='whatever' mode='r' encoding='UTF-8'>` on dev scripts installed editable
2018-06-25 12:42:00 -05:00
Jason R. Coombs 95880b3ebb Add test and adjust match. Fixes #1366. 2018-06-06 08:04:33 -04:00
Jason R. Coombs 9f379bbf78 Remove stale comment, added in 8cc0d5c2 and made meaningless in 26eee297. 2018-06-03 10:06:10 -04:00
Jason R. Coombs 3174f82b94 Use raw strings for regexes 2018-06-03 10:05:20 -04:00
Jason R. Coombs cca86c7f1d Use Python 3 syntax for new-style clasess 2018-06-03 09:50:25 -04:00
Jason R. Coombs 7068f1d4c8 Split test into two and parameterize 2018-06-03 09:45:14 -04:00
Jason R. Coombs 68f2ffd0be Extract _convert_metadata. install_as_egg is almost comprehensible now. 2018-06-03 09:28:50 -04:00
Jason R. Coombs ad676fe418 Extract method for _move_data_entries 2018-06-03 09:19:40 -04:00
Jason R. Coombs 19d79d2f9f Extract method for fixing namespace packages 2018-06-03 09:16:44 -04:00
Jason R. Coombs f8d08c3929 Avoid hanging indents 2018-06-03 09:15:11 -04:00
Jason R. Coombs 169639bd25 Remove redundant 'list' 2018-06-03 09:12:06 -04:00
Jason R. Coombs ac3e41e61a Use the new breathing room to consolidate lines 2018-06-03 09:11:14 -04:00
Jason R. Coombs c2460c75c3 Extract method to save indentation 2018-06-03 09:09:38 -04:00
Jason R. Coombs 885f0b1746 Feed the hobgoblins (delint). 2018-06-03 08:54:07 -04:00
Hugo 88ae237911 Make it clear this compat module provides no public members 2018-05-24 14:32:31 -04:00
Hugo ca7aa27ceb Remove redundant Python 3.1 code 2018-05-24 14:32:31 -04:00
Hugo 7392f01ffc Drop support for EOL Python 3.3 2018-05-24 14:32:31 -04:00
Jason R. Coombs 239ff9bd9f
Merge pull request #1343 from ianw/long-descr-type
Allow setting long_description_content_type externally
2018-05-18 15:23:43 -04:00
Jeremy Bowman 50e3ba6e94
Merge pull request #1368 from jmbowman/jmbowman/no_network_in_tests
Don't require network in tests
2018-05-17 13:39:50 -04:00
Paul Ganssle 5832e76345
Merge pull request #1360 from Infinidat/issue1350
Use canonicalize_name to look for .dist-info in wheel files
2018-05-17 12:00:48 -04:00
Jeremy Bowman 41b39539fd
Merge pull request #1369 from jmbowman/jmbowman/pep425tags_tests
Add tests for PEP 425 support
2018-05-17 10:17:11 -04:00
Jeremy Bowman 736ed24e9d Add tests for PEP 425 support 2018-05-16 18:08:53 -04:00
Jason R. Coombs c608faf833 Tests in test_egg_info no longer invoke 'setup.py install', but instead focus on the behavior in egg_info as the namesake suggests. 2018-05-16 18:00:50 -04:00
Ian Wienand 07cd2e4e71 Allow setting long_description_content_type externally
Some tools, such as PBR, might want to set
long_description_content_type during the parent object's
Distribution.__init__() call (during distutils setup_keywords entry
points).  However, that field is currently unconditionally overwritten
after these calls, erasing the value.

We would rather not duplicate the existing method of copying into
dist.metadata as done with project_urls.

This preserves the fields within Distribution.metadata described by
self._DISTUTIULS_UNUPPORTED_METADATA, or otherwise takes it from
arguments.

A test case that simulates setting the long description and overriding
the arguments is added.
2018-05-17 07:22:25 +10:00
Jeremy Bowman af30e013a2 Don't require network in tests 2018-05-16 16:35:08 -04:00
Arnon Yaari 593b409fb6 Use canonicalize_name to look for .dist-info in wheel files
Fixes issue #1350
2018-05-16 12:03:25 +03:00
Jeremy Bowman 0c2e5c9db4 Fix attr: with package_dirs 2018-05-15 16:54:03 -04:00
Jeremy Bowman a960ee1c3f Support loading version from a file 2018-05-15 11:15:05 -04:00
Jon Dufresne 06736eec58 Update all pypi.python.org URLs to pypi.org
For details on the new PyPI, see the blog post:

https://pythoninsider.blogspot.ca/2018/04/new-pypi-launched-legacy-pypi-shutting.html
2018-04-26 07:00:01 -07:00
Thomas Khyn 542e5069e2
pep425tags: turn warning into a debug log entry
fixes #1314
2018-04-18 15:26:11 +12:00
Paul Ganssle ed3762fc7d
Switch test_wheel over to subset-based test
This is both compatible with the old version of wheel (last one
supported under Python 3.3) and is more in line with our commitment,
which is that the wheel install provides at least these files.
2018-04-07 13:38:37 -04:00
Paul Ganssle 41882016db
Update wheel tests to reflect latest version 2018-04-06 17:07:44 -04:00
Stephen Finucane e6b7f8d868 tests: Add regression test for #1081
This ensures we don't unknowingly change the behavior of this again.

Signed-off-by: Stephen Finucane <stephen@that.guru>
Fixes: #1307
2018-03-26 12:03:08 +01:00
Paul Ganssle a0723a66bf
Stop patching write_pkg_info 2018-03-18 11:43:00 -04:00
Jason R. Coombs eb6502d705 Use another variable name to avoid masking prior value. 2018-03-18 10:01:39 -04:00
Jason R. Coombs b1b837df68 Use filter to filter blank lines 2018-03-18 10:00:57 -04:00
Jason R. Coombs b38d71f293 Open metadata file with UTF-8 decoding. 2018-03-18 09:59:32 -04:00
Jason R. Coombs d92bc63ddd Delint 2018-03-18 09:55:59 -04:00
Jason R. Coombs ad2d7e483e Use unicode literals 2018-03-18 09:54:37 -04:00
Jason R. Coombs c14a674e89 When possible, avoid test-specific interfaces in production code. 2018-03-18 09:41:28 -04:00
Paul Ganssle f78c489384
Fix issue with unicode author/maintainer on PY2 2018-03-17 19:59:45 -04:00
Paul Ganssle 2005e53e88
Make dist test fail under unicode 2018-03-17 19:59:08 -04:00
Jason R. Coombs 929acc4e55 Setuptools now vendors its own direct dependencies (packaging, six, pyparsing). Ref #1296. 2018-03-17 14:10:32 -04:00
Jason R. Coombs d0f7a33dab Copy VendorImporter. Ref #1296. 2018-03-17 13:36:16 -04:00
Jason R. Coombs 6fba91c17b Rely on stdlib to decode entities. 2018-03-17 12:16:10 -04:00
Jason R. Coombs e141c08edc Use six for splituser 2018-03-17 11:38:32 -04:00
Jason R. Coombs cb9b879355 Merge branch 'master' into HEAD 2018-03-17 10:30:34 -04:00
Paul Ganssle d8170d79a1
Add support for maintainer in PKG-INFO
Per PEP 345, metadata Version 1.2 should support the Author,
Maintainer, Author-Email and Maintainer-Email fields.
2018-03-16 19:54:54 -04:00
wim glenn 1fffc0eff9
address review comments and squash the empty string extra earlier 2018-03-16 14:27:42 -05:00
wim glenn 696afcad2d
fix for regression - spurious "Provides-Extra:" generated in metadata 2018-03-16 01:17:06 -05:00
wim glenn 9e554095b4
provide a failing test case for regression introduced in b2ea3c4a - spurious "Provides-Extra:" generated in metadata 2018-03-16 01:14:19 -05:00
Dustin Ingram b2ea3c4a20
Updates for PEP 566 (Metadata 2.1) 2018-03-14 17:02:25 -05:00
Jason R. Coombs e4da2275b5 Skip tests in test_virtualenv if the prefix is broken on that virtualenv. Ref #1284. 2018-03-05 17:01:48 -05:00
Jason R. Coombs 9a66194a12 Prefer implied tuple. 2018-02-10 13:33:53 -05:00
Jason R. Coombs 211b194bee Revert "Prefer new_build_ext for Cython builds as recommended by Cython project. Fixes #1270." Reopens #1270. Fixes #1271.
This reverts commit 038baa1601.
2018-02-06 05:51:32 -05:00
Jason R. Coombs d916fa24c1 Feed the hobgoblins (delint). 2018-02-05 10:29:14 -05:00
Jason R. Coombs cfb0d71afd Feed the hobgoblins (delint). 2018-02-04 17:55:15 -05:00
Jason R. Coombs 038baa1601 Prefer new_build_ext for Cython builds as recommended by Cython project. Fixes #1270. 2018-02-04 16:38:33 -05:00
Jason R. Coombs ca71bc26f6 Import Cython.Compiler.Main as recommended by Cython project to improve Cython detection. Fixes #1229. 2018-02-04 16:36:23 -05:00
Jason R. Coombs b93956652e
Merge pull request #1263 from benoit-pierre/fix_python37_support
fix Python 3.7 support
2018-02-03 09:23:35 -05:00
Benoit Pierre 7bf15cb3c8 fix Python 3.7 support
- update scanning code to handle pyc header change
- handle change to `Exception.__repr__` output
2018-01-25 10:28:46 +01:00
Benoit Pierre 4d38fb9841 Fix dry-run handling 2018-01-25 08:49:03 +01:00
Jason R. Coombs 618312bec3 Refactor to short-circuit on dry-run 2018-01-20 08:41:57 -05:00
Jason R. Coombs 647ef56421
Merge branch 'master' into master 2018-01-05 08:07:21 -05:00
Jason R. Coombs 82c7b79892
Remove extraneous attribute copy, artifact of bad merge. 2018-01-04 20:46:17 -05:00
Jason R. Coombs c0edf9323c
Merge branch 'master' into master 2018-01-04 20:42:12 -05:00
Jason R. Coombs 23b940e9fb
Merge pull request #1207 from cryvate/fix-issue-1206
Add setup.cfg support for long_description_content_type
2018-01-04 20:33:25 -05:00
Zoran Simic 8fe36a5710 Removed warning when PYTHONDONTWRITEBYTECODE is enabled 2017-12-09 16:12:28 -08:00
Jeremy Stanley 7af7f8a68e Document project_urls setup parameter
Add an entry to the Setuptools usage documentation for the
project_urls dict, and include it in the "advanced" project example.

While at it, adjust the dogfooding use in Setuptools' own setup.py
to use HTTPS for the Documentation URL and drop redundant entries
for Bug Tracker and Source Code.

Also remove a no-op attribute reassignment from egg_info.py.
2017-12-05 17:56:10 +00:00
Benoit Pierre 35c0e9c2d6 fix `data_files` handling when installing from wheel 2017-11-30 19:46:16 +01:00
Benoit Pierre da1c78f354 fix namespace packages handling of wheels 2017-11-27 13:25:04 +01:00
Benoit Pierre e72afd6243 fix encoding handling of wheels metadata 2017-11-26 23:11:14 +01:00
Benoit Pierre 118edbb2b7 easy_install: add support for installing from wheels
Note: wheels are installed as eggs, so each install is self-contained
and multiple versions of the same package can be installed at the same
time.

Limitations:
- headers are not supported
- resulting egg metadata requirements have their markers stripped
2017-11-26 13:19:48 +01:00
Henk-Jaap Wagenaar 780a6f161e Rework how to handle long_description_content_type 2017-11-25 18:55:58 +00:00
Jason R. Coombs f012485e47 Disallow unordered sequences for specifying install_requires. Fixes #458. 2017-11-25 09:45:05 -05:00
Jason R. Coombs 45f6ce2afb Add test asserting that install_requires parameters cannot be unordered. Ref #458. 2017-11-25 09:37:29 -05:00
Jason R. Coombs c461d5134f Add another test demonstrating that if requirements are declared in a non-deterministic order, they may appear in the metadata in non-deterministic order. Ref #458. 2017-11-25 09:15:22 -05:00
Jason R. Coombs 5ecd7575c9 Add two tests demonstrating that requires.txt generation is deterministic. Ref #458. 2017-11-25 09:05:58 -05:00