Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Factory:Rings:1-MinimalX
python-apache-libcloud
support-pytest-8.2.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File support-pytest-8.2.patch of Package python-apache-libcloud
From 44e923662205f2a2413fadb23715dc2934bff625 Mon Sep 17 00:00:00 2001 From: Steve Kowalik <steven@wedontsleep.org> Date: Tue, 3 Sep 2024 14:30:51 +1000 Subject: [PATCH] Only call super() during MockHttp if required With pytest 8.2 and above, any class that contains classes is collected, which means they are instantiated, which MockHttp's superclasses do not accept, since they require keyword arguments. To work around this, only call the superclass's __init__ method if we are passed kwargs. --- libcloud/test/__init__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libcloud/test/__init__.py b/libcloud/test/__init__.py index d45c82c84d..1cc595f685 100644 --- a/libcloud/test/__init__.py +++ b/libcloud/test/__init__.py @@ -87,7 +87,7 @@ def read(self, chunk_size=None): return StringIO.read(self) -class MockHttp(LibcloudConnection): +class MockHttp(LibcloudConnection, unittest.TestCase): """ A mock HTTP client/server suitable for testing purposes. This replaces `HTTPConnection` by implementing its API and returning a mock response. @@ -108,7 +108,11 @@ def __init__(self, *args, **kwargs): # within a response if isinstance(self, unittest.TestCase): unittest.TestCase.__init__(self, "__init__") - super().__init__(*args, **kwargs) + # When this class is collected, it is instantiated with no arguments, + # which breaks any superclasses that expect arguments, so only + # do so if we were passed any keyword arguments. + if kwargs: + super().__init__(*args, **kwargs) def _get_request(self, method, url, body=None, headers=None): # Find a method we can use for this request
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor