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 <dmuel...@suse.com> + +- 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: 'cont...@ionelmc.ro' + 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 g...@github.com: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: cont...@ionelmc.ro -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='cont...@ionelmc.ro', + 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: cont...@ionelmc.ro -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