jelmer / dulwich

Pure-Python Git implementation
https://www.dulwich.io/
Other
2.06k stars 395 forks source link

0.20.44: pytest is failing in `dulwich/tests/test_pack.py::TestPack::test_copy` #988

Open kloczek opened 2 years ago

kloczek commented 2 years ago

Looks like with new version pytest is failing in new unit.

```console + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.44-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.44-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra --ignore dulwich/contrib/test_swift_smoke.py =========================================================================== test session starts ============================================================================ platform linux -- Python 3.8.13, pytest-7.1.2, pluggy-1.0.0 rootdir: /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.20.44 collected 1442 items dulwich/contrib/test_paramiko_vendor.py ... [ 0%] dulwich/contrib/test_release_robot.py .. [ 0%] dulwich/contrib/test_swift.py ......................................... [ 3%] dulwich/tests/test_archive.py ..... [ 3%] dulwich/tests/test_blackbox.py ... [ 3%] dulwich/tests/test_bundle.py . [ 3%] dulwich/tests/test_client.py ....................s............................................................................................. [ 11%] dulwich/tests/test_config.py .......................................ss................ [ 15%] dulwich/tests/test_diff_tree.py .s.s....................................ss.s.s.................... [ 20%] dulwich/tests/test_fastexport.py ............. [ 21%] dulwich/tests/test_file.py .s......... [ 21%] dulwich/tests/test_grafts.py .................... [ 23%] dulwich/tests/test_graph.py ......... [ 23%] dulwich/tests/test_greenthreads.py ... [ 24%] dulwich/tests/test_hooks.py ... [ 24%] dulwich/tests/test_ignore.py ............... [ 25%] dulwich/tests/test_index.py ...................................... [ 28%] dulwich/tests/test_lfs.py .. [ 28%] dulwich/tests/test_line_ending.py .................. [ 29%] dulwich/tests/test_lru_cache.py ............................... [ 31%] dulwich/tests/test_mailmap.py .. [ 31%] dulwich/tests/test_missing_obj_finder.py ................ [ 32%] dulwich/tests/test_object_store.py ........................................................................................... [ 39%] dulwich/tests/test_objects.py ..................................................s..s.s...................................... [ 45%] dulwich/tests/test_objectspec.py ................................ [ 47%] dulwich/tests/test_pack.py .............................F.............................................................. [ 54%] dulwich/tests/test_patch.py ..s.................. [ 55%] dulwich/tests/test_porcelain.py ................................................................................................................................ [ 64%] dulwich/tests/test_protocol.py .......................................... [ 67%] dulwich/tests/test_reflog.py ..... [ 67%] dulwich/tests/test_refs.py ................................................................. [ 72%] dulwich/tests/test_repository.py ..................................................................................... [ 78%] dulwich/tests/test_server.py ..................................................... [ 81%] dulwich/tests/test_stash.py . [ 81%] dulwich/tests/test_utils.py ...... [ 82%] dulwich/tests/test_walk.py ...........x...................... [ 84%] dulwich/tests/test_web.py ................................ [ 86%] dulwich/tests/compat/test_client.py sssssssssssssssss..................................s................ [ 91%] dulwich/tests/compat/test_pack.py .s.. [ 91%] dulwich/tests/compat/test_patch.py . [ 92%] dulwich/tests/compat/test_porcelain.py .. [ 92%] dulwich/tests/compat/test_repository.py ........................ [ 93%] dulwich/tests/compat/test_server.py ............................ [ 95%] dulwich/tests/compat/test_utils.py ..... [ 96%] dulwich/tests/compat/test_web.py ...............................................ss.sss.ss [100%] ================================================================================= FAILURES ================================================================================= ____________________________________________________________________________ TestPack.test_copy ____________________________________________________________________________ self = def test_copy(self): with self.get_pack(pack1_sha) as origpack: self.assertSucceeds(origpack.index.check) basename = os.path.join(self.tempdir, "Elch") write_pack(basename, origpack.pack_tuples()) with Pack(basename) as newpack: self.assertEqual(origpack, newpack) self.assertSucceeds(newpack.index.check) self.assertEqual(origpack.name(), newpack.name()) > self.assertEqual( origpack.index.get_pack_checksum(), newpack.index.get_pack_checksum(), ) E AssertionError: b'r\x19\x80\xe8f\xaf\x9a_\x93\xadgAD\xe1E\x9b\x8b\xa3\xe7\xb7' != b'j:\x9f\xee\xa6;\x82\xbcqo1?\x88\xc4\xed\x88\xad\xfe\x7f\x1a' dulwich/tests/test_pack.py:439: AssertionError ============================================================================= warnings summary ============================================================================= dulwich/tests/test_client.py:724 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.20.44/dulwich/tests/test_client.py:724: PytestCollectionWarning: cannot collect test class 'TestSSHVendor' because it has a __init__ constructor (from: dulwich/tests/test_client.py) class TestSSHVendor(object): dulwich/tests/test_pack.py:950 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.20.44/dulwich/tests/test_pack.py:950: PytestCollectionWarning: cannot collect test class 'TestPackIterator' because it has a __init__ constructor (from: dulwich/tests/test_pack.py) class TestPackIterator(DeltaChainIterator): dulwich/tests/test_server.py:77 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.20.44/dulwich/tests/test_server.py:77: PytestCollectionWarning: cannot collect test class 'TestProto' because it has a __init__ constructor (from: dulwich/tests/test_server.py) class TestProto(object): dulwich/tests/test_server.py:107 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.20.44/dulwich/tests/test_server.py:107: PytestCollectionWarning: cannot collect test class 'TestGenericPackHandler' because it has a __init__ constructor (from: dulwich/tests/test_server.py) class TestGenericPackHandler(PackHandler): dulwich/tests/test_server.py:338 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.20.44/dulwich/tests/test_server.py:338: PytestCollectionWarning: cannot collect test class 'TestUploadPackHandler' because it has a __init__ constructor (from: dulwich/tests/test_server.py) class TestUploadPackHandler(UploadPackHandler): dulwich/tests/test_server.py:591 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.20.44/dulwich/tests/test_server.py:591: PytestCollectionWarning: cannot collect test class 'TestProtocolGraphWalker' because it has a __init__ constructor (from: dulwich/tests/test_server.py) class TestProtocolGraphWalker(object): dulwich/tests/test_walk.py:54 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.20.44/dulwich/tests/test_walk.py:54: PytestCollectionWarning: cannot collect test class 'TestWalkEntry' because it has a __init__ constructor (from: dulwich/tests/test_walk.py) class TestWalkEntry(object): dulwich/tests/test_web.py:96 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.20.44/dulwich/tests/test_web.py:96: PytestCollectionWarning: cannot collect test class 'TestHTTPGitRequest' because it has a __init__ constructor (from: dulwich/tests/test_web.py) class TestHTTPGitRequest(HTTPGitRequest): dulwich/tests/test_repository.py::RepositoryRootTests::test_fetch_ignores_missing_refs /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.20.44/dulwich/repo.py:496: UserWarning: ref refs/heads/blah points at non-present sha 1234566789123456789123567891234657373833 warnings.warn( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ========================================================================= short test summary info ========================================================================== SKIPPED [1] dulwich/tests/test_client.py:550: Behaviour only happens on windows. SKIPPED [1] dulwich/tests/test_config.py:303: Windows specfic config location. SKIPPED [1] dulwich/tests/test_config.py:319: Windows specfic config location. SKIPPED [1] dulwich/tests/utils.py:204: extension not found SKIPPED [1] dulwich/tests/utils.py:204: extension not found SKIPPED [4] dulwich/tests/utils.py:204: extension not found SKIPPED [1] dulwich/tests/test_file.py:72: platform allows overwriting open files SKIPPED [1] dulwich/tests/utils.py:204: extension not found SKIPPED [2] dulwich/tests/utils.py:204: extension not found SKIPPED [1] dulwich/tests/test_patch.py:228: git_am_patch_split doesn't handle Mercurial patches properly yet SKIPPED [1] dulwich/tests/compat/test_client.py:227: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:271: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:235: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:243: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:303: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:312: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:357: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:291: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:259: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:342: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:104: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:124: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:210: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:108: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:192: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:325: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:151: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:674: exporting archives not supported over http SKIPPED [1] dulwich/tests/compat/test_pack.py:143: skipping slow, large test SKIPPED [1] dulwich/tests/compat/test_web.py:203: Dumb web shallow cloning not supported. SKIPPED [1] dulwich/tests/compat/test_web.py:198: Dumb web shallow cloning not supported. SKIPPED [1] dulwich/tests/compat/test_web.py:188: Dumb web shallow cloning not supported. SKIPPED [1] dulwich/tests/compat/test_web.py:180: Dumb web pushing not supported. SKIPPED [1] dulwich/tests/compat/test_web.py:208: Dumb web pushing not supported. SKIPPED [1] dulwich/tests/compat/test_web.py:184: Dumb web pushing not supported. SKIPPED [1] dulwich/tests/compat/test_web.py:193: Dumb web shallow cloning not supported. XFAIL dulwich/tests/test_walk.py::WalkerTest::test_merge_of_old_branch reason: FAILED dulwich/tests/test_pack.py::TestPack::test_copy - AssertionError: b'r\x19\x80\xe8f\xaf\x9a_\x93\xadgAD\xe1E\x9b\x8b\xa3\xe7\xb7' != b'j:\x9f\xee\xa6;\x82\xbcqo1?\... =============================================== 1 failed, 1400 passed, 40 skipped, 1 xfailed, 9 warnings in 99.25s (0:01:39) =============================================== ```

pytest as you see still shows some warnings as well.

List of modules installed in build env

```console Package Version ----------------------------- ----------------- alabaster 0.7.12 attrs 22.1.0.dev0 Babel 2.10.2 bcrypt 3.2.2 Brlapi 0.8.3 Brotli 1.0.9 build 0.8.0 certifi 2021.10.8 cffi 1.15.0 charset-normalizer 2.1.0 codespell 2.1.0 cryptography 36.0.2 cycler 0.11.0 distro 1.7.0 docutils 0.17.1 extras 1.0.0 fastimport 0.9.14 fixtures 4.0.0 fonttools 4.33.3 gevent 21.12.0 geventhttpclient 1.5.5 gpg 1.17.1-unknown greenlet 1.1.2 idna 3.3 imagesize 1.3.0 importlib-metadata 4.12.0 iniconfig 1.1.1 Jinja2 3.1.1 kiwisolver 1.4.3 libcomps 0.1.18 louis 3.22.0 MarkupSafe 2.1.1 matplotlib 3.5.2 numpy 1.23.0 olefile 0.46 packaging 21.3 paramiko 2.11.0 pbr 5.8.1 pep517 0.12.0 Pillow 9.1.1 pip 22.0.4 pluggy 1.0.0 ply 3.11 py 1.11.0 pycparser 2.21 Pygments 2.12.0 PyGObject 3.42.1 PyNaCl 1.5.0 pyparsing 3.0.9 pytest 7.1.2 python-dateutil 2.8.2 pytz 2022.1 requests 2.28.1 rpm 4.17.0 setuptools 62.6.0 six 1.16.0 snowballstemmer 2.2.0 Sphinx 5.0.2 sphinxcontrib-applehelp 1.0.2.dev20220410 sphinxcontrib-devhelp 1.0.2.dev20220410 sphinxcontrib-htmlhelp 2.0.0 sphinxcontrib-jsmath 1.0.1.dev20220410 sphinxcontrib-qthelp 1.0.3.dev20220410 sphinxcontrib-serializinghtml 1.1.5 testtools 2.5.0 tomli 2.0.1 urllib3 1.26.9 wheel 0.37.1 zipp 3.8.0 zope.event 4.5.0 zope.interface 5.4.0 ```
jelmer commented 2 years ago

Can you reproduce the test failure with unittest?

kloczek commented 2 years ago

I'm reporting issue using pytest.

kloczek commented 1 year ago

Just tested 0.21.1. Here is the result

