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>master
parent
27a6e8501f
commit
c9cca908fa
|
@ -1591,6 +1591,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/python-chai-drop-python2.patch \
|
%D%/packages/patches/python-chai-drop-python2.patch \
|
||||||
%D%/packages/patches/python-random2-getrandbits-test.patch \
|
%D%/packages/patches/python-random2-getrandbits-test.patch \
|
||||||
%D%/packages/patches/python-poppler-qt5-fix-build.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/sdcc-disable-non-free-code.patch \
|
||||||
%D%/packages/patches/sdl-pango-api_additions.patch \
|
%D%/packages/patches/sdl-pango-api_additions.patch \
|
||||||
%D%/packages/patches/sdl-pango-blit_overflow.patch \
|
%D%/packages/patches/sdl-pango-blit_overflow.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'}),
|
|
@ -49,6 +49,7 @@
|
||||||
;;; Copyright © 2021 Alice Brenon <alice.brenon@ens-lyon.fr>
|
;;; Copyright © 2021 Alice Brenon <alice.brenon@ens-lyon.fr>
|
||||||
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
|
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
|
||||||
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||||
|
;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -6188,12 +6189,20 @@ communicate with Microsoft Azure Storage services.")
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "w3lib" version))
|
(uri (pypi-uri "w3lib" version))
|
||||||
|
(patches (search-patches "python-w3lib-fix-test-failure.patch"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1pv02lvvmgz2qb61vz1jkjc04fgm4hpfvaj5zm4i3mjp64hd1mha"))))
|
"1pv02lvvmgz2qb61vz1jkjc04fgm4hpfvaj5zm4i3mjp64hd1mha"))))
|
||||||
(build-system python-build-system)
|
(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
|
(native-inputs
|
||||||
(list python-six))
|
(list python-pytest python-six))
|
||||||
(home-page "https://github.com/scrapy/w3lib")
|
(home-page "https://github.com/scrapy/w3lib")
|
||||||
(synopsis "Python library of web-related functions")
|
(synopsis "Python library of web-related functions")
|
||||||
(description
|
(description
|
||||||
|
|
Reference in New Issue