From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id aJCXOA90JGQL4AAASxT56A (envelope-from ) for ; Wed, 29 Mar 2023 19:23:28 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id 0CyPNw90JGSSgQEAG6o9tA (envelope-from ) for ; Wed, 29 Mar 2023 19:23:27 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 51B59118CA for ; Wed, 29 Mar 2023 19:23:27 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1phZVo-00035d-6X; Wed, 29 Mar 2023 13:23:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1phZVm-00034o-I4 for guix-patches@gnu.org; Wed, 29 Mar 2023 13:23:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1phZVm-0008QP-AP for guix-patches@gnu.org; Wed, 29 Mar 2023 13:23:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1phZVm-0006gb-5q for guix-patches@gnu.org; Wed, 29 Mar 2023 13:23:02 -0400 Subject: bug#60838: [PATCH 0/8] Add datasette and python-sqlite-utils. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-To: guix-patches@gnu.org Resent-Date: Wed, 29 Mar 2023 17:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: cc-closed 60838 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Felix Gruber Cc: 60838-done@debbugs.gnu.org Mail-Followup-To: 60838@debbugs.gnu.org, maxim.cournoyer@gmail.com, felgru@posteo.net Received: via spool by 60838-done@debbugs.gnu.org id=D60838.168011054325629 (code D ref 60838); Wed, 29 Mar 2023 17:23:01 +0000 Received: (at 60838-done) by debbugs.gnu.org; 29 Mar 2023 17:22:23 +0000 Received: from localhost ([127.0.0.1]:54905 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1phZV7-0006fG-Ui for submit@debbugs.gnu.org; Wed, 29 Mar 2023 13:22:22 -0400 Received: from mail-qv1-f54.google.com ([209.85.219.54]:39703) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1phZV5-0006f3-EP for 60838-done@debbugs.gnu.org; Wed, 29 Mar 2023 13:22:21 -0400 Received: by mail-qv1-f54.google.com with SMTP id oe8so12050882qvb.6 for <60838-done@debbugs.gnu.org>; Wed, 29 Mar 2023 10:22:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680110533; x=1682702533; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=T1pZ9SKK7jwAjwdCk33NLEmqhWi8gyMOi7N349SR8y0=; b=ORlvTC3OZTWfC6nkdenvUznAJG8tDmc3IZJtad9+OYwqRwVarGiRLNIagKjrj7QOhh v+w5MvW5WK9hmRE9YC7G59JtKdy/O+6YVyCCYmxErJ0wejo2woD8FgJMrH+WnFQhxUo5 Akrc5tFUBhdgZyZCjLSkg5VbmnWyraoIRbScMyacbUrJyD0Q3h1pfCfgAx/maUypcPyE 3WSZanr1v+Fp1pTEWjWfnwZ7Hhlv+4U/BEFe6J8YLUnkeqT6fjL9hD2v57wUMtwKy1dw sWQSbSTZf+FaT2LKLC5om4FI8zX2X7eZewXRcDul+2tF5zPrvFlxEljCfWzEKc37BEfk Y+Yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680110533; x=1682702533; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=T1pZ9SKK7jwAjwdCk33NLEmqhWi8gyMOi7N349SR8y0=; b=uNbx+Xe9xpobXzdfm3TY9DYJazvYfYE95YNmT2QwvxcAbUOOqE2ty9AzgdZbpM9Rss NyzrQtzjoM76PnscnXRLL+5TgadETEUHfcdhRaPIVw5ejjJPljJlbvfMXJ1dv7y7Un0p Gf5tz32aMai5KamEXWaUwnAzgJkP5MVw6okfbUJxNQBmJ1KQcFAmfvRtSEDSc6JZtHWm 4zCtfed6p2cjucrhXHEewnLeGp+qKM5eabX/QVCKm3RJJUnScC0EVvqQNxol1KByi7a8 RgBew5UGP+fX4SRmN/J/fA7HWyf5qW14h/rlLTPjNkj6x/lJf8+x1WddHdKzXAtLmM8K 4NxA== X-Gm-Message-State: AAQBX9cwSlSzWnQuGZRnIwXk6XQ5+D+K+/JcqvhE7ReGOutjs80P1c1g LCXA8ehy0ZGXYgqFyc0AONTwsrDjASZ3dQ== X-Google-Smtp-Source: AKy350bOAZt0EiuKE9dZ64qf4PBvG6h1orxxBwJBWJnJMcRxc19ia+jBJtfcLSLYYw8+B/m/7AL2jQ== X-Received: by 2002:a05:6214:194b:b0:5df:450b:8002 with SMTP id q11-20020a056214194b00b005df450b8002mr13309712qvk.31.1680110533204; Wed, 29 Mar 2023 10:22:13 -0700 (PDT) Received: from hurd (dsl-10-133-241.b2b2c.ca. [72.10.133.241]) by smtp.gmail.com with ESMTPSA id pr23-20020a056214141700b005dd8b934579sm4746350qvb.17.2023.03.29.10.22.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Mar 2023 10:22:12 -0700 (PDT) From: Maxim Cournoyer References: <87lejplhxd.fsf@gmail.com> <312ccbf1d00faea30c2245385e557094ee68f1ad.1679859198.git.felgru@posteo.net> Date: Wed, 29 Mar 2023 13:22:11 -0400 In-Reply-To: <312ccbf1d00faea30c2245385e557094ee68f1ad.1679859198.git.felgru@posteo.net> (Felix Gruber's message of "Sun, 26 Mar 2023 19:43:35 +0000") Message-ID: <87bkkb322k.fsf_-_@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain 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+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=ORlvTC3O; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1680110607; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-to:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=T1pZ9SKK7jwAjwdCk33NLEmqhWi8gyMOi7N349SR8y0=; b=KKYjW83mwucdk03kHfBtGc+9UC+YwnGshK8Q/EwSPQppuFRwLT3VxcgoZ4KOrPM4UxvjBL PVi6T1UNEpIx9cw5Ndhp7673XBmqfG3MJAWyv12epU5MAchmgSfUh1ZX3fOAaRYy4PbPB/ U8ji9DT0oq83GORSFCYjWaFt0ST6Qo/QtH0/JnYL4JpGAInQlHS2OQvHHcbq4R7bem2kTB X4btZO0j8WW9t/BUx5yUqPZV+Sz1vvExPQM/1Qk+27TFEBGL8JwN1EWvu5qPUwayc//k6T TjkzyR3V4z4cGR3Ub9PjbisbTr8rfLb45rtm+li9bgVKoxpPLMIEws834kOs5A== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1680110607; a=rsa-sha256; cv=none; b=aCPHznYcseMpE6x7TA5S3VJnEjbNrr1tCZ0ACSShfx1u7H7ubhKlXZUsfPrF4TatQl5gYY zR+CcvhlAUZb+MBbc/QiolPtxG3qG2cAqdImYOsaC2tMiIarxYHyksDSBL+Xz/0dJfZzZ5 mba0p2mSYSq+7nSD5Oyaw9QcfBtocM/1xRKjM23i7zFgftUpM3BkLWEgfSU/7MvuY+KycN EDXLtzHgupS3fJxp4g/gmdOReQ3mdFzIb7EK1TleIM5qSdVV/709IgUJadDY0nSwqSyESA qx91Bc5eYh+wf3Wv9geIhGYKOfBuhr4ComgFF6b+gywF3iSl9AJWv/wRI3NB9w== X-Migadu-Spam-Score: 7.27 X-Migadu-Scanner: scn1.migadu.com X-Migadu-Queue-Id: 51B59118CA Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=ORlvTC3O; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) X-Spam-Score: 7.27 X-TUID: BjIlBzomImWc Hi Felix! Thanks for the rework! I'm applied it locally, then looked at it more closely; I ended up with the following changes, which I'll comment inline below: --8<---------------cut here---------------start------------->8--- 5 files changed, 105 insertions(+), 116 deletions(-) gnu/packages/check.scm | 7 +++---- gnu/packages/databases.scm | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------- gnu/packages/python-crypto.scm | 17 ++++++----------- gnu/packages/python-web.scm | 56 +++++++++++++++++++++++++++++------------------------- gnu/packages/python-xyz.scm | 16 ++++++---------- modified gnu/packages/check.scm @@ -1322,15 +1322,14 @@ (define-public python-pytest-7.1 "0f8c31v5r2kgjixvy267n0nhc4xsy65g3n9lz1i1377z5pn5ydjg")))) (arguments (substitute-keyword-arguments (package-arguments python-pytest) - ((#:phases phases #~%standard-phases) + ((#:phases phases #~%standard-phases) #~(modify-phases #$phases (add-before 'build 'pretend-version (lambda _ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))) (propagated-inputs - (modify-inputs (package-propagated-inputs python-pytest) - (replace "python-pluggy" python-pluggy-next))) - )) + (modify-inputs (package-propagated-inputs python-pytest) + (replace "python-pluggy" python-pluggy-next))))) Stylistic. Lonely parens are sad :-). (define-public python-pytest-bootstrap (package modified gnu/packages/databases.scm @@ -3586,7 +3586,7 @@ (define-public python-sqlite-utils (name "python-sqlite-utils") (version "3.30") (source (origin - (method git-fetch) ; for tests + (method git-fetch) ;for tests Stylistic; I do not use a space between the ';' and the comment for inline comments. (uri (git-reference (url "https://github.com/simonw/sqlite-utils") (commit version))) @@ -3595,7 +3595,17 @@ (define-public python-sqlite-utils (base32 "1a58syvh5jp40vi5libsxkqy99z75kj4ckxqmylbhd342ppfy1wp")))) (build-system pyproject-build-system) - (propagated-inputs (list python-click python-click-default-group-wheel + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.py" + ;; This is a variant designed to have a binary + ;; wheel made available on PyPI, which is not a + ;; concern to Guix. + (("click-default-group-wheel") + "click-default-group"))))))) I ended up not packaging the click-default-group-wheel variant and used the our existing python-click-default-group package instead, since the variant probably caters to Windows users installing from PyPI. + (propagated-inputs (list python-click python-click-default-group python-dateutil python-sqlite-fts4 python-tabulate)) (native-inputs (list python-pytest)) @@ -3604,9 +3614,7 @@ (define-public python-sqlite-utils "CLI tool and Python utility functions for manipulating SQLite databases") (description "This package provides a CLI tool and Python utility functions for -manipulating SQLite databases. - -It's main features are: +manipulating SQLite databases. It's main features are: @itemize @item Pipe JSON (or CSV or TSV) directly into a new SQLite database file, @@ -5091,7 +5099,7 @@ (define-public datasette (name "datasette") (version "0.64.2") (source (origin - (method git-fetch) ; for tests + (method git-fetch) ;for tests (uri (git-reference (url "https://github.com/simonw/datasette") (commit version))) @@ -5103,40 +5111,25 @@ (define-public datasette (arguments (list #:test-flags - ;; disable failing tests - '(list - "--deselect" - "tests/test_api.py::test_database_page_for_database_with_dot_in_name" - "--deselect" - "tests/test_api.py::test_row_strange_table_name" - "--deselect" - "tests/test_api.py::test_database_with_space_in_name" - "--deselect" - "tests/test_api.py::test_tilde_encoded_database_names[fo%o]" - "--deselect" - "tests/test_api.py::test_tilde_encoded_database_names[f~/c.d]" - "--deselect" - "tests/test_cli.py::test_weird_database_names" - "--deselect" - "tests/test_html.py::test_css_classes_on_body[/fixtures/table~2Fwith~2Fslashes~2Ecsv-expected_classes5]" - "--deselect" - "tests/test_html.py::test_templates_considered[/fixtures/table~2Fwith~2Fslashes~2Ecsv-table-fixtures-tablewithslashescsv-fa7563.html, *table.html]" - "--deselect" - "tests/test_html.py::test_row_html_compound_primary_key[/fixtures/compound_primary_key/a~2Fb,~2Ec~2Dd-expected1]" - "--deselect" - "tests/test_html.py::test_edit_sql_link_on_canned_queries[/fixtures/~F0~9D~90~9C~F0~9D~90~A2~F0~9D~90~AD~F0~9D~90~A2~F0~9D~90~9E~F0~9D~90~AC-/fixtures?sql=select+id%2C+name+from+facet_cities+order+by+id+limit+1%3B]" - "--deselect" - "tests/test_html.py::test_alternate_url_json[/fixtures/table~2Fwith~2Fslashes~2Ecsv-http://localhost/fixtures/table~2Fwith~2Fslashes~2Ecsv.json]" - "--deselect" - "tests/test_table_api.py::test_table_with_slashes_in_name" - "--deselect" - "tests/test_table_api.py::test_searchable[/fixtures/searchable.json?_search=te*+AND+do*&_searchmode=raw-expected_rows3]" - "--deselect" - "tests/test_table_api.py::test_searchmode[table_metadata1-_search=te*+AND+do*-expected_rows1]" - "--deselect" - "tests/test_table_api.py::test_searchmode[table_metadata2-_search=te*+AND+do*&_searchmode=raw-expected_rows2]" - "--deselect" - "tests/test_table_api.py::test_custom_query_with_unicode_characters") + ;; There are multiple unexplained test failures (see: + ;; https://github.com/simonw/datasette/issues/2048). + #~(list "-k" (string-append + "not (test_database_page_for_database_with_dot_in_name" + " or test_row_strange_table_name" + " or test_database_with_space_in_name" + " or test_tilde_encoded_database_names" + " or test_weird_database_names" + " or test_css_classes_on_body" + " or test_templates_considered" + " or test_row_html_compound_primary_key" + " or test_edit_sql_link_on_canned_queries" + " or test_alternate_url_json" + " or test_table_with_slashes_in_name" + " or test_searchable" + " or test_custom_query_with_unicode_characters" + " or test_searchmode)") I had two failures in the last suite; I reformatted for compactness nad readability. + "-n" (number->string (parallel-job-count)) Since python-xdist is a native-input, we can make use of it (run tests i parallel) + "-m" "not serial") ;cannot run in parallel I found that bit in the github workflow file of the project, necessary when running the tests in parallel. #:phases #~(modify-phases %standard-phases (add-after 'unpack 'relax-requirements @@ -5146,31 +5139,33 @@ (define-public datasette (substitute* "setup.py" (("(black)==[0-9\\.]+" _ package) package))))))) - (propagated-inputs (list python-aiofiles - python-asgi-csrf - python-asgiref - python-click - python-click-default-group-wheel - python-httpx - python-hupper - python-itsdangerous - python-janus - python-jinja2 - python-mergedeep - python-pint - python-pluggy-next - python-pyyaml - python-uvicorn)) - (native-inputs (list python-beautifulsoup4 - python-black - python-cogapp - python-pytest-7.1 - python-pytest-asyncio - python-pytest-runner - python-pytest-timeout - python-pytest-xdist-next - python-setuptools - python-trustme-next)) + package) + (("click-default-group-wheel") + "click-default-group"))))))) Same fix as earlier. + (propagated-inputs + (list python-aiofiles + python-asgi-csrf + python-asgiref + python-click + python-click-default-group + python-httpx + python-hupper + python-itsdangerous + python-janus + python-jinja2 + python-mergedeep + python-pint + python-pluggy-next + python-pyyaml + python-uvicorn)) + (native-inputs + (list python-beautifulsoup4 + python-black + python-cogapp + python-pytest-7.1 + python-pytest-asyncio + python-pytest-runner + python-pytest-timeout + python-pytest-xdist-next + python-setuptools + python-trustme)) Stylistic changes. (home-page "https://datasette.io/") (synopsis "Multi-tool for exploring and publishing data") (description "Datasette is a tool for exploring and publishing data. modified gnu/packages/python-crypto.scm @@ -1503,21 +1503,14 @@ (define-public python-secretstorage (define-public python-trustme (package (name "python-trustme") - (version "0.6.0") + (version "0.9.0") (source (origin (method url-fetch) (uri (pypi-uri "trustme" version)) (sha256 - (base32 "0v3vr5z6apnfmklf07m45kv5kaqvm6hxrkaqywch57bjd2siiywx")))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (invoke "pytest" "-vv")))))) + (base32 "0v2qzszmyazfgc1snicdr4b4qdajpjd4pbinpgrn9vfff0yv41sy")))) + (build-system pyproject-build-system) (native-inputs (list python-more-itertools python-pyopenssl @@ -1526,7 +1519,9 @@ (define-public python-trustme python-service-identity python-zipp)) (propagated-inputs - (list python-cryptography)) + (list python-cryptography + python-idna + python-ipaddress)) (home-page "https://github.com/python-trio/trustme") (synopsis "Fake a certificate authority for tests") (description I've chosen to bump our main python-trustme package to its latest version instead of introducing a 'python-trustme-next' variant, since all its dependents rebuilt OK with it. It's best to avoid variants unless there's no other option. modified gnu/packages/python-web.scm @@ -575,18 +575,30 @@ (define-public python-asgi-csrf (name "python-asgi-csrf") (version "0.9") (source (origin - (method url-fetch) - (uri (pypi-uri "asgi-csrf" version)) + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/simonw/asgi-csrf") + (commit version))) + (file-name (git-file-name name version)) I switched to git because otherwise the test suite ran 0 test (successfully, ah!). (sha256 (base32 - "06klgxfxzjfkyjky3rkvmf2r07r7r2my53qq7g9qy6mcmvfkp7bf")))) - (build-system python-build-system) + "1j134mjh0ff61rvkm3q67m463j1bhyxc9dwsdany3scnd4vsqqws")))) + (build-system pyproject-build-system) + (arguments + (list #:test-flags + ;; Provide a null config to avoid the extraneous dependency on + ;; python-pytest-coverage. + #~(list "-c" "/dev/null" This trick was used to avoid the --cov* options added to pytest options, to avoid requiring the coverage tool. + ;; Disable two failing tests (see: + ;; https://github.com/simonw/asgi-csrf/issues/24). + "-k" (string-append + "not (test_multipart " + "or test_multipart_failure_wrong_token)")))) I encountered two test failures, so I reported them upstream and skipped them in the package. (propagated-inputs (list python-itsdangerous python-multipart)) (native-inputs (list python-asgi-lifespan python-httpx python-pytest python-pytest-asyncio - python-pytest-cov python-starlette)) (home-page "https://github.com/simonw/asgi-csrf") (synopsis "ASGI middleware for protecting against CSRF attacks") @@ -602,7 +614,7 @@ (define-public python-asgi-lifespan (name "python-asgi-lifespan") (version "1.0.1") (source (origin - (method git-fetch) ; for tests + (method git-fetch) ;for tests (uri (git-reference (url "https://github.com/florimondmanca/asgi-lifespan") (commit version))) @@ -613,28 +625,20 @@ (define-public python-asgi-lifespan (build-system pyproject-build-system) (arguments (list - #:test-flags - ;; disable failing tests - '(list "-k" - (string-append - "not test_lifespan_manager[asyncio-None-ValueError-None]" - " and not test_lifespan_manager[asyncio-ValueError-None-None]" - " and not test_lifespan_manager[asyncio-ValueError-ValueError-None]" - " and not test_lifespan_manager[trio-None-ValueError-None]" - " and not test_lifespan_manager[trio-ValueError-None-None]" - " and not test_lifespan_manager[trio-ValueError-ValueError-None]")) - #:phases - '(modify-phases %standard-phases - (add-after 'unpack 'lower-coverage-requirement - ;; after disabling the failing tests, the coverage - ;; dropped slightly below 100%. - (lambda _ - (substitute* "setup.cfg" - (("(--cov-fail-under=)[0-9]+" _ cov) - (string-append cov "90")))))))) + #:test-flags + '(list "-c" "/dev/null" ;ignore coverage-related options + "-k" + (string-append + ;; XXX: Some tests fail because of a 'lifespan.shutdown.failed' + ;; extra event, perhaps because our version of trio is older. I left a comment explaining a reason why we may be seeing these failures. Our environment differs from upstream so I haven't reported them there. We'd need to update a bunch of asyncio things but these are rather tied to the Pytest version, I think. + "not (test_lifespan_manager[asyncio-None-ValueError-None]" + " or test_lifespan_manager[asyncio-ValueError-None-None]" + " or test_lifespan_manager[asyncio-ValueError-ValueError-None]" + " or test_lifespan_manager[trio-None-ValueError-None]" + " or test_lifespan_manager[trio-ValueError-None-None]" + " or test_lifespan_manager[trio-ValueError-ValueError-None])")))) (native-inputs (list python-pytest python-pytest-asyncio - python-pytest-cov python-pytest-trio python-starlette)) (propagated-inputs (list python-sniffio)) modified gnu/packages/python-xyz.scm @@ -31569,16 +31569,12 @@ (define-public python-cogapp (sha256 (base32 "1c0xx3p3lzrlyqhmccyq9c50f8v9pqk2992gb4nl50h2yy1m3s8v")))) - (build-system python-build-system) - (arguments - '(#:tests? #f)) - (home-page "http://nedbatchelder.com/code/cog") - (synopsis - "Content generator for executing Python snippets in source files") - (description - "Cog is a file generation tool. It lets you use pieces of Python -code as generators in your source files to generate whatever text you -need.") + (build-system pyproject-build-system) + (native-inputs (list python-pytest)) + (home-page "https://nedbatchelder.com/code/cog") + (synopsis "Content generation tool that leverages Python") + (description "Cog is a file generation tool. It allows using pieces of +Python code as generators in your source files to generate arbitrary text.") (license license:expat))) Here I've switched the build system to pyproject-build-system and added python-pytest; the package had tests. I've also used HTTPS for the home page URL and reworded synopsis a bit. --8<---------------cut here---------------end--------------->8--- With this, the changes were installed. I hope my review comments were insightful for your future contributions! Thank you! -- Maxim