Source: lxml, python-mechanicalsoup Control: found -1 lxml/4.3.1-1 Control: found -1 python-mechanicalsoup/0.10.0-2 Severity: important X-Debbugs-CC: debian-ci@lists.debian.org User: debian-ci@lists.debian.org Usertags: breaks needs-update Dear maintainers, With a recent upload of lxml the autopkgtest of python-mechanicalsoup fails in testing when that autopkgtest is run with the binary packages of lxml from unstable. It passes when run with only packages from testing. In tabular form: pass fail lxml from testing 4.3.1-1 python-mechanicalsoup from testing 0.10.0-2 versioned deps [0] from testing from unstable all others from testing from testing I copied some of the output at the bottom of this report. I can't judge the first error, the second error smells like the reference data needs an update in python-mechanicalsoup. Currently this regression is blocking the migration of lxml to testing [1]. Due to the nature of this issue, I filed this bug report against both packages. Can you please investigate the situation and reassign the bug to the right package? If needed, please change the bug's severity. More information about this bug and the reason for filing it can be found on https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation Paul [0] You can see what packages were added from the second line of the log file quoted below. The migration software adds source package from unstable to the list if they are needed to install packages from lxml/4.3.1-1. I.e. due to versioned dependencies or breaks/conflicts. [1] https://qa.debian.org/excuses.php?package=lxml https://ci.debian.net/data/autopkgtest/testing/amd64/p/python-mechanicalsoup/1969240/log.gz =================================== FAILURES =================================== ______________________________ test_submit_online ______________________________ httpbin = <utils.HttpbinRemote object at 0x7f205a9f5780> def test_submit_online(httpbin): """Complete and submit the pizza form at http://httpbin.org/forms/post """ browser = mechanicalsoup.StatefulBrowser() browser.set_user_agent('testing MechanicalSoup') browser.open(httpbin.url) for link in browser.links(): if link["href"] == "/": browser.follow_link(link) break browser.follow_link("forms/post") assert browser.get_url() == httpbin + "/forms/post" browser.select_form("form") browser["custname"] = "Customer Name Here" browser["size"] = "medium" browser["topping"] = ("cheese", "bacon") # Change our mind to make sure old boxes are unticked browser["topping"] = ("cheese", "onion") browser["comments"] = "Some comment here" browser.get_current_form().set("nosuchfield", "new value", True) response = browser.submit_selected() json = response.json() data = json["form"] assert data["custname"] == "Customer Name Here" assert data["custtel"] == "" # web browser submits "" for input left blank assert data["size"] == "medium" assert set(data["topping"]) == set(("cheese", "onion")) assert data["comments"] == "Some comment here" assert data["nosuchfield"] == "new value" assert json["headers"]["User-Agent"] == 'testing MechanicalSoup' # Ensure we haven't blown away any regular headers expected_headers = ('Content-Length', 'Host', 'Content-Type', 'Connection', 'Accept', 'User-Agent', 'Accept-Encoding') > assert set(expected_headers).issubset(json["headers"].keys()) E AssertionError: assert False E + where False = <built-in method issubset of set object at 0x7f205a9b7ba8>(dict_keys(['Accept', 'Accept-Encoding', 'Content-Length', 'Content-Type', 'Host', 'Referer', 'User-Agent'])) E + where <built-in method issubset of set object at 0x7f205a9b7ba8> = {'Accept', 'Accept-Encoding', 'Connection', 'Content-Length', 'Content-Type', 'Host', ...}.issubset E + where {'Accept', 'Accept-Encoding', 'Connection', 'Content-Length', 'Content-Type', 'Host', ...} = set(('Content-Length', 'Host', 'Content-Type', 'Connection', 'Accept', 'User-Agent', ...)) E + and dict_keys(['Accept', 'Accept-Encoding', 'Content-Length', 'Content-Type', 'Host', 'Referer', 'User-Agent']) = <built-in method keys of dict object at 0x7f205a85ec60>() E + where <built-in method keys of dict object at 0x7f205a85ec60> = {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Content-Length': '147', 'Content-Type': 'application/x-www-form-urlencoded', ...}.keys tests/test_stateful_browser.py:60: AssertionError ______________________________ test_open_relative ______________________________ httpbin = <utils.HttpbinRemote object at 0x7f205a931a90> def test_open_relative(httpbin): # Open an arbitrary httpbin page to set the current URL browser = mechanicalsoup.StatefulBrowser() browser.open(httpbin + "/html") # Open a relative page and make sure remote host and browser agree on URL resp = browser.open_relative("/get") > assert resp.json()['url'] == httpbin + "/get" E AssertionError: assert 'https://httpbin.org/get' == 'http://httpbin.org/get' E - https://httpbin.org/get E ? - E + http://httpbin.org/get tests/test_stateful_browser.py:90: AssertionError
Attachment:
signature.asc
Description: OpenPGP digital signature