diff options
author | Felix Gruber <felgru@posteo.net> | 2022-04-03 18:36:39 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-04-05 20:41:40 +0200 |
commit | c9cca908fa79c51ea3bc8ed2aa6c11d1b1868765 (patch) | |
tree | a885328b85dd9160432bdcd5aef1c50488d53381 /gnu/packages | |
parent | 27a6e8501f0299d438916c3d11d37f18ecb4f4eb (diff) |
gnu: python-w3lib: Fix build.
* 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.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/patches/python-w3lib-fix-test-failure.patch | 60 | ||||
-rw-r--r-- | gnu/packages/python-web.scm | 11 |
2 files changed, 70 insertions, 1 deletions
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 <eugenio.lacuesta@gmail.com> +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 <alice.brenon@ens-lyon.fr> ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> +;;; Copyright © 2022 Felix Gruber <felgru@posteo.net> ;;; ;;; 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 |