Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-process-tests for
openSUSE:Factory checked in at 2023-01-07 17:15:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-process-tests (Old)
and /work/SRC/openSUSE:Factory/.python-process-tests.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-process-tests"
Sat Jan 7 17:15:58 2023 rev:7 rq:1056272 version:2.1.2
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-process-tests/python-process-tests.changes
2019-11-04 17:10:58.644554128 +0100
+++
/work/SRC/openSUSE:Factory/.python-process-tests.new.1563/python-process-tests.changes
2023-01-07 17:16:14.068910330 +0100
@@ -1,0 +2,13 @@
+Thu Jan 5 20:35:26 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 2.1.2:
+ * Fixed another regression caused by the ``universal_newlines`` for
+ Windows.
+ * Fixed regression caused by the ``universal_newlines`` (now the internals
+ don't decode strings).
+ * Applied the cookiecutter-pylibrary templates.
+ * ``TestProcess`` will use ``universal_newlines`` by default for the
+ contained ``subprocess.Popen`` to make sure line buffering is actually
+ used. This also fixes warnings on Python 3.
+
+-------------------------------------------------------------------
Old:
----
process-tests-2.0.2.tar.gz
New:
----
process-tests-2.1.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-process-tests.spec ++++++
--- /var/tmp/diff_new_pack.Lkrf4m/_old 2023-01-07 17:16:14.652913814 +0100
+++ /var/tmp/diff_new_pack.Lkrf4m/_new 2023-01-07 17:16:14.656913838 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-process-tests
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2015 LISA GmbH, Bingen, Germany.
#
# All modifications and additions to the file contributed by third parties
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-process-tests
-Version: 2.0.2
+Version: 2.1.2
Release: 0
Summary: Tools for testing processes
License: BSD-2-Clause
++++++ process-tests-2.0.2.tar.gz -> process-tests-2.1.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/.bumpversion.cfg
new/process-tests-2.1.2/.bumpversion.cfg
--- old/process-tests-2.0.2/.bumpversion.cfg 1970-01-01 01:00:00.000000000
+0100
+++ new/process-tests-2.1.2/.bumpversion.cfg 2021-05-02 09:25:04.000000000
+0200
@@ -0,0 +1,17 @@
+[bumpversion]
+current_version = 2.1.2
+commit = True
+tag = True
+
+[bumpversion:file:setup.py]
+search = version='{current_version}'
+replace = version='{new_version}'
+
+[bumpversion:file:README.rst]
+search = v{current_version}.
+replace = v{new_version}.
+
+[bumpversion:file:src/process_tests.py]
+search = __version__ = '{current_version}'
+replace = __version__ = '{new_version}'
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/.cookiecutterrc
new/process-tests-2.1.2/.cookiecutterrc
--- old/process-tests-2.0.2/.cookiecutterrc 1970-01-01 01:00:00.000000000
+0100
+++ new/process-tests-2.1.2/.cookiecutterrc 2020-07-23 17:01:59.000000000
+0200
@@ -0,0 +1,70 @@
+# This file exists so you can easily regenerate your project.
+#
+# `cookiepatcher` is a convenient shim around `cookiecutter`
+# for regenerating projects (it will generate a .cookiecutterrc
+# automatically for any template). To use it:
+#
+# pip install cookiepatcher
+# cookiepatcher gh:ionelmc/cookiecutter-pylibrary project-path
+#
+# See:
+# https://pypi.org/project/cookiepatcher
+#
+# Alternatively, you can run:
+#
+# cookiecutter --overwrite-if-exists
--config-file=project-path/.cookiecutterrc gh:ionelmc/cookiecutter-pylibrary
+
+default_context:
+
+ _extensions: ['jinja2_time.TimeExtension']
+ _template: 'cookiecutter-pylibrary'
+ allow_tests_inside_package: 'no'
+ appveyor: 'no'
+ c_extension_function: '-'
+ c_extension_module: '-'
+ c_extension_optional: 'no'
+ c_extension_support: 'no'
+ c_extension_test_pypi: 'no'
+ c_extension_test_pypi_username: '-'
+ codacy: 'no'
+ codacy_projectid: '[Get ID from
https://app.codacy.com/app/ionelmc/python-process-tests/settings]'
+ codeclimate: 'no'
+ codecov: 'no'
+ command_line_interface: 'no'
+ command_line_interface_bin_name: '-'
+ coveralls: 'no'
+ coveralls_token: '[Required for Appveyor, take it from
https://coveralls.io/github/ionelmc/python-process-tests]'
+ distribution_name: 'process-tests'
+ email: '[email protected]'
+ full_name: 'Ionel Cristian MÄrieÈ'
+ landscape: 'no'
+ license: 'BSD 2-Clause License'
+ linter: 'flake8'
+ package_name: 'process_tests'
+ pre_commit: 'yes'
+ project_name: 'Process Tests'
+ project_short_description: 'Tools for testing processes.'
+ pypi_badge: 'yes'
+ pypi_disable_upload: 'no'
+ release_date: '2019-02-12'
+ repo_hosting: 'github.com'
+ repo_hosting_domain: 'github.com'
+ repo_name: 'python-process-tests'
+ repo_username: 'ionelmc'
+ requiresio: 'yes'
+ scrutinizer: 'no'
+ setup_py_uses_setuptools_scm: 'no'
+ setup_py_uses_test_runner: 'no'
+ sphinx_docs: 'no'
+ sphinx_docs_hosting: 'https://python-process-tests.readthedocs.io/'
+ sphinx_doctest: 'no'
+ sphinx_theme: 'sphinx-py3doc-enhanced-theme'
+ test_matrix_configurator: 'no'
+ test_matrix_separate_coverage: 'no'
+ test_runner: 'pytest'
+ travis: 'no'
+ travis_osx: 'no'
+ version: '2.0.2'
+ website: 'https://blog.ionelmc.ro'
+ year_from: '2013'
+ year_to: '2020'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/.coveragerc
new/process-tests-2.1.2/.coveragerc
--- old/process-tests-2.0.2/.coveragerc 1970-01-01 01:00:00.000000000 +0100
+++ new/process-tests-2.1.2/.coveragerc 2020-07-23 17:01:59.000000000 +0200
@@ -0,0 +1,16 @@
+[paths]
+source =
+ src
+ */site-packages
+
+[run]
+branch = true
+source =
+ process_tests
+ tests
+parallel = true
+
+[report]
+show_missing = true
+precision = 2
+omit = *migrations*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/.editorconfig
new/process-tests-2.1.2/.editorconfig
--- old/process-tests-2.0.2/.editorconfig 1970-01-01 01:00:00.000000000
+0100
+++ new/process-tests-2.1.2/.editorconfig 2020-07-23 17:01:58.000000000
+0200
@@ -0,0 +1,16 @@
+# see https://editorconfig.org/
+root = true
+
+[*]
+end_of_line = lf
+trim_trailing_whitespace = true
+insert_final_newline = true
+indent_style = space
+indent_size = 4
+charset = utf-8
+
+[*.{bat,cmd,ps1}]
+end_of_line = crlf
+
+[*.{yml,yaml}]
+indent_size = 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/.gitignore
new/process-tests-2.1.2/.gitignore
--- old/process-tests-2.0.2/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/process-tests-2.1.2/.gitignore 2020-07-23 17:01:59.000000000 +0200
@@ -0,0 +1,71 @@
+*.py[cod]
+__pycache__
+
+# C extensions
+*.so
+
+# Packages
+*.egg
+*.egg-info
+dist
+build
+eggs
+.eggs
+parts
+bin
+var
+sdist
+wheelhouse
+develop-eggs
+.installed.cfg
+lib
+lib64
+venv*/
+pyvenv*/
+pip-wheel-metadata/
+
+# Installer logs
+pip-log.txt
+
+# Unit test / coverage reports
+.coverage
+.tox
+.coverage.*
+.pytest_cache/
+nosetests.xml
+coverage.xml
+htmlcov
+
+# Translations
+*.mo
+
+# Mr Developer
+.mr.developer.cfg
+.project
+.pydevproject
+.idea
+*.iml
+*.komodoproject
+
+# Complexity
+output/*.html
+output/*/index.html
+
+# Sphinx
+docs/_build
+
+.DS_Store
+*~
+.*.sw[po]
+.build
+.ve
+.env
+.cache
+.pytest
+.benchmarks
+.bootstrap
+.appveyor.token
+*.bak
+
+# Mypy Cache
+.mypy_cache/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/.pre-commit-config.yaml
new/process-tests-2.1.2/.pre-commit-config.yaml
--- old/process-tests-2.0.2/.pre-commit-config.yaml 1970-01-01
01:00:00.000000000 +0100
+++ new/process-tests-2.1.2/.pre-commit-config.yaml 2020-07-23
17:01:58.000000000 +0200
@@ -0,0 +1,20 @@
+# To install the git pre-commit hook run:
+# pre-commit install
+# To update the pre-commit hooks run:
+# pre-commit install-hooks
+exclude: '^(.tox|ci/templates|.bumpversion.cfg)(/|$)'
+repos:
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: master
+ hooks:
+ - id: trailing-whitespace
+ - id: end-of-file-fixer
+ - id: debug-statements
+ - repo: https://github.com/timothycrosley/isort
+ rev: master
+ hooks:
+ - id: isort
+ - repo: https://gitlab.com/pycqa/flake8
+ rev: master
+ hooks:
+ - id: flake8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/AUTHORS.rst
new/process-tests-2.1.2/AUTHORS.rst
--- old/process-tests-2.0.2/AUTHORS.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/process-tests-2.1.2/AUTHORS.rst 2020-07-23 17:01:59.000000000 +0200
@@ -0,0 +1,5 @@
+
+Authors
+=======
+
+* Ionel Cristian MÄrieÈ - https://blog.ionelmc.ro
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/CHANGELOG.rst
new/process-tests-2.1.2/CHANGELOG.rst
--- old/process-tests-2.0.2/CHANGELOG.rst 1970-01-01 01:00:00.000000000
+0100
+++ new/process-tests-2.1.2/CHANGELOG.rst 2021-05-02 09:24:40.000000000
+0200
@@ -0,0 +1,25 @@
+
+Changelog
+=========
+
+2.1.2 (2020-07-23)
+------------------
+
+* Fixed another regression caused by the ``universal_newlines`` for Windows.
+
+2.1.1 (2020-07-23)
+------------------
+
+* Fixed regression caused by the ``universal_newlines`` (now the internals
don't decode strings).
+
+2.1.0 (2020-07-23)
+------------------
+
+* Applied the cookiecutter-pylibrary templates.
+* ``TestProcess`` will use ``universal_newlines`` by default for the contained
``subprocess.Popen`` to make sure line buffering is actually
+ used. This also fixes warnings on Python 3.
+
+2.x (???)
+---------
+
+* Lots of wild stuff.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/CONTRIBUTING.rst
new/process-tests-2.1.2/CONTRIBUTING.rst
--- old/process-tests-2.0.2/CONTRIBUTING.rst 1970-01-01 01:00:00.000000000
+0100
+++ new/process-tests-2.1.2/CONTRIBUTING.rst 2020-07-23 17:01:59.000000000
+0200
@@ -0,0 +1,87 @@
+============
+Contributing
+============
+
+Contributions are welcome, and they are greatly appreciated! Every
+little bit helps, and credit will always be given.
+
+Bug reports
+===========
+
+When `reporting a bug
<https://github.com/ionelmc/python-process-tests/issues>`_ please include:
+
+ * Your operating system name and version.
+ * Any details about your local setup that might be helpful in
troubleshooting.
+ * Detailed steps to reproduce the bug.
+
+Documentation improvements
+==========================
+
+Process Tests could always use more documentation, whether as part of the
+official Process Tests docs, in docstrings, or even on the web in blog posts,
+articles, and such.
+
+Feature requests and feedback
+=============================
+
+The best way to send feedback is to file an issue at
https://github.com/ionelmc/python-process-tests/issues.
+
+If you are proposing a feature:
+
+* Explain in detail how it would work.
+* Keep the scope as narrow as possible, to make it easier to implement.
+* Remember that this is a volunteer-driven project, and that code
contributions are welcome :)
+
+Development
+===========
+
+To set up `python-process-tests` for local development:
+
+1. Fork `python-process-tests
<https://github.com/ionelmc/python-process-tests>`_
+ (look for the "Fork" button).
+2. Clone your fork locally::
+
+ git clone [email protected]:YOURGITHUBNAME/python-process-tests.git
+
+3. Create a branch for local development::
+
+ git checkout -b name-of-your-bugfix-or-feature
+
+ Now you can make your changes locally.
+
+4. When you're done making changes run all the checks and docs builder with
`tox <https://tox.readthedocs.io/en/latest/install.html>`_ one command::
+
+ tox
+
+5. Commit your changes and push your branch to GitHub::
+
+ git add .
+ git commit -m "Your detailed description of your changes."
+ git push origin name-of-your-bugfix-or-feature
+
+6. Submit a pull request through the GitHub website.
+
+Pull Request Guidelines
+-----------------------
+
+If you need some code review or feedback while you're developing the code just
make the pull request.
+
+For merging, you should:
+
+1. Include passing tests (run ``tox``).
+2. Update documentation when there's new API, functionality etc.
+3. Add a note to ``CHANGELOG.rst`` about the changes.
+4. Add yourself to ``AUTHORS.rst``.
+
+
+
+Tips
+----
+
+To run a subset of tests::
+
+ tox -e envname -- pytest -k test_myfeature
+
+To run all the test environments in *parallel* (you need to ``pip install
detox``)::
+
+ detox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/LICENSE
new/process-tests-2.1.2/LICENSE
--- old/process-tests-2.0.2/LICENSE 2019-01-15 22:18:12.000000000 +0100
+++ new/process-tests-2.1.2/LICENSE 2020-07-23 17:08:48.000000000 +0200
@@ -1,5 +1,6 @@
-Copyright (c) 2013-2014, Ionel Cristian MÄrieÈ
-All rights reserved.
+BSD 2-Clause License
+
+Copyright (c) 2013-2020, Ionel Cristian MÄrieÈ. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the
following conditions are met:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/MANIFEST.in
new/process-tests-2.1.2/MANIFEST.in
--- old/process-tests-2.0.2/MANIFEST.in 2019-01-15 22:18:12.000000000 +0100
+++ new/process-tests-2.1.2/MANIFEST.in 2020-07-23 17:01:59.000000000 +0200
@@ -1,14 +1,19 @@
-include README.rst
-include LICENSE
-include AUTHORS
-include tox.ini
-include .coveragerc
-include .travis.yml
-include .pylintrc
-include coverage.ini
-include *.komodoproject
-graft tests
-graft examples
-graft src
graft docs
-global-exclude *.pyc *.pyo
+graft src
+graft ci
+graft tests
+
+include .bumpversion.cfg
+include .coveragerc
+include .cookiecutterrc
+include .editorconfig
+
+include AUTHORS.rst
+include CHANGELOG.rst
+include CONTRIBUTING.rst
+include LICENSE
+include README.rst
+
+include tox.ini .travis.yml .appveyor.yml .pre-commit-config.yaml
+
+global-exclude *.py[cod] __pycache__/* *.so *.dylib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/PKG-INFO
new/process-tests-2.1.2/PKG-INFO
--- old/process-tests-2.0.2/PKG-INFO 2019-02-11 23:56:03.000000000 +0100
+++ new/process-tests-2.1.2/PKG-INFO 2021-05-02 09:25:14.264647200 +0200
@@ -1,21 +1,23 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
Name: process-tests
-Version: 2.0.2
-Summary: Tools for testing processes
+Version: 2.1.2
+Summary: Tools for testing processes.
Home-page: https://github.com/ionelmc/python-process-tests
Author: Ionel Cristian MÄrieÈ
Author-email: [email protected]
-License: BSD
-Description: ============================
- python-process-tests
- ============================
-
- .. image:: https://badge.fury.io/py/process-tests.png
- :alt: PYPI Package
- :target: https://pypi.python.org/pypi/process-tests
+License: BSD-2-Clause
+Project-URL: Changelog,
https://github.com/ionelmc/python-process-tests/blob/master/CHANGELOG.rst
+Project-URL: Issue Tracker,
https://github.com/ionelmc/python-process-tests/issues
+Description: ========
+ Overview
+ ========
+
+
Tools for testing processes.
+ * Free software: BSD 2-Clause License
+
Usage
=====
@@ -65,6 +67,32 @@
* TODO
+
+ Changelog
+ =========
+
+ 2.1.2 (2020-07-23)
+ ------------------
+
+ * Fixed another regression caused by the ``universal_newlines`` for
Windows.
+
+ 2.1.1 (2020-07-23)
+ ------------------
+
+ * Fixed regression caused by the ``universal_newlines`` (now the
internals don't decode strings).
+
+ 2.1.0 (2020-07-23)
+ ------------------
+
+ * Applied the cookiecutter-pylibrary templates.
+ * ``TestProcess`` will use ``universal_newlines`` by default for the
contained ``subprocess.Popen`` to make sure line buffering is actually
+ used. This also fixes warnings on Python 3.
+
+ 2.x (???)
+ ---------
+
+ * Lots of wild stuff.
+
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
@@ -75,8 +103,13 @@
Classifier: Programming Language :: Python
Classifier: Topic :: Utilities
Classifier: Topic :: Software Development :: Testing
-Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Topic :: Utilities
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/README.rst
new/process-tests-2.1.2/README.rst
--- old/process-tests-2.0.2/README.rst 2019-01-15 22:18:12.000000000 +0100
+++ new/process-tests-2.1.2/README.rst 2021-05-02 09:25:04.000000000 +0200
@@ -1,13 +1,51 @@
-============================
- python-process-tests
-============================
-
-.. image:: https://badge.fury.io/py/process-tests.png
- :alt: PYPI Package
- :target: https://pypi.python.org/pypi/process-tests
+========
+Overview
+========
+
+.. start-badges
+
+.. list-table::
+ :stub-columns: 1
+
+ * - tests
+ - | |requires|
+ |
+ * - package
+ - | |version| |wheel| |supported-versions| |supported-implementations|
+ | |commits-since|
+
+.. |requires| image::
https://requires.io/github/ionelmc/python-process-tests/requirements.svg?branch=master
+ :alt: Requirements Status
+ :target:
https://requires.io/github/ionelmc/python-process-tests/requirements/?branch=master
+
+.. |version| image:: https://img.shields.io/pypi/v/process-tests.svg
+ :alt: PyPI Package latest release
+ :target: https://pypi.org/project/process-tests
+
+.. |wheel| image:: https://img.shields.io/pypi/wheel/process-tests.svg
+ :alt: PyPI Wheel
+ :target: https://pypi.org/project/process-tests
+
+.. |supported-versions| image::
https://img.shields.io/pypi/pyversions/process-tests.svg
+ :alt: Supported versions
+ :target: https://pypi.org/project/process-tests
+
+.. |supported-implementations| image::
https://img.shields.io/pypi/implementation/process-tests.svg
+ :alt: Supported implementations
+ :target: https://pypi.org/project/process-tests
+
+.. |commits-since| image::
https://img.shields.io/github/commits-since/ionelmc/python-process-tests/v2.1.2.svg
+ :alt: Commits since latest release
+ :target:
https://github.com/ionelmc/python-process-tests/compare/v2.1.2...master
+
+
+
+.. end-badges
Tools for testing processes.
+* Free software: BSD 2-Clause License
+
Usage
=====
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/ci/bootstrap.py
new/process-tests-2.1.2/ci/bootstrap.py
--- old/process-tests-2.0.2/ci/bootstrap.py 1970-01-01 01:00:00.000000000
+0100
+++ new/process-tests-2.1.2/ci/bootstrap.py 2020-07-23 17:01:59.000000000
+0200
@@ -0,0 +1,89 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+from __future__ import absolute_import
+from __future__ import print_function
+from __future__ import unicode_literals
+
+import os
+import subprocess
+import sys
+from os.path import abspath
+from os.path import dirname
+from os.path import exists
+from os.path import join
+
+base_path = dirname(dirname(abspath(__file__)))
+
+
+def check_call(args):
+ print("+", *args)
+ subprocess.check_call(args)
+
+
+def exec_in_env():
+ env_path = join(base_path, ".tox", "bootstrap")
+ if sys.platform == "win32":
+ bin_path = join(env_path, "Scripts")
+ else:
+ bin_path = join(env_path, "bin")
+ if not exists(env_path):
+ import subprocess
+
+ print("Making bootstrap env in: {0} ...".format(env_path))
+ try:
+ check_call([sys.executable, "-m", "venv", env_path])
+ except subprocess.CalledProcessError:
+ try:
+ check_call([sys.executable, "-m", "virtualenv", env_path])
+ except subprocess.CalledProcessError:
+ check_call(["virtualenv", env_path])
+ print("Installing `jinja2` into bootstrap environment...")
+ check_call([join(bin_path, "pip"), "install", "jinja2", "tox"])
+ python_executable = join(bin_path, "python")
+ if not os.path.exists(python_executable):
+ python_executable += '.exe'
+
+ print("Re-executing with: {0}".format(python_executable))
+ print("+ exec", python_executable, __file__, "--no-env")
+ os.execv(python_executable, [python_executable, __file__, "--no-env"])
+
+
+def main():
+ import jinja2
+
+ print("Project path: {0}".format(base_path))
+
+ jinja = jinja2.Environment(
+ loader=jinja2.FileSystemLoader(join(base_path, "ci", "templates")),
+ trim_blocks=True,
+ lstrip_blocks=True,
+ keep_trailing_newline=True
+ )
+
+ tox_environments = [
+ line.strip()
+ # 'tox' need not be installed globally, but must be importable
+ # by the Python that is running this script.
+ # This uses sys.executable the same way that the call in
+ # cookiecutter-pylibrary/hooks/post_gen_project.py
+ # invokes this bootstrap.py itself.
+ for line in subprocess.check_output([sys.executable, '-m', 'tox',
'--listenvs'], universal_newlines=True).splitlines()
+ ]
+ tox_environments = [line for line in tox_environments if
line.startswith('py')]
+
+ for name in os.listdir(join("ci", "templates")):
+ with open(join(base_path, name), "w") as fh:
+
fh.write(jinja.get_template(name).render(tox_environments=tox_environments))
+ print("Wrote {}".format(name))
+ print("DONE.")
+
+
+if __name__ == "__main__":
+ args = sys.argv[1:]
+ if args == ["--no-env"]:
+ main()
+ elif not args:
+ exec_in_env()
+ else:
+ print("Unexpected arguments {0}".format(args), file=sys.stderr)
+ sys.exit(1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/ci/requirements.txt
new/process-tests-2.1.2/ci/requirements.txt
--- old/process-tests-2.0.2/ci/requirements.txt 1970-01-01 01:00:00.000000000
+0100
+++ new/process-tests-2.1.2/ci/requirements.txt 2020-07-23 17:01:59.000000000
+0200
@@ -0,0 +1,4 @@
+virtualenv>=16.6.0
+pip>=19.1.1
+setuptools>=18.0.1
+six>=1.14.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/setup.cfg
new/process-tests-2.1.2/setup.cfg
--- old/process-tests-2.0.2/setup.cfg 2019-02-11 23:56:03.000000000 +0100
+++ new/process-tests-2.1.2/setup.cfg 2021-05-02 09:25:14.264647200 +0200
@@ -1,6 +1,34 @@
-[wheel]
+[bdist_wheel]
universal = 1
+[flake8]
+max-line-length = 140
+exclude = .tox,.eggs,ci/templates,build,dist
+
+[tool:pytest]
+norecursedirs =
+ migrations
+python_files =
+ test_*.py
+ *_test.py
+ tests.py
+addopts =
+ -ra
+ --strict
+ --doctest-modules
+ --doctest-glob=\*.rst
+ --tb=short
+testpaths =
+ tests
+
+[tool:isort]
+force_single_line = True
+line_length = 120
+known_first_party = process_tests
+default_section = THIRDPARTY
+forced_separate = test_process_tests
+skip = .tox,.eggs,ci/templates,,build,dist
+
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/setup.py
new/process-tests-2.1.2/setup.py
--- old/process-tests-2.0.2/setup.py 2019-02-11 23:55:39.000000000 +0100
+++ new/process-tests-2.1.2/setup.py 2021-05-02 09:25:04.000000000 +0200
@@ -1,23 +1,47 @@
-# -*- encoding: utf8 -*-
-from setuptools import setup, find_packages
+#!/usr/bin/env python
+# -*- encoding: utf-8 -*-
+from __future__ import absolute_import
+from __future__ import print_function
+
+import io
+import re
+from glob import glob
+from os.path import basename
+from os.path import dirname
+from os.path import join
+from os.path import splitext
+
+from setuptools import find_packages
+from setuptools import setup
+
+
+def read(*names, **kwargs):
+ with io.open(
+ join(dirname(__file__), *names),
+ encoding=kwargs.get('encoding', 'utf8')
+ ) as fh:
+ return fh.read()
-import os
setup(
- name="process-tests",
- version="2.0.2",
- url='https://github.com/ionelmc/python-process-tests',
- download_url='',
- license='BSD',
- description="Tools for testing processes",
- long_description=open(os.path.join(os.path.dirname(__file__),
'README.rst')).read(),
+ name='process-tests',
+ version='2.1.2',
+ license='BSD-2-Clause',
+ description='Tools for testing processes.',
+ long_description='%s\n%s' % (
+ re.compile('^.. start-badges.*^.. end-badges', re.M | re.S).sub('',
read('README.rst')),
+ re.sub(':[a-z]+:`~?(.*?)`', r'``\1``', read('CHANGELOG.rst'))
+ ),
author='Ionel Cristian MÄrieÈ',
author_email='[email protected]',
+ url='https://github.com/ionelmc/python-process-tests',
+ packages=find_packages('src'),
package_dir={'': 'src'},
- py_modules=['process_tests'],
+ py_modules=[splitext(basename(path))[0] for path in glob('src/*.py')],
include_package_data=True,
zip_safe=False,
classifiers=[
+ # complete classifier list:
http://pypi.python.org/pypi?%3Aaction=list_classifiers
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
@@ -27,10 +51,34 @@
'Programming Language :: Python',
'Topic :: Utilities',
'Topic :: Software Development :: Testing',
- 'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
+ # uncomment if you test on these interpreters:
+ # 'Programming Language :: Python :: Implementation :: IronPython',
+ # 'Programming Language :: Python :: Implementation :: Jython',
+ # 'Programming Language :: Python :: Implementation :: Stackless',
+ 'Topic :: Utilities',
+ ],
+ project_urls={
+ 'Changelog':
'https://github.com/ionelmc/python-process-tests/blob/master/CHANGELOG.rst',
+ 'Issue Tracker':
'https://github.com/ionelmc/python-process-tests/issues',
+ },
+ keywords=[
+ # eg: 'keyword1', 'keyword2', 'keyword3',
+ ],
+ python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*',
+ install_requires=[
+ # eg: 'aspectlib==1.1.1', 'six>=1.7',
],
+ extras_require={
+ # eg:
+ # 'rst': ['docutils>=0.11'],
+ # ':python_version=="2.6"': ['argparse'],
+ },
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/process-tests-2.0.2/src/process_tests.egg-info/PKG-INFO
new/process-tests-2.1.2/src/process_tests.egg-info/PKG-INFO
--- old/process-tests-2.0.2/src/process_tests.egg-info/PKG-INFO 2019-02-11
23:56:03.000000000 +0100
+++ new/process-tests-2.1.2/src/process_tests.egg-info/PKG-INFO 2021-05-02
09:25:14.000000000 +0200
@@ -1,21 +1,23 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
Name: process-tests
-Version: 2.0.2
-Summary: Tools for testing processes
+Version: 2.1.2
+Summary: Tools for testing processes.
Home-page: https://github.com/ionelmc/python-process-tests
Author: Ionel Cristian MÄrieÈ
Author-email: [email protected]
-License: BSD
-Description: ============================
- python-process-tests
- ============================
-
- .. image:: https://badge.fury.io/py/process-tests.png
- :alt: PYPI Package
- :target: https://pypi.python.org/pypi/process-tests
+License: BSD-2-Clause
+Project-URL: Changelog,
https://github.com/ionelmc/python-process-tests/blob/master/CHANGELOG.rst
+Project-URL: Issue Tracker,
https://github.com/ionelmc/python-process-tests/issues
+Description: ========
+ Overview
+ ========
+
+
Tools for testing processes.
+ * Free software: BSD 2-Clause License
+
Usage
=====
@@ -65,6 +67,32 @@
* TODO
+
+ Changelog
+ =========
+
+ 2.1.2 (2020-07-23)
+ ------------------
+
+ * Fixed another regression caused by the ``universal_newlines`` for
Windows.
+
+ 2.1.1 (2020-07-23)
+ ------------------
+
+ * Fixed regression caused by the ``universal_newlines`` (now the
internals don't decode strings).
+
+ 2.1.0 (2020-07-23)
+ ------------------
+
+ * Applied the cookiecutter-pylibrary templates.
+ * ``TestProcess`` will use ``universal_newlines`` by default for the
contained ``subprocess.Popen`` to make sure line buffering is actually
+ used. This also fixes warnings on Python 3.
+
+ 2.x (???)
+ ---------
+
+ * Lots of wild stuff.
+
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
@@ -75,8 +103,13 @@
Classifier: Programming Language :: Python
Classifier: Topic :: Utilities
Classifier: Topic :: Software Development :: Testing
-Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Topic :: Utilities
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/process-tests-2.0.2/src/process_tests.egg-info/SOURCES.txt
new/process-tests-2.1.2/src/process_tests.egg-info/SOURCES.txt
--- old/process-tests-2.0.2/src/process_tests.egg-info/SOURCES.txt
2019-02-11 23:56:03.000000000 +0100
+++ new/process-tests-2.1.2/src/process_tests.egg-info/SOURCES.txt
2021-05-02 09:25:14.000000000 +0200
@@ -1,11 +1,24 @@
+.bumpversion.cfg
+.cookiecutterrc
+.coveragerc
+.editorconfig
+.gitignore
+.pre-commit-config.yaml
+AUTHORS.rst
+CHANGELOG.rst
+CONTRIBUTING.rst
LICENSE
MANIFEST.in
README.rst
setup.cfg
setup.py
+tox.ini
+ci/bootstrap.py
+ci/requirements.txt
src/process_tests.py
src/process_tests.egg-info/PKG-INFO
src/process_tests.egg-info/SOURCES.txt
src/process_tests.egg-info/dependency_links.txt
src/process_tests.egg-info/not-zip-safe
-src/process_tests.egg-info/top_level.txt
\ No newline at end of file
+src/process_tests.egg-info/top_level.txt
+tests/test_process_tests.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/src/process_tests.py
new/process-tests-2.1.2/src/process_tests.py
--- old/process-tests-2.0.2/src/process_tests.py 2019-02-11
23:54:14.000000000 +0100
+++ new/process-tests-2.1.2/src/process_tests.py 2021-05-02
09:25:04.000000000 +0200
@@ -27,6 +27,8 @@
except ImportError:
import unittest
+__version__ = '2.1.2'
+
logger = getLogger(__name__)
BAD_FD_ERRORS = tuple(getattr(errno, name) for name in ['EBADF', 'EBADFD',
'ENOTCONN'] if hasattr(errno, name))
@@ -103,7 +105,8 @@
except Queue.Empty:
break
try:
- data = data.decode(self.ENCODING)
+ if isinstance(data, bytes):
+ data = data.decode(self.ENCODING)
except Exception as exc:
logger.exception("%r failed to decode %r: %r", self, data, exc)
raise
@@ -120,6 +123,7 @@
def __init__(self, *args, **kwargs):
kwargs.setdefault('env', os.environ)
kwargs.setdefault('bufsize', 1)
+ kwargs.setdefault('universal_newlines', True)
self.proc = subprocess.Popen(
args,
stdout=subprocess.PIPE,
@@ -170,7 +174,8 @@
try:
data, _ = self.proc.communicate()
try:
- data = data.decode(self.ENCODING)
+ if isinstance(data, bytes):
+ data = data.decode(self.ENCODING)
except Exception as exc:
logger.exception("%s failed to decode %r: %r", self, data,
exc)
raise
@@ -268,4 +273,3 @@
class ProcessTestCase(unittest.TestCase):
dump_on_error = staticmethod(dump_on_error)
wait_for_strings = staticmethod(wait_for_strings)
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/process-tests-2.0.2/tox.ini
new/process-tests-2.1.2/tox.ini
--- old/process-tests-2.0.2/tox.ini 1970-01-01 01:00:00.000000000 +0100
+++ new/process-tests-2.1.2/tox.ini 2020-07-23 17:01:59.000000000 +0200
@@ -0,0 +1,70 @@
+[testenv:bootstrap]
+deps =
+ jinja2
+ matrix
+ tox
+skip_install = true
+commands =
+ python ci/bootstrap.py --no-env
+passenv =
+ *
+; a generative tox configuration, see:
https://tox.readthedocs.io/en/latest/config.html#generative-envlist
+
+[tox]
+envlist =
+ clean,
+ check,
+ {py27,py35,py36,py37,py38,pypy,pypy3},
+ report
+ignore_basepython_conflict = true
+
+[testenv]
+basepython =
+ pypy: {env:TOXPYTHON:pypy}
+ pypy3: {env:TOXPYTHON:pypy3}
+ py27: {env:TOXPYTHON:python2.7}
+ py35: {env:TOXPYTHON:python3.5}
+ py36: {env:TOXPYTHON:python3.6}
+ py37: {env:TOXPYTHON:python3.7}
+ py38: {env:TOXPYTHON:python3.8}
+ {bootstrap,clean,check,report}: {env:TOXPYTHON:python3}
+setenv =
+ PYTHONPATH={toxinidir}/tests
+ PYTHONUNBUFFERED=yes
+passenv =
+ *
+usedevelop = false
+deps =
+ pytest
+ pytest-cov
+commands =
+ {posargs:pytest --cov --cov-report=term-missing -vv tests}
+
+[testenv:check]
+deps =
+ docutils
+ check-manifest
+ flake8
+ readme-renderer
+ pygments
+ isort
+skip_install = true
+commands =
+ python setup.py check --strict --metadata --restructuredtext
+ check-manifest {toxinidir}
+ flake8
+ isort --verbose --check-only --diff src tests setup.py
+
+[testenv:report]
+deps =
+ coverage
+skip_install = true
+commands =
+ coverage report
+ coverage html
+
+[testenv:clean]
+commands = coverage erase
+skip_install = true
+deps =
+ coverage