guix_mirror_bot pushed a commit to branch python-team
in repository guix.

commit 7d87659326d8fb63efbcc93e362b0dbf71c02773
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Fri Oct 31 12:57:21 2025 +0000

    gnu: python-coverage: Rework skipped tests.
    
    * gnu/packages/check.scm (python-coverage)[arguments] <test-flags>:
    Rework ignored test files and deselected tests where some of them are
    not present and some just pass fine. Limit the number of threads up 8 to
    improve stability in CI.
    <phases>: Remove 'patch-pyproject; add 'fix-pytest-config, and
    'pre-check.
    
    Change-Id: I1e7693fc04f1e873b0cd9afec112c1ebd26622e3
---
 gnu/packages/check.scm | 122 ++++++++++++++++++++++++++-----------------------
 1 file changed, 66 insertions(+), 56 deletions(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index a4ce137f64..8ebb72d4f3 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2403,70 +2403,80 @@ since the last commit or what tests are currently 
failing.")
     (build-system pyproject-build-system)
     (arguments
      (list
+      ;; tests: 1303 passed, 23 skipped
       #:test-flags
-      #~(list
-         "--numprocesses" (number->string (parallel-job-count))
-         ;; TODO: Rework this test options by utilizing "-k" option.
-         ;;
-         ;; 1201 passed, 19 skipped, 389 warnings
-         ;; XXX: Unable to properly compare reports.
-         "--ignore=tests/test_report.py"
-         ;; XXX: PyTracer or missing dependencies.
-         "--ignore=tests/test_venv.py"
-         "--ignore=tests/test_plugins.py"
-         "--ignore=tests/test_debug.py"
-         ;; XXX: Unclear why these fail.
-         "--ignore=tests/test_python.py"
-         "--deselect=tests/test_concurrency.py\
-::SigtermTest::test_sigterm_multiprocessing_saves_data"
-         ;; XXX: Unexpected paths order.
-         "--ignore=tests/test_process.py"
-         ;; XXX: PermissionError
-         "--deselect=tests/test_annotate.py::AnnotationGoldTest::test_multi"
-         ;; XXX: Needs C extension
-         "--deselect=tests/test_cmdline.py::CmdLineStdoutTest::test_version"
-         "--deselect=tests/test_api.py::NamespaceModuleTest::test_bug_572"
-         ;; XXX: Finds more files at toplevel
-         
"--deselect=tests/test_api.py::RelativePathTest::test_files_up_one_level"
-         
"--deselect=tests/test_xml.py::XmlReportTest::test_no_duplicate_packages"
-         ;; XXX: zip1 module missing.
-         
"--deselect=tests/test_filereporter.py::FileReporterTest::test_zipfile"
-         ;; No module named 'coverage.tracer'
-         
"--deselect=tests/test_api.py::ApiTest::test_completely_zero_reporting"
-         "--deselect=tests/test_api.py::ApiTest::test_warnings"
-         "--deselect=tests/test_core.py::CoverageCoreTest::test_core_default"
-         "--deselect=tests/test_core.py::CoverageCoreTest\
-::test_core_request_ctrace_but_missing"
-         
"--deselect=tests/test_oddball.py::RecursionTest::test_long_recursion_recovery"
-         ;; XXX: Checking coverage for too much files, not only the target one.
-         "--deselect=tests/test_oddball.py::DoctestTest::test_doctest"
-         ;; Module sys has no Python source
-         "--deselect=tests/test_api.py::ApiTest::test_warnings_suppressed"
-         ;; XXX: pythonpath is not set correctly to find the module
-         
"--deselect=tests/test_oddball.py::MockingProtectionTest::test_os_path_exists"
-         ;; prevent FAILs on slow riscv64 SBCs
-         #$@(if (equal? (%current-system) "riscv64-linux")
-                '("--deselect=tests/test_numbits.py::NumbitsOpTest::test_union"
-                  
"--deselect=tests/test_numbits.py::NumbitsOpTest::test_any_intersection")
-                '()))
+      #~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))
+              #$@(map (lambda (file) (string-append "--ignore=tests/" file))
+                      ;; XXX: The most of the tests fail.
+                      (list "test_process.py"
+                            ;; Unable to properly compare reports.
+                            "test_report.py"
+                            ;; Network connection is required
+                            "test_venv.py"))
+              #$@(map (lambda (test) (string-append "--deselect="
+                                                    "tests/test_python.py::"
+                                                    "GetZipBytesTest::"
+                                                    
"test_get_encoded_zip_files"
+                                                    test))
+                      ;; > assert zip_data is not None
+                      ;; E assert None is not None
+                      (list "[utf-8]@get_zip_bytes_test"
+                            "[gb2312]@get_zip_bytes_test"
+                            "[hebrew]@get_zip_bytes_test"
+                            "[shift_jis]@get_zip_bytes_test"
+                            "[cp1252]@get_zip_bytes_test"))
+              #$@(map (lambda (test) (string-append "--deselect=tests/test_"
+                                                    test))
+                      ;; AssertionError
+                      (list "api.py::RelativePathTest::test_files_up_one_level"
+                            "concurrency.py::SigtermTest::\
+test_sigterm_multiprocessing_saves_data"
+                            "oddball.py::DoctestTest::test_doctest"
+                            "oddball.py::MockingProtectionTest::\
+test_os_path_exists"
+                            "plugins.py::PluginTest::\
+test_local_files_are_importable"
+                            "regions.py::test_real_code_regions"
+                            "setup.py::SetupPyTest::test_metadata"
+                            "testing.py::test_all_our_source_files"
+                            "xml.py::XmlReportTest::test_no_duplicate_packages"
+                            ;; FileNotFoundError
+                            "setup.py::SetupPyTest::test_more_metadata"
+                            ;; ModuleNotFoundError
+                            "filereporter.py::FileReporterTest::test_zipfile"
+                            ;; OSError
+                            "annotate.py::AnnotationGoldTest::test_multi"))
+              #$@(if (or (equal? (%current-system) "riscv64-linux")
+                         (equal? (%current-system) "aarch64-linux"))
+                     ;; Thypothesis.errors.FailedHealthCheck: Data generation
+                     ;; is extremely slow.
+                     (map (lambda (test) (string-append "--deselect="
+                                                        "tests/test_numbits.py"
+                                                        test))
+                          (list "NumbitsOpTest::test_any_intersection"
+                                "NumbitsOpTest::test_conversion"
+                                "NumbitsOpTest::test_union"))
+                     '()))
       #:phases
       #~(modify-phases %standard-phases