```console + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.21.1-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.21.1-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra -m 'not network' ==================================================================================== test session starts ==================================================================================== platform linux -- Python 3.8.16, pytest-7.2.1, pluggy-1.0.0 rootdir: /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.1 collected 1488 items dulwich/contrib/test_paramiko_vendor.py ... [ 0%] dulwich/contrib/test_release_robot.py .. [ 0%] dulwich/contrib/test_swift.py ......................................... [ 3%] dulwich/contrib/test_swift_smoke.py EEEEEEEEE [ 3%] dulwich/tests/test_archive.py ...... [ 4%] dulwich/tests/test_blackbox.py ... [ 4%] dulwich/tests/test_bundle.py . [ 4%] dulwich/tests/test_client.py ....................s....................................................................................................... [ 12%] dulwich/tests/test_config.py .........................................ss................... [ 16%] dulwich/tests/test_credentials.py ... [ 17%] dulwich/tests/test_diff_tree.py .s.s....................................ss.s.s.................... [ 21%] dulwich/tests/test_fastexport.py ............. [ 22%] dulwich/tests/test_file.py .s......... [ 23%] dulwich/tests/test_grafts.py .................... [ 24%] dulwich/tests/test_graph.py ......... [ 25%] dulwich/tests/test_greenthreads.py . [ 25%] dulwich/tests/test_hooks.py ... [ 25%] dulwich/tests/test_ignore.py ............... [ 26%] dulwich/tests/test_index.py ...................................... [ 28%] dulwich/tests/test_lfs.py .. [ 29%] dulwich/tests/test_line_ending.py .................. [ 30%] dulwich/tests/test_lru_cache.py ............................... [ 32%] dulwich/tests/test_mailmap.py .. [ 32%] dulwich/tests/test_missing_obj_finder.py ................ [ 33%] dulwich/tests/test_object_store.py ........................................................................................... [ 39%] dulwich/tests/test_objects.py .................................................s..s.s...................................... [ 45%] dulwich/tests/test_objectspec.py ................................ [ 48%] dulwich/tests/test_pack.py .............................F.............................................................. [ 54%] dulwich/tests/test_patch.py ..s.................. [ 55%] dulwich/tests/test_porcelain.py ................................................................................................................................................ [ 65%] dulwich/tests/test_protocol.py .......................................... [ 68%] dulwich/tests/test_reflog.py ..... [ 68%] dulwich/tests/test_refs.py ................................................................... [ 72%] dulwich/tests/test_repository.py ........................................................................................ [ 78%] dulwich/tests/test_server.py ..................................................... [ 82%] dulwich/tests/test_stash.py . [ 82%] dulwich/tests/test_utils.py ...... [ 82%] dulwich/tests/test_walk.py ...........x...................... [ 85%] dulwich/tests/test_web.py ................................ [ 87%] dulwich/tests/compat/test_client.py sssssssssssssssss..................................s................ [ 91%] dulwich/tests/compat/test_pack.py .s.. [ 92%] dulwich/tests/compat/test_patch.py . [ 92%] dulwich/tests/compat/test_porcelain.py .. [ 92%] dulwich/tests/compat/test_repository.py ........................ [ 94%] dulwich/tests/compat/test_server.py ............................ [ 95%] dulwich/tests/compat/test_utils.py ..... [ 96%] dulwich/tests/compat/test_web.py ...............................................ss.sss.ss [100%] ========================================================================================== ERRORS =========================================================================================== ___________________________________________________________________ ERROR at setup of SwiftRepoSmokeTest.test_clone_bare ____________________________________________________________________ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: > confpath = os.environ["DULWICH_SWIFT_CFG"] dulwich/contrib/swift.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.21.1-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/us... 'C.UTF-8', 'PYTEST_CURRENT_TEST': 'dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_clone_bare (setup)'}) key = 'DULWICH_SWIFT_CFG' def __getitem__(self, key): try: value = self._data[self.encodekey(key)] except KeyError: # raise KeyError with the original key value > raise KeyError(key) from None E KeyError: 'DULWICH_SWIFT_CFG' /usr/lib64/python3.8/os.py:675: KeyError The above exception was the direct cause of the following exception: cls = @classmethod def setUpClass(cls): cls.backend = SwiftSystemBackend() cls.port = 9148 cls.server_address = "localhost" cls.fakerepo = "fakerepo" cls.th_server = DulwichServer(cls.backend, cls.port) cls.th_server.run() > cls.conf = swift.load_conf() dulwich/contrib/test_swift_smoke.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: confpath = os.environ["DULWICH_SWIFT_CFG"] except KeyError as exc: > raise Exception( "You need to specify a configuration file") from exc E Exception: You need to specify a configuration file dulwich/contrib/swift.py:164: Exception ______________________________________________________________ ERROR at setup of SwiftRepoSmokeTest.test_clone_then_push_data _______________________________________________________________ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: > confpath = os.environ["DULWICH_SWIFT_CFG"] dulwich/contrib/swift.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.21.1-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/us..., 'PYTEST_CURRENT_TEST': 'dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_clone_then_push_data (setup)'}) key = 'DULWICH_SWIFT_CFG' def __getitem__(self, key): try: value = self._data[self.encodekey(key)] except KeyError: # raise KeyError with the original key value > raise KeyError(key) from None E KeyError: 'DULWICH_SWIFT_CFG' /usr/lib64/python3.8/os.py:675: KeyError The above exception was the direct cause of the following exception: cls = @classmethod def setUpClass(cls): cls.backend = SwiftSystemBackend() cls.port = 9148 cls.server_address = "localhost" cls.fakerepo = "fakerepo" cls.th_server = DulwichServer(cls.backend, cls.port) cls.th_server.run() > cls.conf = swift.load_conf() dulwich/contrib/test_swift_smoke.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: confpath = os.environ["DULWICH_SWIFT_CFG"] except KeyError as exc: > raise Exception( "You need to specify a configuration file") from exc E Exception: You need to specify a configuration file dulwich/contrib/swift.py:164: Exception ____________________________________________________________________ ERROR at setup of SwiftRepoSmokeTest.test_init_bare ____________________________________________________________________ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: > confpath = os.environ["DULWICH_SWIFT_CFG"] dulwich/contrib/swift.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.21.1-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/us...: 'C.UTF-8', 'PYTEST_CURRENT_TEST': 'dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_init_bare (setup)'}) key = 'DULWICH_SWIFT_CFG' def __getitem__(self, key): try: value = self._data[self.encodekey(key)] except KeyError: # raise KeyError with the original key value > raise KeyError(key) from None E KeyError: 'DULWICH_SWIFT_CFG' /usr/lib64/python3.8/os.py:675: KeyError The above exception was the direct cause of the following exception: cls = @classmethod def setUpClass(cls): cls.backend = SwiftSystemBackend() cls.port = 9148 cls.server_address = "localhost" cls.fakerepo = "fakerepo" cls.th_server = DulwichServer(cls.backend, cls.port) cls.th_server.run() > cls.conf = swift.load_conf() dulwich/contrib/test_swift_smoke.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: confpath = os.environ["DULWICH_SWIFT_CFG"] except KeyError as exc: > raise Exception( "You need to specify a configuration file") from exc E Exception: You need to specify a configuration file dulwich/contrib/swift.py:164: Exception _______________________________________________________________ ERROR at setup of SwiftRepoSmokeTest.test_push_annotated_tag ________________________________________________________________ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: > confpath = os.environ["DULWICH_SWIFT_CFG"] dulwich/contrib/swift.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.21.1-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/us...8', 'PYTEST_CURRENT_TEST': 'dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_push_annotated_tag (setup)'}) key = 'DULWICH_SWIFT_CFG' def __getitem__(self, key): try: value = self._data[self.encodekey(key)] except KeyError: # raise KeyError with the original key value > raise KeyError(key) from None E KeyError: 'DULWICH_SWIFT_CFG' /usr/lib64/python3.8/os.py:675: KeyError The above exception was the direct cause of the following exception: cls = @classmethod def setUpClass(cls): cls.backend = SwiftSystemBackend() cls.port = 9148 cls.server_address = "localhost" cls.fakerepo = "fakerepo" cls.th_server = DulwichServer(cls.backend, cls.port) cls.th_server.run() > cls.conf = swift.load_conf() dulwich/contrib/test_swift_smoke.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: confpath = os.environ["DULWICH_SWIFT_CFG"] except KeyError as exc: > raise Exception( "You need to specify a configuration file") from exc E Exception: You need to specify a configuration file dulwich/contrib/swift.py:164: Exception ___________________________________________________________________ ERROR at setup of SwiftRepoSmokeTest.test_push_branch ___________________________________________________________________ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: > confpath = os.environ["DULWICH_SWIFT_CFG"] dulwich/contrib/swift.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.21.1-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/us...'C.UTF-8', 'PYTEST_CURRENT_TEST': 'dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_push_branch (setup)'}) key = 'DULWICH_SWIFT_CFG' def __getitem__(self, key): try: value = self._data[self.encodekey(key)] except KeyError: # raise KeyError with the original key value > raise KeyError(key) from None E KeyError: 'DULWICH_SWIFT_CFG' /usr/lib64/python3.8/os.py:675: KeyError The above exception was the direct cause of the following exception: cls = @classmethod def setUpClass(cls): cls.backend = SwiftSystemBackend() cls.port = 9148 cls.server_address = "localhost" cls.fakerepo = "fakerepo" cls.th_server = DulwichServer(cls.backend, cls.port) cls.th_server.run() > cls.conf = swift.load_conf() dulwich/contrib/test_swift_smoke.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: confpath = os.environ["DULWICH_SWIFT_CFG"] except KeyError as exc: > raise Exception( "You need to specify a configuration file") from exc E Exception: You need to specify a configuration file dulwich/contrib/swift.py:164: Exception ___________________________________________________________________ ERROR at setup of SwiftRepoSmokeTest.test_push_commit ___________________________________________________________________ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: > confpath = os.environ["DULWICH_SWIFT_CFG"] dulwich/contrib/swift.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.21.1-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/us...'C.UTF-8', 'PYTEST_CURRENT_TEST': 'dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_push_commit (setup)'}) key = 'DULWICH_SWIFT_CFG' def __getitem__(self, key): try: value = self._data[self.encodekey(key)] except KeyError: # raise KeyError with the original key value > raise KeyError(key) from None E KeyError: 'DULWICH_SWIFT_CFG' /usr/lib64/python3.8/os.py:675: KeyError The above exception was the direct cause of the following exception: cls = @classmethod def setUpClass(cls): cls.backend = SwiftSystemBackend() cls.port = 9148 cls.server_address = "localhost" cls.fakerepo = "fakerepo" cls.th_server = DulwichServer(cls.backend, cls.port) cls.th_server.run() > cls.conf = swift.load_conf() dulwich/contrib/test_swift_smoke.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: confpath = os.environ["DULWICH_SWIFT_CFG"] except KeyError as exc: > raise Exception( "You need to specify a configuration file") from exc E Exception: You need to specify a configuration file dulwich/contrib/swift.py:164: Exception ________________________________________________________________ ERROR at setup of SwiftRepoSmokeTest.test_push_data_branch _________________________________________________________________ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: > confpath = os.environ["DULWICH_SWIFT_CFG"] dulwich/contrib/swift.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.21.1-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/us...F-8', 'PYTEST_CURRENT_TEST': 'dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_push_data_branch (setup)'}) key = 'DULWICH_SWIFT_CFG' def __getitem__(self, key): try: value = self._data[self.encodekey(key)] except KeyError: # raise KeyError with the original key value > raise KeyError(key) from None E KeyError: 'DULWICH_SWIFT_CFG' /usr/lib64/python3.8/os.py:675: KeyError The above exception was the direct cause of the following exception: cls = @classmethod def setUpClass(cls): cls.backend = SwiftSystemBackend() cls.port = 9148 cls.server_address = "localhost" cls.fakerepo = "fakerepo" cls.th_server = DulwichServer(cls.backend, cls.port) cls.th_server.run() > cls.conf = swift.load_conf() dulwich/contrib/test_swift_smoke.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: confpath = os.environ["DULWICH_SWIFT_CFG"] except KeyError as exc: > raise Exception( "You need to specify a configuration file") from exc E Exception: You need to specify a configuration file dulwich/contrib/swift.py:164: Exception ______________________________________________________________ ERROR at setup of SwiftRepoSmokeTest.test_push_multiple_branch _______________________________________________________________ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: > confpath = os.environ["DULWICH_SWIFT_CFG"] dulwich/contrib/swift.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.21.1-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/us..., 'PYTEST_CURRENT_TEST': 'dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_push_multiple_branch (setup)'}) key = 'DULWICH_SWIFT_CFG' def __getitem__(self, key): try: value = self._data[self.encodekey(key)] except KeyError: # raise KeyError with the original key value > raise KeyError(key) from None E KeyError: 'DULWICH_SWIFT_CFG' /usr/lib64/python3.8/os.py:675: KeyError The above exception was the direct cause of the following exception: cls = @classmethod def setUpClass(cls): cls.backend = SwiftSystemBackend() cls.port = 9148 cls.server_address = "localhost" cls.fakerepo = "fakerepo" cls.th_server = DulwichServer(cls.backend, cls.port) cls.th_server.run() > cls.conf = swift.load_conf() dulwich/contrib/test_swift_smoke.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: confpath = os.environ["DULWICH_SWIFT_CFG"] except KeyError as exc: > raise Exception( "You need to specify a configuration file") from exc E Exception: You need to specify a configuration file dulwich/contrib/swift.py:164: Exception _______________________________________________________________ ERROR at setup of SwiftRepoSmokeTest.test_push_remove_branch ________________________________________________________________ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: > confpath = os.environ["DULWICH_SWIFT_CFG"] dulwich/contrib/swift.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.21.1-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/us...8', 'PYTEST_CURRENT_TEST': 'dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_push_remove_branch (setup)'}) key = 'DULWICH_SWIFT_CFG' def __getitem__(self, key): try: value = self._data[self.encodekey(key)] except KeyError: # raise KeyError with the original key value > raise KeyError(key) from None E KeyError: 'DULWICH_SWIFT_CFG' /usr/lib64/python3.8/os.py:675: KeyError The above exception was the direct cause of the following exception: cls = @classmethod def setUpClass(cls): cls.backend = SwiftSystemBackend() cls.port = 9148 cls.server_address = "localhost" cls.fakerepo = "fakerepo" cls.th_server = DulwichServer(cls.backend, cls.port) cls.th_server.run() > cls.conf = swift.load_conf() dulwich/contrib/test_swift_smoke.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ path = None, file = None def load_conf(path=None, file=None): """Load configuration in global var CONF Args: path: The path to the configuration file file: If provided read instead the file like object """ conf = ConfigParser() if file: try: conf.read_file(file, path) except AttributeError: # read_file only exists in Python3 conf.readfp(file) return conf confpath = None if not path: try: confpath = os.environ["DULWICH_SWIFT_CFG"] except KeyError as exc: > raise Exception( "You need to specify a configuration file") from exc E Exception: You need to specify a configuration file dulwich/contrib/swift.py:164: Exception ========================================================================================= FAILURES ========================================================================================== ____________________________________________________________________________________ TestPack.test_copy _____________________________________________________________________________________ self = def test_copy(self): with self.get_pack(pack1_sha) as origpack: self.assertSucceeds(origpack.index.check) basename = os.path.join(self.tempdir, "Elch") write_pack(basename, origpack.pack_tuples()) with Pack(basename) as newpack: self.assertEqual(origpack, newpack) self.assertSucceeds(newpack.index.check) self.assertEqual(origpack.name(), newpack.name()) > self.assertEqual( origpack.index.get_pack_checksum(), newpack.index.get_pack_checksum(), ) E AssertionError: b'r\x19\x80\xe8f\xaf\x9a_\x93\xadgAD\xe1E\x9b\x8b\xa3\xe7\xb7' != b'j:\x9f\xee\xa6;\x82\xbcqo1?\x88\xc4\xed\x88\xad\xfe\x7f\x1a' dulwich/tests/test_pack.py:436: AssertionError ===================================================================================== warnings summary ====================================================================================== dulwich/tests/test_client.py:720 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.1/dulwich/tests/test_client.py:720: PytestCollectionWarning: cannot collect test class 'TestSSHVendor' because it has a __init__ constructor (from: dulwich/tests/test_client.py) class TestSSHVendor: dulwich/tests/test_pack.py:951 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.1/dulwich/tests/test_pack.py:951: PytestCollectionWarning: cannot collect test class 'TestPackIterator' because it has a __init__ constructor (from: dulwich/tests/test_pack.py) class TestPackIterator(DeltaChainIterator): dulwich/tests/test_server.py:78 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.1/dulwich/tests/test_server.py:78: PytestCollectionWarning: cannot collect test class 'TestProto' because it has a __init__ constructor (from: dulwich/tests/test_server.py) class TestProto: dulwich/tests/test_server.py:108 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.1/dulwich/tests/test_server.py:108: PytestCollectionWarning: cannot collect test class 'TestGenericPackHandler' because it has a __init__ constructor (from: dulwich/tests/test_server.py) class TestGenericPackHandler(PackHandler): dulwich/tests/test_server.py:347 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.1/dulwich/tests/test_server.py:347: PytestCollectionWarning: cannot collect test class 'TestUploadPackHandler' because it has a __init__ constructor (from: dulwich/tests/test_server.py) class TestUploadPackHandler(UploadPackHandler): dulwich/tests/test_server.py:600 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.1/dulwich/tests/test_server.py:600: PytestCollectionWarning: cannot collect test class 'TestProtocolGraphWalker' because it has a __init__ constructor (from: dulwich/tests/test_server.py) class TestProtocolGraphWalker: dulwich/tests/test_walk.py:54 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.1/dulwich/tests/test_walk.py:54: PytestCollectionWarning: cannot collect test class 'TestWalkEntry' because it has a __init__ constructor (from: dulwich/tests/test_walk.py) class TestWalkEntry: dulwich/tests/test_web.py:96 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.1/dulwich/tests/test_web.py:96: PytestCollectionWarning: cannot collect test class 'TestHTTPGitRequest' because it has a __init__ constructor (from: dulwich/tests/test_web.py) class TestHTTPGitRequest(HTTPGitRequest): dulwich/tests/test_repository.py::RepositoryRootTests::test_fetch_ignores_missing_refs /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.1/dulwich/repo.py:528: UserWarning: ref refs/heads/blah points at non-present sha 1234566789123456789123567891234657373833 warnings.warn( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ================================================================================== short test summary info ================================================================================== SKIPPED [1] dulwich/tests/test_client.py:546: Behaviour only happens on windows. SKIPPED [1] dulwich/tests/test_config.py:313: Windows specific config location. SKIPPED [1] dulwich/tests/test_config.py:329: Windows specific config location. SKIPPED [1] dulwich/tests/utils.py:204: extension not found SKIPPED [1] dulwich/tests/utils.py:204: extension not found SKIPPED [4] dulwich/tests/utils.py:204: extension not found SKIPPED [1] dulwich/tests/test_file.py:72: platform allows overwriting open files SKIPPED [1] dulwich/tests/utils.py:204: extension not found SKIPPED [2] dulwich/tests/utils.py:204: extension not found SKIPPED [1] dulwich/tests/test_patch.py:228: git_am_patch_split doesn't handle Mercurial patches properly yet SKIPPED [1] dulwich/tests/compat/test_client.py:227: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:269: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:235: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:243: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:301: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:310: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:355: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:289: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:257: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:340: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:104: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:124: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:210: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:108: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:192: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:430: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:151: git-daemon failed to start SKIPPED [1] dulwich/tests/compat/test_client.py:677: exporting archives not supported over http SKIPPED [1] dulwich/tests/compat/test_pack.py:143: skipping slow, large test SKIPPED [1] dulwich/tests/compat/test_web.py:203: Dumb web shallow cloning not supported. SKIPPED [1] dulwich/tests/compat/test_web.py:198: Dumb web shallow cloning not supported. SKIPPED [1] dulwich/tests/compat/test_web.py:188: Dumb web shallow cloning not supported. SKIPPED [1] dulwich/tests/compat/test_web.py:180: Dumb web pushing not supported. SKIPPED [1] dulwich/tests/compat/test_web.py:208: Dumb web pushing not supported. SKIPPED [1] dulwich/tests/compat/test_web.py:184: Dumb web pushing not supported. SKIPPED [1] dulwich/tests/compat/test_web.py:193: Dumb web shallow cloning not supported. XFAIL dulwich/tests/test_walk.py::WalkerTest::test_merge_of_old_branch - reason: ERROR dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_clone_bare - Exception: You need to specify a configuration file ERROR dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_clone_then_push_data - Exception: You need to specify a configuration file ERROR dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_init_bare - Exception: You need to specify a configuration file ERROR dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_push_annotated_tag - Exception: You need to specify a configuration file ERROR dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_push_branch - Exception: You need to specify a configuration file ERROR dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_push_commit - Exception: You need to specify a configuration file ERROR dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_push_data_branch - Exception: You need to specify a configuration file ERROR dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_push_multiple_branch - Exception: You need to specify a configuration file ERROR dulwich/contrib/test_swift_smoke.py::SwiftRepoSmokeTest::test_push_remove_branch - Exception: You need to specify a configuration file FAILED dulwich/tests/test_pack.py::TestPack::test_copy - AssertionError: b'r\x19\x80\xe8f\xaf\x9a_\x93\xadgAD\xe1E\x9b\x8b\xa3\xe7\xb7' != b'j:\x9f\xee\xa6;\x82\xbcqo1?\x88\xc4\xed\x88\xad\xfe\x7f\x1a' ================================================== 1 failed, 1437 passed, 40 skipped, 1 xfailed, 9 warnings, 9 errors in 98.70s (0:01:38) =================================================== ```

