From patchwork Sun Apr 3 18:36:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Felix Gruber X-Patchwork-Id: 38296 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id D872427BBEA; Sun, 3 Apr 2022 19:38:14 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4734727BBE9 for ; Sun, 3 Apr 2022 19:38:14 +0100 (BST) Received: from localhost ([::1]:41988 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nb577-0004ah-D5 for patchwork@mira.cbaines.net; Sun, 03 Apr 2022 14:38:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38570) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nb56w-0004aB-3j for guix-patches@gnu.org; Sun, 03 Apr 2022 14:38:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:55608) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nb56v-0005kP-Qq for guix-patches@gnu.org; Sun, 03 Apr 2022 14:38:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nb56v-0002BX-OQ for guix-patches@gnu.org; Sun, 03 Apr 2022 14:38:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#54697] [PATCH] gnu: python-w3lib: Fix build. Resent-From: Felix Gruber Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 03 Apr 2022 18:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 54697 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 54697@debbugs.gnu.org Cc: Felix Gruber X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16490110308321 (code B ref -1); Sun, 03 Apr 2022 18:38:01 +0000 Received: (at submit) by debbugs.gnu.org; 3 Apr 2022 18:37:10 +0000 Received: from localhost ([127.0.0.1]:49505 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nb55z-00029y-22 for submit@debbugs.gnu.org; Sun, 03 Apr 2022 14:37:10 -0400 Received: from lists.gnu.org ([209.51.188.17]:57650) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nb55x-00029c-6n for submit@debbugs.gnu.org; Sun, 03 Apr 2022 14:37:01 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38464) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nb55w-0004T9-WC for guix-patches@gnu.org; Sun, 03 Apr 2022 14:37:01 -0400 Received: from mout01.posteo.de ([185.67.36.65]:38999) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nb55p-0005gl-Hg for guix-patches@gnu.org; Sun, 03 Apr 2022 14:36:56 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 96854240026 for ; Sun, 3 Apr 2022 20:36:50 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1649011010; bh=85A6AlHzhRYA1DNyZyYPe36WCiFiNMS9PooSddFWd+U=; h=From:To:Cc:Subject:Date:From; b=VpZzDYhlmjZW6EJVZh76NqvMK8cN7sPutTghomNOdfe73t2r76BgUYsy/gXPCK3Ib XCgVJV4qZsyMlyE8e50BYqHi1YdhGAwGxvxxWhDOJvYYlxWd6k7ne9aiz+nqgA0rwk O/m2nvfgW47tnyWjX7hPI0PLk202s09rMSHP9QEDPBSKGgM7IprwbqCqLPYtt8Z4no bILQ3SwyJBnC+QAuW1yQwXPIDznNsz7nAeFoif9/Ps5nvkyZjsopwtoGnEVXA93og6 svUiaSaA/s/MQm4TRtGJjZ3JgXw+FS6UDt6rm86hOEO0KNF0k4vW4AL2TQRQX+VWRK jW3hqA6otEXQA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4KWjLB0Lwmz6tmG; Sun, 3 Apr 2022 20:36:49 +0200 (CEST) From: Felix Gruber Date: Sun, 3 Apr 2022 18:36:39 +0000 Message-Id: <20220403183639.55110-1-felgru@posteo.net> MIME-Version: 1.0 Received-SPF: pass client-ip=185.67.36.65; envelope-from=felgru@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/python-web.scm (python-w3lib): Fix build. [source]: Add python-w3lib-fix-test-failure.patch. [arguments]: Use pytest in the 'check phase. [native-inputs]: Add python-pytest. * gnu/packages/patches/python-w3lib-fix-test-failure.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + .../python-w3lib-fix-test-failure.patch | 60 +++++++++++++++++++ gnu/packages/python-web.scm | 11 +++- 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/python-w3lib-fix-test-failure.patch diff --git a/gnu/local.mk b/gnu/local.mk index aac7362475..6ac1ceb147 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1592,6 +1592,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-chai-drop-python2.patch \ %D%/packages/patches/python-random2-getrandbits-test.patch \ %D%/packages/patches/python-poppler-qt5-fix-build.patch \ + %D%/packages/patches/python-w3lib-fix-test-failure.patch \ %D%/packages/patches/sdcc-disable-non-free-code.patch \ %D%/packages/patches/sdl-pango-api_additions.patch \ %D%/packages/patches/sdl-pango-blit_overflow.patch \ diff --git a/gnu/packages/patches/python-w3lib-fix-test-failure.patch b/gnu/packages/patches/python-w3lib-fix-test-failure.patch new file mode 100644 index 0000000000..f38fc749df --- /dev/null +++ b/gnu/packages/patches/python-w3lib-fix-test-failure.patch @@ -0,0 +1,60 @@ +From fae6cc40e112cd13697cb0e8d79976f32c72491d Mon Sep 17 00:00:00 2001 +From: Eugenio Lacuesta +Date: Wed, 10 Mar 2021 12:31:05 -0300 +Subject: [PATCH] [CI] Mark single add_or_replace_parameter test as xfail + +--- +This patch is based on upstream commit +fae6cc40e112cd13697cb0e8d79976f32c72491d which is part of +https://github.com/scrapy/w3lib/pull/166. + + .gitignore | 3 ++- + tests/test_url.py | 25 ++++++++++++++----------- + 2 files changed, 16 insertions(+), 12 deletions(-) + +diff --git a/tests/test_url.py b/tests/test_url.py +index 8b07c00..0f7458e 100644 +--- a/tests/test_url.py ++++ b/tests/test_url.py +@@ -1,12 +1,14 @@ +-# -*- coding: utf-8 -*- + from __future__ import absolute_import + import os + import unittest ++ ++import pytest ++from six.moves.urllib.parse import urlparse ++ + from w3lib.url import (is_url, safe_url_string, safe_download_url, + url_query_parameter, add_or_replace_parameter, url_query_cleaner, + file_uri_to_path, parse_data_uri, path_to_file_uri, any_to_uri, + urljoin_rfc, canonicalize_url, parse_url, add_or_replace_parameters) +-from six.moves.urllib.parse import urlparse + + + class UrlTests(unittest.TestCase): +@@ -310,10 +311,6 @@ def test_add_or_replace_parameter(self): + self.assertEqual(add_or_replace_parameter(url, 'arg3', 'nv3'), + 'http://domain/test?arg1=v1&arg2=v2&arg3=nv3') + +- url = 'http://domain/test?arg1=v1;arg2=v2' +- self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'), +- 'http://domain/test?arg1=v3&arg2=v2') +- + self.assertEqual(add_or_replace_parameter("http://domain/moreInfo.asp?prodID=", 'prodID', '20'), + 'http://domain/moreInfo.asp?prodID=20') + url = 'http://rmc-offers.co.uk/productlist.asp?BCat=2%2C60&CatID=60' +@@ -338,6 +335,13 @@ def test_add_or_replace_parameter(self): + self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'), + 'http://domain/test?arg1=v3&arg2=v2') + ++ @pytest.mark.xfail(reason="https://github.com/scrapy/w3lib/issues/164") ++ def test_add_or_replace_parameter_fail(self): ++ self.assertEqual( ++ add_or_replace_parameter('http://domain/test?arg1=v1;arg2=v2', 'arg1', 'v3'), ++ 'http://domain/test?arg1=v3&arg2=v2' ++ ) ++ + def test_add_or_replace_parameters(self): + url = 'http://domain/test' + self.assertEqual(add_or_replace_parameters(url, {'arg': 'v'}), diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 41e0d1c3d6..f77d163833 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -49,6 +49,7 @@ ;;; Copyright © 2021 Alice Brenon ;;; Copyright © 2022 John Kehayias ;;; Copyright © 2022 Denis 'GNUtoo' Carikli +;;; Copyright © 2022 Felix Gruber ;;; ;;; This file is part of GNU Guix. ;;; @@ -6188,12 +6189,20 @@ communicate with Microsoft Azure Storage services.") (origin (method url-fetch) (uri (pypi-uri "w3lib" version)) + (patches (search-patches "python-w3lib-fix-test-failure.patch")) (sha256 (base32 "1pv02lvvmgz2qb61vz1jkjc04fgm4hpfvaj5zm4i3mjp64hd1mha")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest"))))))) (native-inputs - (list python-six)) + (list python-pytest python-six)) (home-page "https://github.com/scrapy/w3lib") (synopsis "Python library of web-related functions") (description