jelmer / dulwich

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

support for running testsuite with pytest #967

Closed kloczek closed 2 years ago

kloczek commented 2 years ago

I've been flagging that in https://github.com/jelmer/dulwich/issues/874 but ticket is alredy closed 😞

I'm trying to package your module as an rpm package. So I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

Here is pytest output:

```console + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.38-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.38-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra =========================================================================== 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.38 collected 1446 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........................................................................................ [ 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......... [ 22%] dulwich/tests/test_grafts.py .................... [ 23%] dulwich/tests/test_graph.py ......... [ 24%] 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 .........................s................................s........ [ 72%] dulwich/tests/test_repository.py ..................................................................................... [ 78%] dulwich/tests/test_server.py ..................................................... [ 81%] dulwich/tests/test_stash.py . [ 82%] 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%] ================================================================================== 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.38-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u...STEM': '1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.38-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u..., '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.38-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u...YSTEM': '1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.38-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u...1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.38-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u...TEM': '1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.38-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u...TEM': '1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.38-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u... '1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.38-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u..., '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.38-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u...1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:439: AssertionError ============================================================================= warnings summary ============================================================================= dulwich/tests/test_client.py:723 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.20.38/dulwich/tests/test_client.py:723: 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.38/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.38/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.38/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.38/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.38/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.38/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.38/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.38/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:549: 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 [2] dulwich/tests/test_refs.py:358: watch sometimes hangs 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: 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?\... ========================================= 1 failed, 1393 passed, 42 skipped, 1 xfailed, 9 warnings, 9 errors in 106.95s (0:01:46) ========================================== ```

I'm assuming that for those units which are ending with error something still is missing in my testing procedure. If may I ask for some hints what excly is missing .. 😄

kloczek commented 2 years ago

And yet another minor issue. Sphinx shows one warning

+ /usr/bin/sphinx-build -n -T -b man docs build/sphinx/man
Running Sphinx v4.5.0
making output directory... done
building [mo]: targets for 0 po files that are out of date
building [man]: all manpages
updating environment: [new config] 14 added, 0 changed, 0 removed
reading sources... [100%] tutorial/tag
/home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.20.38/docs/api/index.txt:6: WARNING: toctree contains reference to nonexisting document 'api/modules'
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
writing... python-dulwich.3 { performance protocol tutorial/index tutorial/introduction tutorial/encoding tutorial/file-format tutorial/repo tutorial/object-store tutorial/remote tutorial/tag tutorial/porcelain tutorial/conclusion api/index } done
build succeeded, 1 warning.
jelmer commented 2 years ago

As mentioned in the other ticket, dulwich doesn't use pytest (please run "make check" instead, which will ) though I'm happy to consider pull requests to make dulwich work with pytest, just like any other third party test runners.

As discussed in the other ticket, please run "make -C docs html" to build the sphinx documentation rather than invoking sphinx directly.

kloczek commented 2 years ago

pytest is able to handle unittest test suite however because it is not extended any more pytest shows now some warnings. Using pytest instead ubittest has other advantages.

jelmer commented 2 years ago

I don't want to revisit the discussion we had earlier; I'm using other tools than pytest, which are working for me. If you're interested in contributing to Dulwich and would prefer to run a different test runner, I'd consider PRs that fix that test runner.

If you're merely packaging dulwich I'd encourage you to just invoke "make check" - that's the most likely to actually work, because that's what we as upstream use.

kloczek commented 2 years ago

Tested new 0.20.42 it is now clean.

To be honest still I have some issue with dulwich/contrib/test_swift_smoke.py which I'm adding to --ignore list because all those units are complaining about configuration file. Should I let this on --ignore list or ca I alter somehow testing procedure to pass that missing configuration? 🤔

```console /home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.42-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra =========================================================================== 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.42 collected 1444 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........................................................................................ [ 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......... [ 22%] dulwich/tests/test_grafts.py .................... [ 23%] dulwich/tests/test_graph.py ......... [ 24%] 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 ................ [ 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 ............................................................................................ [ 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%] ================================================================================== 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.42-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u...STEM': '1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.42-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u..., '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.42-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u...YSTEM': '1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.42-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u...1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.42-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u...TEM': '1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.42-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u...TEM': '1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.42-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u... '1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.42-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u..., '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: 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:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = environ({'PATH': '/home/tkloczko/rpmbuild/BUILDROOT/python-dulwich-0.20.42-2.fc35.x86_64/usr/bin:/usr/bin:/usr/sbin:/u...1', '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 During handling of the above exception, another exception occurred: 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: > raise Exception("You need to specify a configuration file") E Exception: You need to specify a configuration file dulwich/contrib/swift.py:174: Exception ============================================================================= warnings summary ============================================================================= dulwich/tests/test_client.py:723 /home/tkloczko/rpmbuild/BUILD/dulwich-dulwich-0.20.42/dulwich/tests/test_client.py:723: 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.42/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.42/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.42/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.42/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.42/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.42/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.42/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.42/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:549: 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: 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 =============================================== 1394 passed, 40 skipped, 1 xfailed, 9 warnings, 9 errors in 97.94s (0:01:37) =============================================== ```
jelmer commented 2 years ago

You can set the environment variables to run those tests - but you'll need a swift setup to do so I believe.

kloczek commented 2 years ago

You can set the environment variables to run those tests - but you'll need a swift setup to do so I believe.

jelmer commented 2 years ago

unittest is still a part of standard python, and pytest is not. I'm pretty sure it's still maintained, even if it's not getting new features.

None of the projects I work on use pytest, and I'm pretty sure the majority of projects I contribute to don't use pytest.

The tests in Dulwich are compliant with unittest and run fine with it.

I'm tired of rehashing this discussion over and over in various projects - these issues are just a distraction from useful work on Dulwich - they're not actually telling us anything new. So I'm going to close this issue.

kloczek commented 2 years ago

Indeed it is however accordig to stats from my +950 packages python modules it is used in less than 0.1% cases. And again: correctly written unittest test suite can be handled by latest pytest. Pytest even poits on what is wrong ..