Hello community, here is the log from the commit of package python-sh for openSUSE:Factory checked in at 2019-02-02 21:50:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-sh (Old) and /work/SRC/openSUSE:Factory/.python-sh.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sh" Sat Feb 2 21:50:07 2019 rev:5 rq:670583 version:1.12.14 Changes: -------- --- /work/SRC/openSUSE:Factory/python-sh/python-sh.changes 2018-12-24 11:43:54.393318367 +0100 +++ /work/SRC/openSUSE:Factory/.python-sh.new.28833/python-sh.changes 2019-02-02 21:50:08.947934047 +0100 @@ -1,0 +2,9 @@ +Fri Feb 1 13:16:33 UTC 2019 - Tomáš Chvátal <tchva...@suse.com> + +- Add patches from Fedora: + * always-use-fully-versioned-python-command-in-tests.patch + * no-coverage.patch + * 0001-Fix-tests-for-the-drop-the-unversion-python.patch + * pep-0538-test-fix.patch + +------------------------------------------------------------------- New: ---- 0001-Fix-tests-for-the-drop-the-unversion-python.patch always-use-fully-versioned-python-command-in-tests.patch no-coverage.patch pep-0538-test-fix.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-sh.spec ++++++ --- /var/tmp/diff_new_pack.qHZLSv/_old 2019-02-02 21:50:09.547933527 +0100 +++ /var/tmp/diff_new_pack.qHZLSv/_new 2019-02-02 21:50:09.551933523 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-sh # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,6 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} -%bcond_without test Name: python-sh Version: 1.12.14 Release: 0 @@ -26,12 +25,13 @@ Group: Development/Languages/Python URL: https://github.com/amoffat/sh Source: https://files.pythonhosted.org/packages/source/s/sh/sh-%{version}.tar.gz +Patch0: always-use-fully-versioned-python-command-in-tests.patch +Patch1: no-coverage.patch +Patch2: 0001-Fix-tests-for-the-drop-the-unversion-python.patch +Patch3: pep-0538-test-fix.patch BuildRequires: %{python_module setuptools} BuildRequires: python-rpm-macros BuildArch: noarch -%if %{with test} -BuildRequires: %{python_module coverage} -%endif %python_subpackages %description @@ -46,6 +46,7 @@ %prep %setup -q -n sh-%{version} +%autopatch -p1 %build %python_build @@ -53,10 +54,8 @@ %install %python_install -%if %{with test} %check %python_exec test.py -%endif %files %{python_files} %license LICENSE.txt ++++++ 0001-Fix-tests-for-the-drop-the-unversion-python.patch ++++++ >From 392a0471ed19d71a226442270127a9414ccc7908 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon <pin...@pingoured.fr> Date: Tue, 24 Jul 2018 17:39:58 +0200 Subject: [PATCH] Fix tests for the drop the unversion python Signed-off-by: Pierre-Yves Chibon <pin...@pingoured.fr> --- test.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test.py b/test.py index 68ef40c..71994fa 100644 --- a/test.py +++ b/test.py @@ -3007,7 +3007,10 @@ class ExecutionContextTests(unittest.TestCase): import sh _sh = sh() omg = _sh - from omg import python + if IS_PY2: + from omg import python2 + else: + from omg import python3 def test_importer_only_works_with_sh(self): def unallowed_import(): -- 2.14.4 ++++++ always-use-fully-versioned-python-command-in-tests.patch ++++++ >From 94774d2574668aa9f7bc775cc13087a7aed03f12 Mon Sep 17 00:00:00 2001 From: Carl George <carl@george.computer> Date: Wed, 20 Jun 2018 11:02:01 -0500 Subject: [PATCH] always use fully versioned python command in tests --- test.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/test.py b/test.py index 68ef40c..ef4f589 100644 --- a/test.py +++ b/test.py @@ -93,13 +93,13 @@ def append_module_path(env, m): ioStringIO = StringIO from io import BytesIO as cStringIO iocStringIO = cStringIO - python = sh.Command(sh.which("python%d.%d" % sys.version_info[:2])) else: from StringIO import StringIO from cStringIO import StringIO as cStringIO from io import StringIO as ioStringIO from io import BytesIO as iocStringIO - python = sh.python + +system_python = sh.Command(sh.which("python%d.%d" % sys.version_info[:2])) THIS_DIR = dirname(os.path.abspath(__file__)) @@ -108,7 +108,7 @@ def append_module_path(env, m): # module, and not the system one baked_env = os.environ.copy() append_module_path(baked_env, sh) -python = python.bake(_env=baked_env) +python = system_python.bake(_env=baked_env) if hasattr(logging, 'NullHandler'): @@ -1634,10 +1634,10 @@ def test_cmd_eq(self): def test_fg(self): py = create_tmp_test("exit(0)") - # notice we're using `sh.python`, and not `python`. this is because + # notice we're using `system_python`, and not `python`. this is because # `python` has an env baked into it, and we want `_env` to be None for # coverage - sh.python(py.name, _fg=True) + system_python(py.name, _fg=True) def test_fg_env(self): py = create_tmp_test(""" @@ -2058,8 +2058,10 @@ def test_signal_group(self): """) parent = create_tmp_test(""" +import sys import sh -p = sh.python("{child_file}", _bg=True, _new_session=False) +system_python = sh.Command(sh.which("python%d.%d" % sys.version_info[:2])) +p = system_python("{child_file}", _bg=True, _new_session=False) print(p.pid) print(p.process.pgid) p.wait() @@ -2875,11 +2877,11 @@ def test_threaded_with_contexts(self): def f1(): with p1: time.sleep(1) - results[0] = str(sh.python("one")) + results[0] = str(system_python("one")) def f2(): with p2: - results[1] = str(sh.python("two")) + results[1] = str(system_python("two")) t1 = threading.Thread(target=f1) t1.start() ++++++ no-coverage.patch ++++++ diff -Naurp sh-1.12.14.orig/sh.py sh-1.12.14/sh.py --- sh-1.12.14.orig/sh.py 2017-06-06 21:51:42.000000000 -0500 +++ sh-1.12.14/sh.py 2017-06-07 08:49:59.350791975 -0500 @@ -3519,14 +3519,9 @@ if __name__ == "__main__": # pragma: no if action in ("test", "travis"): import test - coverage = None - if test.HAS_UNICODE_LITERAL: - import coverage env = os.environ.copy() env["SH_TESTS_RUNNING"] = "1" - if coverage: - test.append_module_path(env, coverage) # if we're testing locally, run all versions of python on the system if action == "test": diff -Naurp sh-1.12.14.orig/test.py sh-1.12.14/test.py --- sh-1.12.14.orig/test.py 2017-06-06 21:51:42.000000000 -0500 +++ sh-1.12.14/test.py 2017-06-07 08:49:59.351791993 -0500 @@ -6,31 +6,6 @@ IS_PY3 = sys.version_info[0] == 3 IS_PY2 = not IS_PY3 MINOR_VER = sys.version_info[1] -# coverage doesn't work in python 3.1, 3.2 due to it just being a shit -# python -HAS_UNICODE_LITERAL = not (IS_PY3 and MINOR_VER in (1, 2)) - -cov = None -if HAS_UNICODE_LITERAL: - run_idx = int(os.environ.pop("SH_TEST_RUN_IDX", "0")) - first_run = run_idx == 0 - - import coverage - - # for some reason, we can't run auto_data on the first run, or the coverage - # numbers get really screwed up - auto_data = True - if first_run: - auto_data = False - - cov = coverage.Coverage(auto_data=auto_data) - - if first_run: - cov.erase() - - cov.start() - - from os.path import exists, join, realpath, dirname, split import unittest try: @@ -3045,6 +3020,4 @@ if __name__ == "__main__": exit(1) finally: - if cov: - cov.stop() - cov.save() + pass ++++++ pep-0538-test-fix.patch ++++++ diff -Naurp sh-1.12.14.orig/test.py sh-1.12.14/test.py --- sh-1.12.14.orig/test.py 2017-06-06 21:51:42.000000000 -0500 +++ sh-1.12.14/test.py 2017-06-07 11:27:04.912212886 -0500 @@ -515,17 +515,28 @@ while True: "VERSIONER_PYTHON_VERSION", ] + # Fedora adds some extra environment variables as well. + # See https://www.python.org/dev/peps/pep-0538/ for more info. + fedora_cruft = [ + "LC_CTYPE", + "LANG" + ] + # first we test that the environment exists in our child process as # we've set it py = create_tmp_test(""" import os osx_cruft = %s +fedora_cruft = %s for key in osx_cruft: try: del os.environ[key] except: pass +for key in fedora_cruft: + try: del os.environ[key] + except: pass print(os.environ["HERP"] + " " + str(len(os.environ))) -""" % osx_cruft) +""" % (osx_cruft, fedora_cruft)) out = python(py.name, _env=env).strip() self.assertEqual(out, "DERP 1") @@ -534,11 +545,15 @@ import os, sys sys.path.insert(0, os.getcwd()) import sh osx_cruft = %s +fedora_cruft = %s for key in osx_cruft: try: del os.environ[key] except: pass +for key in fedora_cruft: + try: del os.environ[key] + except: pass print(sh.HERP + " " + str(len(os.environ))) -""" % osx_cruft) +""" % (osx_cruft, fedora_cruft)) out = python(py.name, _env=env, _cwd=THIS_DIR).strip() self.assertEqual(out, "DERP 1")