unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Felix Gruber <felgru@posteo.net>
To: 54697@debbugs.gnu.org
Cc: Felix Gruber <felgru@posteo.net>
Subject: [bug#54697] [PATCH] gnu: python-w3lib: Fix build.
Date: Sun,  3 Apr 2022 18:36:39 +0000	[thread overview]
Message-ID: <20220403183639.55110-1-felgru@posteo.net> (raw)

* 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 <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
-- 
2.30.2





             reply	other threads:[~2022-04-03 18:38 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-03 18:36 Felix Gruber [this message]
2022-04-05 18:26 ` bug#54697: [PATCH] gnu: python-w3lib: Fix build Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220403183639.55110-1-felgru@posteo.net \
    --to=felgru@posteo.net \
    --cc=54697@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).