Bug#1143225: streamlink: autopkgtest needs update for new version of requests: params={}

Paul Gevers <[email protected]>
Newsgroups gmane.linux.debian.devel.bugs.rc
Message-ID <9fff9a81-f80d-4c3c-b112-ae892058902f__24391.7315428675$1785564561$gmane$org@debian.org>
Source: streamlink
Version: 8.4.0-2
Severity: serious
X-Debbugs-CC: [email protected]
Tags: sid forky
User: [email protected]
Usertags: needs-update
Control: affects -1 src:requests

Dear maintainer(s),

With a recent upload of requests the autopkgtest of streamlink fails in 
testing when that autopkgtest is run with the binary packages of 
requests from unstable. It passes when run with only packages from 
testing. In tabular form:

                        pass            fail
requests               from testing    2.34.2-1
streamlink             from testing    8.4.0-2
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of requests to 
testing [1]. Of course, requests shouldn't just break your autopkgtest 
(or even worse, your package), but it seems to me that the change in 
requests was intended and your package needs to update to the new situation.

If this is a real problem in your package (and not only in your 
autopkgtest), the right binary package(s) from requests should really 
add a versioned Breaks on the unfixed version of (one of your) 
package(s). Note: the Breaks is nice even if the issue is only in the 
autopkgtest as it helps the migration software to figure out the right 
versions to combine in the tests.

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=requests

https://ci.debian.net/data/autopkgtest/testing/amd64/s/streamlink/73952325/log.gz

=================================== FAILURES 
===================================
  89s ______________________ TestHTTPSession.test_read_timeout 
_______________________
  89s  89s self = <tests.session.test_http.TestHTTPSession object at 
0x7fd1d18287d0>
  89s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 
0x7fd1d184d080>
  89s  89s     def test_read_timeout(self, monkeypatch: pytest.MonkeyPatch):
  89s         mock_sleep = Mock()
  89s         mock_request = Mock(side_effect=requests.Timeout)
  89s         monkeypatch.setattr("streamlink.session.http.time.sleep", 
mock_sleep)
  89s 
monkeypatch.setattr("streamlink.session.http.Session.request", mock_request)
  89s      89s         session = HTTPSession()
  89s         with pytest.raises(PluginError, match=r"^Unable to open 
URL: http://localhost/"):
  89s             session.get("http://localhost/", timeout=123, 
retries=3, retry_backoff=2, retry_max_backoff=5)
  89s      89s >       assert mock_request.call_args_list == [
  89s             call("GET", "http://localhost/", headers={}, 
params={}, timeout=123, proxies={}, allow_redirects=True),
  89s             call("GET", "http://localhost/", headers={}, 
params={}, timeout=123, proxies={}, allow_redirects=True),
  89s             call("GET", "http://localhost/", headers={}, 
params={}, timeout=123, proxies={}, allow_redirects=True),
  89s             call("GET", "http://localhost/", headers={}, 
params={}, timeout=123, proxies={}, allow_redirects=True),
  89s         ]
  89s E       AssertionError: assert [call('GET', ...directs=True)] == 
[call('GET', ...directs=True)]
  89s E          89s E         At index 0 diff: call('GET', 
'http://localhost/', headers={}, params=None, timeout=123, proxies={}, 
allow_redirects=True) != call('GET', 'http://localhost/', headers={}, 
params={}, timeout=123, proxies={}, allow_redirects=True)
  89s E         Use -v to get more diff
  89s  89s tests/session/test_http.py:167: AssertionError
  89s =============================== warnings summary 
===============================
  89s tests/session/test_http.py: 1 warning
  89s tests/test_validate.py: 8 warnings
  89s tests/test_plugins.py: 662 warnings
  89s tests/plugins/test_rtpplay.py: 1 warning
  89s tests/cli/console/test_progress.py: 1 warning
  89s   /usr/lib/python3/dist-packages/_pytest/fixtures.py:1313: 
PytestRemovedIn10Warning: Class-scoped fixture defined as instance 
method is deprecated.
  89s   Instance attributes set in this fixture will NOT be visible to 
test methods,
  89s   as each test gets a new instance while the fixture runs only 
once per class.
  89s   Use @classmethod decorator and set attributes on cls instead.
  89s   See 
https://docs.pytest.org/en/stable/deprecations.html#class-scoped-fixture-as-instance-method
  89s     fixturefunc = resolve_fixture_function(fixturedef, request)
  89s  89s -- Docs: 
https://docs.pytest.org/en/stable/how-to/capture-warnings.html
  89s =========================== short test summary info 
============================
  89s FAILED 
tests/session/test_http.py::TestHTTPSession::test_read_timeout - Asser...
  89s ========== 1 failed, 7104 passed, 36 skipped, 673 warnings in 
15.14s ===========
  91s autopkgtest [14:23:03]: test command1
OpenPGP_signature.asc (application/pgp-signature, 585 B)
-----BEGIN PGP SIGNATURE-----

wsC7BAABCABvBYJqbYd+CRCcXJnrBb11CkcUAAAAAAAeACBzYWx0QG5vdGF0aW9u
cy5zZXF1b2lhLXBncC5vcmeiRITnlq6Nx5PxBtXRn1sjYz3j5E9b8dQS1MIxN0TN
BRYhBFi2bUhza+k7BS3mcpxcmesFvXUKAADasQgAvKAzokrYBPeBWGwTC5pywHg/
Vx4kvFdYzieU0fskVJ1/FfXipYLBpF2oeGMB5loZE8pgP89Bod91Ktnsf3V/BvEV
pvUgBCLumcwFApAHIXVOB+75j4+aMxx8vbH+F7SyawLx3pwwbjcRtvnXXWAAR7lM
YFFAtGR0196GFWDHHnh+kc/WyPBBUJsiULWZod/faonRAkPkP9NMkcNLa5h4GnPJ
R65+M6RQlfWd5lHgsNf0BfBVni+WVG17JeXwX6Y8sfwJb2goMlSdpxWJbYOEm2MS
4/OL2pigiVXOxTk5MKa2hei6UDzpKt9xH/XwUcGsIgnsPVClVoKAu3seYYTVPg==
=9Zch
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.