Here is list of installed modules in build env

```console Package Version ----------------------------- ----------------- alabaster 0.7.12 appdirs 1.4.4 asn1crypto 1.5.1 attrs 22.2.0 Babel 2.11.0 bcrypt 3.2.2 Brotli 1.0.9 build 0.9.0 certifi 2022.9.24 cffi 1.15.1 charset-normalizer 3.0.1 contourpy 1.0.6 convertdate 2.4.0 cryptography 38.0.4 cssselect 1.1.0 cycler 0.11.0 distro 1.8.0 docutils 0.19 exceptiongroup 1.0.0 extras 1.0.0 fastimport 0.9.14 fixtures 4.0.0 fonttools 4.38.0 gevent 21.12.0 geventhttpclient 2.0.2 gpg 1.18.0-unknown greenlet 1.1.3 hijri-converter 2.2.4 idna 3.4 imagesize 1.4.1 importlib-metadata 5.1.0 iniconfig 2.0.0 Jinja2 3.1.2 kiwisolver 1.4.4 libcomps 0.1.19 lxml 4.9.1 MarkupSafe 2.1.1 matplotlib 3.6.3 numpy 1.24.1 olefile 0.46 packaging 21.3 paramiko 2.12.0 pbr 5.9.0 pep517 0.13.0 Pillow 9.4.0 pip 22.3.1 pluggy 1.0.0 ply 3.11 pyasn1 0.4.8 pyasn1-modules 0.2.8 pycparser 2.21 Pygments 2.14.0 PyGObject 3.42.2 PyMeeus 0.5.11 PyNaCl 1.5.0 pyparsing 3.0.9 pytest 7.2.1 python-dateutil 2.8.2 pytz 2022.4 PyYAML 6.0 regex 2022.10.31 requests 2.28.1 rpm 4.17.0 scour 0.38.2 setuptools 65.6.3 six 1.16.0 snowballstemmer 2.2.0 Sphinx 6.1.3 sphinxcontrib-applehelp 1.0.2.dev20221204 sphinxcontrib-devhelp 1.0.2.dev20221204 sphinxcontrib-htmlhelp 2.0.0 sphinxcontrib-jsmath 1.0.1.dev20221204 sphinxcontrib-qthelp 1.0.3.dev20221204 sphinxcontrib-serializinghtml 1.1.5 testtools 2.5.0 tomli 2.0.1 tpm2-pkcs11-tools 1.33.7 tpm2-pytss 1.1.0 urllib3 1.26.12 wheel 0.38.4 zipp 3.11.0 zope.event 4.5.0 zope.interface 5.5.2 ```
kloczek commented 1 year ago

