Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-check-manifest for
openSUSE:Factory checked in at 2022-03-10 22:45:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-check-manifest (Old)
and /work/SRC/openSUSE:Factory/.python-check-manifest.new.2349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-check-manifest"
Thu Mar 10 22:45:32 2022 rev:11 rq:960722 version:0.47
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-check-manifest/python-check-manifest.changes
2020-11-29 12:24:13.449747050 +0100
+++
/work/SRC/openSUSE:Factory/.python-check-manifest.new.2349/python-check-manifest.changes
2022-03-11 11:31:51.201956669 +0100
@@ -1,0 +2,19 @@
+Thu Mar 10 10:48:13 UTC 2022 - Matej Cepl <[email protected]>
+
+- Add python-check-manifest-no-mock.patch
+ (gh#mgedmin/check-manifest#151) replace using mock with
+ unittest.mock.
+
+-------------------------------------------------------------------
+Wed Mar 9 10:06:10 UTC 2022 - [email protected]
+
+- version update to 0.47
+ 0.47 (2021-09-22)
+ -----------------
+ - Fix ``setuptools_scm`` workaround for packages with dashes in the name
+ (`#145 <https://github.com/mgedmin/check-manifest/issues/145>`_).
+ 0.46 (2021-01-04)
+ -----------------
+ - The `pre-commit <https://pre-commit.com>`__ hook now always uses Python 3.
+
+-------------------------------------------------------------------
Old:
----
check-manifest-0.45.tar.gz
New:
----
check-manifest-0.47.tar.gz
python-check-manifest-no-mock.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-check-manifest.spec ++++++
--- /var/tmp/diff_new_pack.Zrkycg/_old 2022-03-11 11:31:52.873958631 +0100
+++ /var/tmp/diff_new_pack.Zrkycg/_new 2022-03-11 11:31:52.881958641 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package python-check-manifest
+# spec file
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -27,13 +27,16 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-check-manifest%{psuffix}
-Version: 0.45
+Version: 0.47
Release: 0
Summary: Tool to check Python source package MANIFEST.in for
completeness
License: MIT
Group: Development/Languages/Python
URL: https://github.com/mgedmin/check-manifest
Source:
https://files.pythonhosted.org/packages/source/c/check-manifest/check-manifest-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM python-check-manifest-no-mock.patch
gh#mgedmin/check-manifest#151 [email protected]
+# Replace using mock with unittest.mock.
+Patch0: python-check-manifest-no-mock.patch
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -42,7 +45,7 @@
Requires: python-setuptools
Requires: python-toml
Requires(post): update-alternatives
-Requires(postun): update-alternatives
+Requires(postun):update-alternatives
Recommends: git-core > 2.11
Recommends: python-pip
Recommends: python-wheel
@@ -52,7 +55,6 @@
BuildArch: noarch
%if %{with test}
BuildRequires: %{python_module build}
-BuildRequires: %{python_module mock}
BuildRequires: %{python_module pep517}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
@@ -71,6 +73,8 @@
%prep
%setup -q -n check-manifest-%{version}
+%autopatch -p1
+
sed -i '1{\,^#!%{_bindir}/env python,d}' check_manifest.py
chmod -x check_manifest.py
@@ -89,7 +93,12 @@
export LANG=en_US.UTF-8
# test_build_sdist uses pip which likes to use internet to resolve versions
# test_python_from_path fails on Leap only
-%pytest -rs -k 'not (test_build_sdist or test_python_from_path)'
+skip='test_build_sdist or test_python_from_path'
+%if 0%{?python_version_nodots} <= 36
+# E TypeError: tuple indices must be integers or slices, not str
+skip="$skip or test_extra_ignore_args or test_ignore_bad_ideas_args"
+%endif
+%pytest -rs -k "not ($skip)"
%endif
%if !%{with test}
++++++ check-manifest-0.45.tar.gz -> check-manifest-0.47.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/.pre-commit-hooks.yaml
new/check-manifest-0.47/.pre-commit-hooks.yaml
--- old/check-manifest-0.45/.pre-commit-hooks.yaml 2019-06-13
14:22:50.000000000 +0200
+++ new/check-manifest-0.47/.pre-commit-hooks.yaml 2020-12-22
16:37:34.000000000 +0100
@@ -3,5 +3,6 @@
description: Check the completeness of MANIFEST.in for Python packages.
entry: check-manifest
language: python
+ language_version: python3
pass_filenames: false
always_run: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/.travis.yml
new/check-manifest-0.47/.travis.yml
--- old/check-manifest-0.45/.travis.yml 2020-10-29 20:16:50.000000000 +0100
+++ new/check-manifest-0.47/.travis.yml 1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-language: python
-cache: pip
-python:
- - 3.6
- - 3.7
- - 3.8
- - 3.9
- - pypy3
-env:
- - FORCE_TEST_VCS=bzr
- - FORCE_TEST_VCS=git
- - FORCE_TEST_VCS=hg
- - FORCE_TEST_VCS=svn
-install:
- - pip install -U pip
- - pip install coverage coveralls pytest flake8
- - pip install -e .[test]
-script:
- - SKIP_NO_TESTS=1 coverage run -m pytest
- - coverage report -m --fail-under=$(if [[ $FORCE_TEST_VCS == bzr ]]; then
printf 99; else printf 100; fi)
- - python check_manifest.py
- - flake8 *.py
-after_script:
- - coveralls
-notifications:
- email: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/CHANGES.rst
new/check-manifest-0.47/CHANGES.rst
--- old/check-manifest-0.45/CHANGES.rst 2020-10-30 23:12:25.000000000 +0100
+++ new/check-manifest-0.47/CHANGES.rst 2021-09-22 10:49:35.000000000 +0200
@@ -2,6 +2,19 @@
=========
+0.47 (2021-09-22)
+-----------------
+
+- Fix ``setuptools_scm`` workaround for packages with dashes in the name
+ (`#145 <https://github.com/mgedmin/check-manifest/issues/145>`_).
+
+
+0.46 (2021-01-04)
+-----------------
+
+- The `pre-commit <https://pre-commit.com>`__ hook now always uses Python 3.
+
+
0.45 (2020-10-31)
-----------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/MANIFEST.in
new/check-manifest-0.47/MANIFEST.in
--- old/check-manifest-0.45/MANIFEST.in 2019-06-13 14:22:50.000000000 +0200
+++ new/check-manifest-0.47/MANIFEST.in 2020-12-22 16:37:34.000000000 +0100
@@ -4,7 +4,6 @@
include tox.ini
include Makefile
include .gitignore
-include .travis.yml
include appveyor.yml
include .coveragerc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/Makefile
new/check-manifest-0.47/Makefile
--- old/check-manifest-0.45/Makefile 2020-10-29 20:16:49.000000000 +0100
+++ new/check-manifest-0.47/Makefile 2020-11-30 07:53:19.000000000 +0100
@@ -29,6 +29,19 @@
distcheck-self:
tox -e check-manifest
+.PHONY: releasechecklist
+releasechecklist: check-readme # also release.mk will add other checks
+
+.PHONY: check-readme
+check-readme:
+ @rev_line=' rev: "'"`$(PYTHON) setup.py --version`"'"' && \
+ grep -q "^$$rev_line$$" README.rst || { \
+ echo "README.rst doesn't specify $$rev_line"; \
+ echo "Please run make update-readme"; exit 1; }
+
+.PHONY: update-readme
+update-readme:
+ sed -i -e 's/rev: ".*"/rev: "$(shell $(PYTHON) setup.py --version)"/'
README.rst
FILE_WITH_VERSION = check_manifest.py
include release.mk
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/PKG-INFO
new/check-manifest-0.47/PKG-INFO
--- old/check-manifest-0.45/PKG-INFO 2020-10-30 23:15:11.123818400 +0100
+++ new/check-manifest-0.47/PKG-INFO 2021-09-22 11:08:44.181592200 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: check-manifest
-Version: 0.45
+Version: 0.47
Summary: Check MANIFEST.in in a Python source package for completeness
Home-page: https://github.com/mgedmin/check-manifest
Author: Marius Gedminas
@@ -143,13 +143,13 @@
repos:
- repo: https://github.com/mgedmin/check-manifest
- rev: "0.39"
+ rev: "0.47"
hooks:
- id: check-manifest
If you are running pre-commit without a network, you can utilize
``args: [--no-build-isolation]`` to prevent a ``pip install`` reaching
out to
- pypi. If you have additional ``build-system.requires`` outside of pip
/
+ PyPI. If you have additional ``build-system.requires`` outside of pip
/
setuptools / wheel you will want to list those in
``additional_dependencies``.
.. code-block:: yaml
@@ -163,8 +163,8 @@
additional_dependencies: [setuptools-scm]
- .. |buildstatus| image::
https://api.travis-ci.com/mgedmin/check-manifest.svg?branch=master
- .. _buildstatus: https://travis-ci.com/mgedmin/check-manifest
+ .. |buildstatus| image::
https://github.com/mgedmin/check-manifest/workflows/build/badge.svg?branch=master
+ .. _buildstatus: https://github.com/mgedmin/check-manifest/actions
.. |appveyor| image::
https://ci.appveyor.com/api/projects/status/github/mgedmin/check-manifest?branch=master&svg=true
.. _appveyor: https://ci.appveyor.com/project/mgedmin/check-manifest
@@ -177,6 +177,19 @@
=========
+ 0.47 (2021-09-22)
+ -----------------
+
+ - Fix ``setuptools_scm`` workaround for packages with dashes in the
name
+ (`#145 <https://github.com/mgedmin/check-manifest/issues/145>`_).
+
+
+ 0.46 (2021-01-04)
+ -----------------
+
+ - The `pre-commit <https://pre-commit.com>`__ hook now always uses
Python 3.
+
+
0.45 (2020-10-31)
-----------------
@@ -620,6 +633,7 @@
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/README.rst
new/check-manifest-0.47/README.rst
--- old/check-manifest-0.45/README.rst 2020-10-30 23:12:11.000000000 +0100
+++ new/check-manifest-0.47/README.rst 2021-09-22 10:49:50.000000000 +0200
@@ -135,13 +135,13 @@
repos:
- repo: https://github.com/mgedmin/check-manifest
- rev: "0.39"
+ rev: "0.47"
hooks:
- id: check-manifest
If you are running pre-commit without a network, you can utilize
``args: [--no-build-isolation]`` to prevent a ``pip install`` reaching out to
-pypi. If you have additional ``build-system.requires`` outside of pip /
+PyPI. If you have additional ``build-system.requires`` outside of pip /
setuptools / wheel you will want to list those in ``additional_dependencies``.
.. code-block:: yaml
@@ -155,8 +155,8 @@
additional_dependencies: [setuptools-scm]
-.. |buildstatus| image::
https://api.travis-ci.com/mgedmin/check-manifest.svg?branch=master
-.. _buildstatus: https://travis-ci.com/mgedmin/check-manifest
+.. |buildstatus| image::
https://github.com/mgedmin/check-manifest/workflows/build/badge.svg?branch=master
+.. _buildstatus: https://github.com/mgedmin/check-manifest/actions
.. |appveyor| image::
https://ci.appveyor.com/api/projects/status/github/mgedmin/check-manifest?branch=master&svg=true
.. _appveyor: https://ci.appveyor.com/project/mgedmin/check-manifest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/check_manifest.egg-info/PKG-INFO
new/check-manifest-0.47/check_manifest.egg-info/PKG-INFO
--- old/check-manifest-0.45/check_manifest.egg-info/PKG-INFO 2020-10-30
23:15:11.000000000 +0100
+++ new/check-manifest-0.47/check_manifest.egg-info/PKG-INFO 2021-09-22
11:08:44.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: check-manifest
-Version: 0.45
+Version: 0.47
Summary: Check MANIFEST.in in a Python source package for completeness
Home-page: https://github.com/mgedmin/check-manifest
Author: Marius Gedminas
@@ -143,13 +143,13 @@
repos:
- repo: https://github.com/mgedmin/check-manifest
- rev: "0.39"
+ rev: "0.47"
hooks:
- id: check-manifest
If you are running pre-commit without a network, you can utilize
``args: [--no-build-isolation]`` to prevent a ``pip install`` reaching
out to
- pypi. If you have additional ``build-system.requires`` outside of pip
/
+ PyPI. If you have additional ``build-system.requires`` outside of pip
/
setuptools / wheel you will want to list those in
``additional_dependencies``.
.. code-block:: yaml
@@ -163,8 +163,8 @@
additional_dependencies: [setuptools-scm]
- .. |buildstatus| image::
https://api.travis-ci.com/mgedmin/check-manifest.svg?branch=master
- .. _buildstatus: https://travis-ci.com/mgedmin/check-manifest
+ .. |buildstatus| image::
https://github.com/mgedmin/check-manifest/workflows/build/badge.svg?branch=master
+ .. _buildstatus: https://github.com/mgedmin/check-manifest/actions
.. |appveyor| image::
https://ci.appveyor.com/api/projects/status/github/mgedmin/check-manifest?branch=master&svg=true
.. _appveyor: https://ci.appveyor.com/project/mgedmin/check-manifest
@@ -177,6 +177,19 @@
=========
+ 0.47 (2021-09-22)
+ -----------------
+
+ - Fix ``setuptools_scm`` workaround for packages with dashes in the
name
+ (`#145 <https://github.com/mgedmin/check-manifest/issues/145>`_).
+
+
+ 0.46 (2021-01-04)
+ -----------------
+
+ - The `pre-commit <https://pre-commit.com>`__ hook now always uses
Python 3.
+
+
0.45 (2020-10-31)
-----------------
@@ -620,6 +633,7 @@
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/check-manifest-0.45/check_manifest.egg-info/SOURCES.txt
new/check-manifest-0.47/check_manifest.egg-info/SOURCES.txt
--- old/check-manifest-0.45/check_manifest.egg-info/SOURCES.txt 2020-10-30
23:15:11.000000000 +0100
+++ new/check-manifest-0.47/check_manifest.egg-info/SOURCES.txt 2021-09-22
11:08:44.000000000 +0200
@@ -1,7 +1,6 @@
.coveragerc
.gitignore
.pre-commit-hooks.yaml
-.travis.yml
CHANGES.rst
LICENSE.rst
MANIFEST.in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/check-manifest-0.45/check_manifest.egg-info/requires.txt
new/check-manifest-0.47/check_manifest.egg-info/requires.txt
--- old/check-manifest-0.45/check_manifest.egg-info/requires.txt
2020-10-30 23:15:11.000000000 +0100
+++ new/check-manifest-0.47/check_manifest.egg-info/requires.txt
2021-09-22 11:08:44.000000000 +0200
@@ -4,3 +4,4 @@
[test]
mock>=3.0.0
+pytest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/check_manifest.py
new/check-manifest-0.47/check_manifest.py
--- old/check-manifest-0.45/check_manifest.py 2020-10-30 23:12:25.000000000
+0100
+++ new/check-manifest-0.47/check_manifest.py 2021-09-22 10:49:35.000000000
+0200
@@ -30,18 +30,19 @@
import tempfile
import unicodedata
import zipfile
-from contextlib import closing, contextmanager
+from contextlib import contextmanager
from typing import List, Optional, Union
from xml.etree import ElementTree as ET
import toml
from setuptools.command.egg_info import translate_pattern
+
# import distutils after setuptools to avoid a warning
-from distutils.text_file import TextFile
+from distutils.text_file import TextFile # isort:skip
-__version__ = '0.45'
+__version__ = '0.47'
__author__ = 'Marius Gedminas <[email protected]>'
__licence__ = 'MIT'
__url__ = 'https://github.com/mgedmin/check-manifest'
@@ -155,7 +156,7 @@
stdout=subprocess.PIPE,
stderr=subprocess.PIPE, cwd=cwd)
except OSError as e:
- raise Failure("could not run %s: %s" % (command, e))
+ raise Failure(f"could not run {command}: {e}")
output, stderr = pipe.communicate()
status = pipe.wait()
if status != 0:
@@ -314,10 +315,10 @@
Supports .tar.gz and .zip.
"""
if archive_filename.endswith('.zip'):
- with closing(zipfile.ZipFile(archive_filename)) as zf:
+ with zipfile.ZipFile(archive_filename) as zf:
filelist = zf.namelist()
elif archive_filename.endswith(('.tar.gz', '.tar.bz2', '.tar')):
- with closing(tarfile.open(archive_filename)) as tf:
+ with tarfile.open(archive_filename) as tf:
# XXX: is unicodify() necessary now that Py2 is no longer
supported?
filelist = map(unicodify, tf.getnames())
else:
@@ -878,7 +879,7 @@
filename = os.path.splitext(os.path.basename(filename))[0]
if filename.endswith('.tar'):
filename = os.path.splitext(filename)[0]
- return filename.partition('-')[2]
+ return filename.split('-')[-1]
def should_use_pep_517():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/release.mk
new/check-manifest-0.47/release.mk
--- old/check-manifest-0.45/release.mk 2020-10-29 20:16:49.000000000 +0100
+++ new/check-manifest-0.47/release.mk 2021-04-22 21:51:21.000000000 +0200
@@ -1,4 +1,4 @@
-# release.mk version 2.0 (2020-10-11)
+# release.mk version 2.1 (2021-04-19)
#
# Helpful Makefile rules for releasing Python packages.
# https://github.com/mgedmin/python-project-skel
@@ -142,18 +142,24 @@
do-release:
$(release_recipe)
-ifndef release_recipe
-define release_recipe =
+define default_release_recipe_publish_and_tag =
# I'm chicken so I won't actually do these things yet
@echo "Please run"
@echo
@echo " $(PYPI_PUBLISH)"
@echo " $(VCS_TAG)"
@echo
+endef
+define default_release_recipe_increment_and_push =
@echo "Please increment the version number in $(FILE_WITH_VERSION)"
@echo "and add a new empty entry at the top of the changelog in
$(FILE_WITH_CHANGELOG), then"
@echo
@echo ' $(VCS_COMMIT_AND_PUSH)'
@echo
endef
+ifndef release_recipe
+define release_recipe =
+$(default_release_recipe_publish_and_tag)
+$(default_release_recipe_increment_and_push)
+endef
endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/setup.cfg
new/check-manifest-0.47/setup.cfg
--- old/check-manifest-0.45/setup.cfg 2020-10-30 23:15:11.123818400 +0100
+++ new/check-manifest-0.47/setup.cfg 2021-09-22 11:08:44.181592200 +0200
@@ -1,10 +1,3 @@
-[bdist_wheel]
-universal = 1
-
-[nosetests]
-with-doctest = 1
-exe = 1
-
[tool:pytest]
norecursedirs = dist build tmp .* *.egg-info
python_files = tests.py check_manifest.py
@@ -16,6 +9,8 @@
[flake8]
ignore = E241,E501,E261,E126,E127,E128,E302,W503
+[mypy]
+
[mypy-setuptools.command.egg_info]
ignore_missing_imports = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/setup.py
new/check-manifest-0.47/setup.py
--- old/check-manifest-0.45/setup.py 2020-10-30 23:12:11.000000000 +0100
+++ new/check-manifest-0.47/setup.py 2021-06-13 15:28:04.000000000 +0200
@@ -44,6 +44,7 @@
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3 :: Only',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
@@ -64,6 +65,7 @@
extras_require={
'test': [
'mock >= 3.0.0',
+ 'pytest',
],
},
entry_points={
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/tests.py
new/check-manifest-0.47/tests.py
--- old/check-manifest-0.45/tests.py 2020-10-30 23:12:11.000000000 +0100
+++ new/check-manifest-0.47/tests.py 2021-09-22 10:47:19.000000000 +0200
@@ -1,7 +1,4 @@
-from __future__ import print_function
-
import codecs
-import doctest
import locale
import os
import posixpath
@@ -36,7 +33,7 @@
HAS_OEM_CODEC = True
-class MockUI(object):
+class MockUI:
def __init__(self, verbosity=1):
self.verbosity = verbosity
@@ -91,14 +88,14 @@
self.assertEqual(run(["true"]), "")
def test_run_failure(self):
- from check_manifest import run, CommandFailed
+ from check_manifest import CommandFailed, run
with self.assertRaises(CommandFailed) as cm:
run(["false"])
self.assertEqual(str(cm.exception),
"['false'] failed (status 1):\n")
def test_run_no_such_program(self):
- from check_manifest import run, Failure
+ from check_manifest import Failure, run
with self.assertRaises(Failure) as cm:
run(["there-is-really-no-such-program"])
# Linux says "[Errno 2] No such file or directory"
@@ -163,7 +160,7 @@
with mock.patch('os.mkdir',
lambda d: actions.append('mkdir %s' % d)):
with mock.patch('shutil.copy2',
- lambda s, d: actions.append('cp %s %s' %
(s, d))):
+ lambda s, d: actions.append(f'cp {s}
{d}')):
copy_files(['a', 'b', n('c/d/e')], n('/dest/dir'))
self.assertEqual(
actions,
@@ -181,7 +178,7 @@
os.path.normpath('/some/dir/a'))
def test_get_one_file_in_empty_directory(self):
- from check_manifest import get_one_file_in, Failure
+ from check_manifest import Failure, get_one_file_in
with mock.patch('os.listdir', lambda dir: []):
with self.assertRaises(Failure) as cm:
get_one_file_in('/some/dir')
@@ -189,7 +186,7 @@
"No files found in /some/dir")
def test_get_one_file_in_too_many(self):
- from check_manifest import get_one_file_in, Failure
+ from check_manifest import Failure, get_one_file_in
with mock.patch('os.listdir', lambda dir: ['b', 'a']):
with self.assertRaises(Failure) as cm:
get_one_file_in('/some/dir')
@@ -205,7 +202,7 @@
nonascii)
def test_get_archive_file_list_unrecognized_archive(self):
- from check_manifest import get_archive_file_list, Failure
+ from check_manifest import Failure, get_archive_file_list
with self.assertRaises(Failure) as cm:
get_archive_file_list('/path/to/archive.rar')
self.assertEqual(str(cm.exception),
@@ -253,7 +250,7 @@
format_missing(set(), set(), "1st", "2nd"),
"")
self.assertEqual(
- format_missing(set(["c"]), set(["a"]), "1st", "2nd"),
+ format_missing({"c"}, {"a"}, "1st", "2nd"),
"missing from 1st:\n"
" c\n"
"missing from 2nd:\n"
@@ -264,11 +261,11 @@
self.assertEqual(strip_toplevel_name([]), [])
def test_strip_toplevel_name_no_common_prefix(self):
- from check_manifest import strip_toplevel_name, Failure
+ from check_manifest import Failure, strip_toplevel_name
self.assertRaises(Failure, strip_toplevel_name, ["a/b", "c/d"])
def test_detect_vcs_no_vcs(self):
- from check_manifest import detect_vcs, Failure
+ from check_manifest import Failure, detect_vcs
ui = MockUI()
with mock.patch('check_manifest.VCS.detect', staticmethod(lambda *a:
False)):
with mock.patch('check_manifest.Git.detect', staticmethod(lambda
*a: False)):
@@ -304,8 +301,11 @@
patterns))
def test_strip_sdist_extras(self):
- from check_manifest import strip_sdist_extras, IgnoreList
- from check_manifest import canonical_file_list
+ from check_manifest import (
+ IgnoreList,
+ canonical_file_list,
+ strip_sdist_extras,
+ )
filelist = canonical_file_list([
'.github',
'.github/ISSUE_TEMPLATE',
@@ -340,9 +340,12 @@
self.assertEqual(strip_sdist_extras(ignore, filelist), expected)
def test_strip_sdist_extras_with_manifest(self):
- from check_manifest import strip_sdist_extras, IgnoreList
- from check_manifest import canonical_file_list
- from check_manifest import _get_ignore_from_manifest_lines
+ from check_manifest import (
+ IgnoreList,
+ _get_ignore_from_manifest_lines,
+ canonical_file_list,
+ strip_sdist_extras,
+ )
manifest_in = textwrap.dedent("""
graft src
exclude *.cfg
@@ -461,10 +464,10 @@
from check_manifest import extract_version_from_filename as e
self.assertEqual(e('dist/foo_bar-1.2.3.dev4+g12345.zip'),
'1.2.3.dev4+g12345')
self.assertEqual(e('dist/foo_bar-1.2.3.dev4+g12345.tar.gz'),
'1.2.3.dev4+g12345')
+ self.assertEqual(e('dist/foo-bar-1.2.3.dev4+g12345.tar.gz'),
'1.2.3.dev4+g12345')
def test_get_ignore_from_manifest_lines(self):
- from check_manifest import _get_ignore_from_manifest_lines
- from check_manifest import IgnoreList
+ from check_manifest import IgnoreList, _get_ignore_from_manifest_lines
parse = partial(_get_ignore_from_manifest_lines, ui=self.ui)
self.assertEqual(parse([]),
IgnoreList())
@@ -519,7 +522,7 @@
)
def test_get_ignore_from_manifest_lines_warns(self):
- from check_manifest import _get_ignore_from_manifest_lines, IgnoreList
+ from check_manifest import IgnoreList, _get_ignore_from_manifest_lines
parse = partial(_get_ignore_from_manifest_lines, ui=self.ui)
text = textwrap.dedent("""
graft a/
@@ -532,7 +535,7 @@
])
def test_get_ignore_from_manifest(self):
- from check_manifest import _get_ignore_from_manifest, IgnoreList
+ from check_manifest import IgnoreList, _get_ignore_from_manifest
filename = os.path.join(self.make_temp_dir(), 'MANIFEST.in')
self.create_file(filename, textwrap.dedent('''
exclude \\
@@ -548,7 +551,7 @@
self.assertEqual(ui.warnings, [])
def test_get_ignore_from_manifest_warnings(self):
- from check_manifest import _get_ignore_from_manifest, IgnoreList
+ from check_manifest import IgnoreList, _get_ignore_from_manifest
filename = os.path.join(self.make_temp_dir(), 'MANIFEST.in')
self.create_file(filename, textwrap.dedent('''
# this is bad: a file should not end with a backslash
@@ -562,13 +565,13 @@
])
def test_should_use_pep517_no_pyproject_toml(self):
- from check_manifest import should_use_pep_517, cd
+ from check_manifest import cd, should_use_pep_517
src_dir = self.make_temp_dir()
with cd(src_dir):
self.assertFalse(should_use_pep_517())
def test_should_use_pep517_no_build_system(self):
- from check_manifest import should_use_pep_517, cd
+ from check_manifest import cd, should_use_pep_517
src_dir = self.make_temp_dir()
filename = os.path.join(src_dir, 'pyproject.toml')
self.create_file(filename, textwrap.dedent('''
@@ -578,7 +581,7 @@
self.assertFalse(should_use_pep_517())
def test_should_use_pep517_no_build_backend(self):
- from check_manifest import should_use_pep_517, cd
+ from check_manifest import cd, should_use_pep_517
src_dir = self.make_temp_dir()
filename = os.path.join(src_dir, 'pyproject.toml')
self.create_file(filename, textwrap.dedent('''
@@ -592,7 +595,7 @@
self.assertFalse(should_use_pep_517())
def test_should_use_pep517_yes_please(self):
- from check_manifest import should_use_pep_517, cd
+ from check_manifest import cd, should_use_pep_517
src_dir = self.make_temp_dir()
filename = os.path.join(src_dir, 'pyproject.toml')
self.create_file(filename, textwrap.dedent('''
@@ -780,7 +783,7 @@
self._sys_exit.assert_called_with(1)
def test_exit_code_2_on_failure(self):
- from check_manifest import main, Failure
+ from check_manifest import Failure, main
self._check_manifest.side_effect = Failure('msg')
main()
self.assertEqual(self.ui.errors, ['msg'])
@@ -893,7 +896,7 @@
@mock.patch('check_manifest.check_manifest')
def test_zest_releaser_check_failure_user_aborts(self, check_manifest,
sys_exit):
- from check_manifest import zest_releaser_check, Failure
+ from check_manifest import Failure, zest_releaser_check
self.ask.side_effect = [True, False]
check_manifest.side_effect = Failure('msg')
zest_releaser_check(dict(workingdir='.'))
@@ -905,7 +908,7 @@
@mock.patch('check_manifest.check_manifest')
def test_zest_releaser_check_failure_user_plods_on(self, check_manifest,
sys_exit):
- from check_manifest import zest_releaser_check, Failure
+ from check_manifest import Failure, zest_releaser_check
self.ask.side_effect = [True, True]
check_manifest.side_effect = Failure('msg')
zest_releaser_check(dict(workingdir='.'))
@@ -913,7 +916,7 @@
sys_exit.assert_not_called()
-class VCSHelper(object):
+class VCSHelper:
# override in subclasses
command = None # type: Optional[str]
@@ -947,7 +950,7 @@
raise subprocess.CalledProcessError(rc, command[0], output=stdout)
-class VCSMixin(object):
+class VCSMixin:
def setUp(self):
if not self.vcs.is_installed() and CAN_SKIP_TESTS:
@@ -1074,7 +1077,7 @@
os.chdir(self.tmpdir)
def test_detect_git_submodule(self):
- from check_manifest import detect_vcs, Failure
+ from check_manifest import Failure, detect_vcs
with self.assertRaises(Failure) as cm:
detect_vcs(self.ui)
self.assertEqual(str(cm.exception),
@@ -1593,7 +1596,7 @@
self._vcs._add_to_vcs([filename])
def test_not_python_project(self):
- from check_manifest import check_manifest, Failure
+ from check_manifest import Failure, check_manifest
with self.assertRaises(Failure) as cm:
check_manifest()
self.assertEqual(
@@ -1601,7 +1604,7 @@
"This is not a Python project (no setup.py/pyproject.toml).")
def test_forgot_to_git_add_anything(self):
- from check_manifest import check_manifest, Failure
+ from check_manifest import Failure, check_manifest
self._create_repo_with_code(add_to_vcs=False)
with self.assertRaises(Failure) as cm:
check_manifest()
@@ -1629,6 +1632,7 @@
def test_python_from_path(self):
# https://github.com/mgedmin/check-manifest/issues/57
from check_manifest import check_manifest
+
# We need a Python interpeter to be in PATH.
python = 'python'
if hasattr(shutil, 'which'):
@@ -1640,7 +1644,7 @@
sys.stderr.getvalue())
def test_extra_ignore(self):
- from check_manifest import check_manifest, IgnoreList
+ from check_manifest import IgnoreList, check_manifest
self._create_repo_with_code()
self._add_to_vcs('unrelated.txt')
ignore = IgnoreList().global_exclude('*.txt')
@@ -1743,7 +1747,7 @@
sys.stderr.getvalue())
def test_ignore_bad_ideas(self):
- from check_manifest import check_manifest, IgnoreList
+ from check_manifest import IgnoreList, check_manifest
self._create_repo_with_code()
with open('setup.cfg', 'w') as f:
f.write('[check-manifest]\n'
@@ -1781,10 +1785,3 @@
"some files listed as being under source control are
missing:\n"
" missing.py",
sys.stderr.getvalue())
-
-
-def test_suite():
- return unittest.TestSuite([
- unittest.defaultTestLoader.loadTestsFromName(__name__),
- doctest.DocTestSuite('check_manifest'),
- ])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/check-manifest-0.45/tox.ini
new/check-manifest-0.47/tox.ini
--- old/check-manifest-0.45/tox.ini 2020-10-29 20:16:49.000000000 +0100
+++ new/check-manifest-0.47/tox.ini 2021-06-13 15:28:02.000000000 +0200
@@ -5,31 +5,28 @@
[testenv]
passenv = LANG LC_CTYPE LC_ALL MSYSTEM
extras = test
-deps =
- nose
commands =
- nosetests {posargs}
+ pytest {posargs}
[testenv:coverage]
deps =
- {[testenv]deps}
coverage
commands =
- coverage run -m nose
+ coverage run -m pytest
coverage report -m --fail-under=100
-[testenv:py]
-commands =
- python --version
- nosetests {posargs}
-
-
[testenv:check-manifest]
basepython = python3
-deps =
-extras =
+skip_install = true
+deps = check-manifest
commands = check-manifest {posargs}
+[testenv:check-python-versions]
+basepython = python3
+skip_install = true
+deps = check-python-versions
+commands = check-python-versions {posargs}
+
[testenv:flake8]
basepython = python3
skip_install = true
@@ -39,5 +36,13 @@
[testenv:mypy]
basepython = python3
skip_install = true
-deps = mypy
+deps =
+ mypy
+ types-toml
commands = mypy {posargs:check_manifest.py}
+
+[testenv:isort]
+basepython = python3
+skip_install = true
+deps = isort
+commands = isort {posargs: -c check_manifest.py setup.py tests.py}
++++++ python-check-manifest-no-mock.patch ++++++
---
setup.py | 1 -
tests.py | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
--- a/setup.py
+++ b/setup.py
@@ -64,7 +64,6 @@ setup(
],
extras_require={
'test': [
- 'mock >= 3.0.0',
'pytest',
],
},
--- a/tests.py
+++ b/tests.py
@@ -16,7 +16,7 @@ from io import BytesIO, StringIO
from typing import Optional
from xml.etree import ElementTree as ET
-import mock
+import unittest.mock as mock
from check_manifest import rmtree