-          (add-after 'unpack 'patch-pyproject
+          (add-after 'unpack 'fix-pytest-config
             (lambda _
               (substitute* "pyproject.toml"
-                ;; Just run pytest with no frills.
-                (("addopts.*") ""))))
-          (add-before 'check 'fix-conftest
-            ;; It tries to scan the whole sys.path and "find some place to
-            ;; write to".
+                (("-q -n auto ") ""))))
+          (add-before 'check 'pre-check
             (lambda _
-              (with-output-to-file (string-append (getcwd) "/test.pth")
-                (lambda _ (display "")))
-              (substitute* "tests/conftest.py"
-                (("map(Path, sys.path)") (format #f "[~s]" (getcwd)))))))))
+              ;; WARNING: The directory '/homeless-shelter/.cache/pip' or its
+              ;; parent directory is not owned or is not writable by the
+              ;; current user. The cache has been disabled. Check the
+              ;; permissions and owner of that directory. If executing pip
+              ;; with sudo, you should use sudo's -H flag.
+              (setenv "HOME" "/tmp")
+              ;; This would otherwise interfere with finding the installed
+              ;; coverage when running tests.
+              (delete-file-recursively "coverage"))))))
     (native-inputs
      (list python-pytest
-           python-pytest-xdist ; hardcoded in tests/conftests.py
+           python-pytest-xdist  ;some tests need xdist_group
            python-flaky
            python-setuptools))
     (home-page "https://coverage.readthedocs.io";)

Reply via email to