What should be passed in that $DULWICH_SWIFT_CFG env variable? 🤔

kloczek commented 6 months ago

I'v retested 0.21.7 and now pytest still fails. I found that all dulwich/contrib/test_swift_smoke.py units fails can be solved with patch:

--- a/dulwich/contrib/test_swift_smoke.py
+++ b/dulwich/contrib/test_swift_smoke.py
@@ -40,6 +40,7 @@

 import gevent
 from gevent import monkey
+import pytest

 monkey.patch_all()

@@ -68,6 +69,8 @@
         return swift.SwiftRepo(path, conf=swift.load_conf())

+@pytest.mark.skipif(os.getenv("DULWICH_SWIFT_CFG") == None,
+    reason="Missi Swift cluster configuration file in $DULWICH_SWIFT_CFG env variable.",)
 class SwiftRepoSmokeTest(unittest.TestCase):
     @classmethod
     def setUpClass(cls):

Please let me know if you want tis as PR.

Still with that patch two unit are failing and there are some warnings as well

Here is pytest output: ```console + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.21.7-4.fc37.x86_64/usr/lib64/python3.10/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.21.7-4.fc37.x86_64/usr/lib/python3.10/site-packages + /usr/bin/pytest -ra -m 'not network' ============================= test session starts ============================== platform linux -- Python 3.10.14, pytest-8.1.1, pluggy-1.4.0 rootdir: /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.7 configfile: pyproject.toml collected 1516 items dulwich/contrib/test_paramiko_vendor.py ... [ 0%] dulwich/contrib/test_release_robot.py .. [ 0%] dulwich/contrib/test_swift.py ......................................... [ 3%] dulwich/contrib/test_swift_smoke.py sssssssss [ 3%] dulwich/tests/compat/test_client.py ssssssssssssssssssssssssssssssssssss [ 6%] ssssssssssssssssssssssssssssssss [ 8%] dulwich/tests/compat/test_pack.py ssss [ 8%] dulwich/tests/compat/test_patch.py s [ 8%] dulwich/tests/compat/test_porcelain.py ss [ 8%] dulwich/tests/compat/test_repository.py ssssssssssssssssssssssss [ 10%] dulwich/tests/compat/test_server.py ssssssssssssssssssssssssssss [ 12%] dulwich/tests/compat/test_utils.py ..... [ 12%] dulwich/tests/compat/test_web.py sssssssssssssssssssssssssssssssssssssss [ 14%] sssssssssssssssss [ 16%] dulwich/tests/test_archive.py ...... [ 16%] dulwich/tests/test_blackbox.py ... [ 16%] dulwich/tests/test_bundle.py . [ 16%] dulwich/tests/test_client.py ....................s...................... [ 19%] ........................................................................ [ 24%] ........... [ 25%] dulwich/tests/test_config.py .........................................ss [ 27%] .................... [ 29%] dulwich/tests/test_credentials.py ... [ 29%] dulwich/tests/test_diff_tree.py .s.s.................................... [ 31%] ss.s.s.................... [ 33%] dulwich/tests/test_fastexport.py ............. [ 34%] dulwich/tests/test_file.py .s......... [ 35%] dulwich/tests/test_grafts.py .................... [ 36%] dulwich/tests/test_graph.py .......... [ 37%] dulwich/tests/test_greenthreads.py . [ 37%] dulwich/tests/test_hooks.py ... [ 37%] dulwich/tests/test_ignore.py ............... [ 38%] dulwich/tests/test_index.py ...................................... [ 41%] dulwich/tests/test_lfs.py .. [ 41%] dulwich/tests/test_line_ending.py .................. [ 42%] dulwich/tests/test_lru_cache.py ............................... [ 44%] dulwich/tests/test_mailmap.py .. [ 44%] dulwich/tests/test_missing_obj_finder.py ................ [ 45%] dulwich/tests/test_object_store.py ..................................... [ 48%] ...................................................... [ 51%] dulwich/tests/test_objects.py .......................................... [ 54%] .......s..s.s...................................... [ 57%] dulwich/tests/test_objectspec.py ................................ [ 59%] dulwich/tests/test_pack.py .............................F............... [ 62%] ................................................ [ 65%] dulwich/tests/test_patch.py ..s.................. [ 67%] dulwich/tests/test_porcelain.py ........................................ [ 69%] ......................................................................F. [ 74%] ................................................... [ 78%] dulwich/tests/test_protocol.py ......................................... [ 80%] . [ 80%] dulwich/tests/test_reflog.py ..... [ 81%] dulwich/tests/test_refs.py ............................................. [ 84%] ...................... [ 85%] dulwich/tests/test_repository.py ....................................... [ 88%] ..................................................... [ 91%] dulwich/tests/test_server.py ........................................... [ 94%] .......... [ 95%] dulwich/tests/test_stash.py . [ 95%] dulwich/tests/test_utils.py ...... [ 95%] dulwich/tests/test_walk.py ...........x...................... [ 97%] dulwich/tests/test_web.py ................................ [100%] =================================== FAILURES =================================== ______________________________ TestPack.test_copy ______________________________ self = def test_copy(self): with self.get_pack(pack1_sha) as origpack: self.assertSucceeds(origpack.index.check) basename = os.path.join(self.tempdir, "Elch") write_pack(basename, origpack.pack_tuples()) with Pack(basename) as newpack: self.assertEqual(origpack, newpack) self.assertSucceeds(newpack.index.check) self.assertEqual(origpack.name(), newpack.name()) > self.assertEqual( origpack.index.get_pack_checksum(), newpack.index.get_pack_checksum(), ) E AssertionError: b'r\x19\x80\xe8f\xaf\x9a_\x93\xadgAD\xe1E\x9b\x8b\xa3\xe7\xb7' != b'j:\x9f\xee\xa6;\x82\xbcqo1?\x88\xc4\xed\x88\xad\xfe\x7f\x1a' dulwich/tests/test_pack.py:436: AssertionError ______________________ ReceivePackTests.test_receive_pack ______________________ self = def test_receive_pack(self): filename = "foo" fullpath = os.path.join(self.repo.path, filename) with open(fullpath, "w") as f: f.write("stuff") porcelain.add(repo=self.repo.path, paths=fullpath) self.repo.do_commit( message=b"test status", author=b"author ", committer=b"committer ", author_timestamp=1402354300, commit_timestamp=1402354300, author_timezone=0, commit_timezone=0, ) outf = BytesIO() exitcode = porcelain.receive_pack(self.repo.path, BytesIO(b"0000"), outf) outlines = outf.getvalue().splitlines() > self.assertEqual( [ b"0091319b56ce3aee2d489f759736a79cc552c9bb86d9 HEAD\x00 report-status " b"delete-refs quiet ofs-delta side-band-64k " b"no-done symref=HEAD:refs/heads/master", b"003f319b56ce3aee2d489f759736a79cc552c9bb86d9 refs/heads/master", b"0000", ], outlines, ) E AssertionError: Lists differ: [b'0091319b56ce3aee2d489f759736a79cc552c9bb86d[177 chars]000'] != [b'0089319b56ce3aee2d489f759736a79cc552c9bb86d[169 chars]000'] E E First differing element 0: E b'0091319b56ce3aee2d489f759736a79cc552c9bb86d[100 chars]ster' E b'0089319b56ce3aee2d489f759736a79cc552c9bb86d[92 chars]ster' E E - [b'0091319b56ce3aee2d489f759736a79cc552c9bb86d9 HEAD\x00 report-status delete-' E ? - E E + [b'0089319b56ce3aee2d489f759736a79cc552c9bb86d9 HEAD\x00 report-status delete-' E ? + E E - b'refs quiet ofs-delta side-band-64k no-done symref=HEAD:refs/heads/master', E ? -------- E E + b'refs quiet ofs-delta side-band-64k symref=HEAD:refs/heads/master', E b'003f319b56ce3aee2d489f759736a79cc552c9bb86d9 refs/heads/master', E b'0000'] dulwich/tests/test_porcelain.py:2862: AssertionError ================================== XFAILURES =================================== _____________________ WalkerTest.test_merge_of_old_branch ______________________ self = testcase = rawexcinfo = (, AssertionError("Lists differ: [] !...? ^^\n"), ) reason = '' def addExpectedFailure( self, testcase: "unittest.TestCase", rawexcinfo: "_SysExcInfoType", reason: str = "", ) -> None: try: > xfail(str(reason)) E _pytest.outcomes.XFailed /usr/lib/python3.10/site-packages/_pytest/unittest.py:265: XFailed =============================== warnings summary =============================== dulwich/tests/test_client.py:699 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.7/dulwich/tests/test_client.py:699: PytestCollectionWarning: cannot collect test class 'TestSSHVendor' because it has a __init__ constructor (from: dulwich/tests/test_client.py) class TestSSHVendor: dulwich/tests/test_pack.py:974 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.7/dulwich/tests/test_pack.py:974: PytestCollectionWarning: cannot collect test class 'TestPackIterator' because it has a __init__ constructor (from: dulwich/tests/test_pack.py) class TestPackIterator(DeltaChainIterator): dulwich/tests/test_server.py:68 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.7/dulwich/tests/test_server.py:68: PytestCollectionWarning: cannot collect test class 'TestProto' because it has a __init__ constructor (from: dulwich/tests/test_server.py) class TestProto: dulwich/tests/test_server.py:98 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.7/dulwich/tests/test_server.py:98: PytestCollectionWarning: cannot collect test class 'TestGenericPackHandler' because it has a __init__ constructor (from: dulwich/tests/test_server.py) class TestGenericPackHandler(PackHandler): dulwich/tests/test_server.py:335 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.7/dulwich/tests/test_server.py:335: PytestCollectionWarning: cannot collect test class 'TestUploadPackHandler' because it has a __init__ constructor (from: dulwich/tests/test_server.py) class TestUploadPackHandler(UploadPackHandler): dulwich/tests/test_server.py:588 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.7/dulwich/tests/test_server.py:588: PytestCollectionWarning: cannot collect test class 'TestProtocolGraphWalker' because it has a __init__ constructor (from: dulwich/tests/test_server.py) class TestProtocolGraphWalker: dulwich/tests/test_walk.py:36 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.7/dulwich/tests/test_walk.py:36: PytestCollectionWarning: cannot collect test class 'TestWalkEntry' because it has a __init__ constructor (from: dulwich/tests/test_walk.py) class TestWalkEntry: dulwich/tests/test_web.py:82 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.7/dulwich/tests/test_web.py:82: PytestCollectionWarning: cannot collect test class 'TestHTTPGitRequest' because it has a __init__ constructor (from: dulwich/tests/test_web.py) class TestHTTPGitRequest(HTTPGitRequest): dulwich/tests/test_client.py: 4 warnings dulwich/tests/test_porcelain.py: 72 warnings dulwich/tests/test_repository.py: 30 warnings /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.7/dulwich/repo.py:888: DeprecationWarning: use get_user_identity() rather than Repo._get_user_identity warnings.warn( dulwich/tests/test_repository.py::RepositoryRootTests::test_fetch_ignores_missing_refs /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.21.7/dulwich/refs.py:1280: UserWarning: ref refs/heads/blah points at non-present sha 1234566789123456789123567891234657373833 warnings.warn( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ SKIPPED [1] dulwich/contrib/test_swift_smoke.py:117: Missing Swift cluster configuration file in $DULWICH_SWIFT_CFG env variable. SKIPPED [1] dulwich/contrib/test_swift_smoke.py:223: Missing Swift cluster configuration file in $DULWICH_SWIFT_CFG env variable. SKIPPED [1] dulwich/contrib/test_swift_smoke.py:108: Missing Swift cluster configuration file in $DULWICH_SWIFT_CFG env variable. SKIPPED [1] dulwich/contrib/test_swift_smoke.py:274: Missing Swift cluster configuration file in $DULWICH_SWIFT_CFG env variable. SKIPPED [1] dulwich/contrib/test_swift_smoke.py:142: Missing Swift cluster configuration file in $DULWICH_SWIFT_CFG env variable. SKIPPED [1] dulwich/contrib/test_swift_smoke.py:125: Missing Swift cluster configuration file in $DULWICH_SWIFT_CFG env variable. SKIPPED [1] dulwich/contrib/test_swift_smoke.py:189: Missing Swift cluster configuration file in $DULWICH_SWIFT_CFG env variable. SKIPPED [1] dulwich/contrib/test_swift_smoke.py:159: Missing Swift cluster configuration file in $DULWICH_SWIFT_CFG env variable. SKIPPED [1] dulwich/contrib/test_swift_smoke.py:257: Missing Swift cluster configuration file in $DULWICH_SWIFT_CFG env variable. SKIPPED [3] dulwich/tests/compat/test_client.py:216: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:258: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:224: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:232: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:290: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:299: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:344: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:278: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:246: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:329: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:93: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:113: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:199: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:97: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:181: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:417: Test requires git >= (1, 5, 0), but c git not found SKIPPED [3] dulwich/tests/compat/test_client.py:140: Test requires git >= (1, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/test_client.py:312: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:662: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:258: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:224: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:232: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:290: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:299: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:344: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:278: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:246: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:329: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:93: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:113: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:199: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:97: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:181: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:312: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_client.py:140: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/test_pack.py:61: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_pack.py:134: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_pack.py:95: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_pack.py:70: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_patch.py:42: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_porcelain.py:43: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_porcelain.py:67: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_repository.py:115: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_repository.py:58: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_repository.py:62: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_repository.py:101: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_repository.py:109: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_repository.py:68: Test requires git >= (1, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/test_repository.py:115: Test requires git >= (2, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_repository.py:159: Test requires git >= (2, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/test_repository.py:185: Test requires git >= (2, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/test_repository.py:170: Test requires git >= (2, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/test_repository.py:62: Test requires git >= (2, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_repository.py:154: Test requires git >= (2, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/test_repository.py:101: Test requires git >= (2, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/test_repository.py:109: Test requires git >= (2, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/test_repository.py:148: Test requires git >= (2, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_repository.py:241: Test requires git >= (2, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_repository.py:236: Test requires git >= (2, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:148: Test requires git >= (1, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:121: Test requires git >= (1, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:308: Test requires git >= (1, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:296: Test requires git >= (1, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:134: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:262: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:230: Test requires git >= (1, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:161: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:167: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:88: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:327: Test requires git >= (1, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:99: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:111: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:193: Test requires git >= (1, 5, 0), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:148: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:121: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:308: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:296: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:134: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:262: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:230: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:161: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:167: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:88: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:327: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:99: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:111: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [2] dulwich/tests/compat/server_utils.py:193: Test requires git >= (1, 7, 0, 2), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:148: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:121: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:308: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:296: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:134: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:262: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:230: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:161: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:167: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:88: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:327: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:99: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:111: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:193: Test requires git >= (1, 6, 6), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:148: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:121: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:308: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:296: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:134: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:262: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:230: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:161: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:167: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:88: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:327: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:99: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:111: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/server_utils.py:193: Test requires git >= (1, 7, 4), but c git not found SKIPPED [1] dulwich/tests/compat/test_web.py:191: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_web.py:186: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_web.py:176: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_web.py:168: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_web.py:196: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_web.py:172: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/compat/test_web.py:181: Test requires git >= (1, 5, 0), but c git not found SKIPPED [1] dulwich/tests/test_client.py:525: Behaviour only happens on windows. SKIPPED [1] dulwich/tests/test_config.py:313: Windows specific config location. SKIPPED [1] dulwich/tests/test_config.py:329: Windows specific config location. SKIPPED [1] dulwich/tests/utils.py:193: extension not found SKIPPED [1] dulwich/tests/utils.py:193: extension not found SKIPPED [4] dulwich/tests/utils.py:193: extension not found SKIPPED [1] dulwich/tests/test_file.py:70: platform allows overwriting open files SKIPPED [1] dulwich/tests/utils.py:193: extension not found SKIPPED [2] dulwich/tests/utils.py:193: extension not found SKIPPED [1] dulwich/tests/test_patch.py:219: git_am_patch_split doesn't handle Mercurial patches properly yet XFAIL dulwich/tests/test_walk.py::WalkerTest::test_merge_of_old_branch - reason: FAILED dulwich/tests/test_pack.py::TestPack::test_copy - AssertionError: b'r\... FAILED dulwich/tests/test_porcelain.py::ReceivePackTests::test_receive_pack ==== 2 failed, 1307 passed, 206 skipped, 1 xfailed, 115 warnings in 19.08s ===== ```
jelmer commented 6 months ago

Thanks but that adds a dependency on pytest, even for regular builds that don't use it.