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

commit 8c29e17a86c8fade5c7fb92ac21230d21592960e
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Mon Jul 13 21:36:35 2026 +0100

    gnu: python-scitools-iris: Update to 3.15.0 and run full tests suite.
    
    * gnu/packages/geo.scm (python-scitools-iris): Update to 3.15.0.
    [arguments] <#:test-flags>: Simplify skipped/ignored tests; run the full
    tests suite and skip only tests requiring network access.
    [phases]{delete-failing-test-files}: Remove phase.
    {check}: Use default phase.
    {pre-check}: New phase, a simplified test preparation.
    [propagated-inputs]: Add python-affine, python-graphviz,
    python-iris-sample-data, python-pandas, python-rasterio, and
    python-scitools-mo-pack.
    [native-inputs]: Remove python-affine, python-rasterio, and
    python-scitools-mo-pack; add specification-iris-test-data.
---
 gnu/packages/geo.scm | 114 ++++++++++++++++++++++-----------------------------
 1 file changed, 50 insertions(+), 64 deletions(-)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index e548569eeb..4a25c895b2 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -147,6 +147,7 @@
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages specifications)
   #:use-module (gnu packages speech)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages statistics)
@@ -2729,7 +2730,7 @@ from multiple records.")
 (define-public python-scitools-iris
   (package
     (name "python-scitools-iris")
-    (version "3.14.1")
+    (version "3.15.0")
     (source
      (origin
        (method git-fetch)
@@ -2738,53 +2739,42 @@ from multiple records.")
               (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0l94bmc7bc0q76nabr67ndxfrdbcl2smp1v94y03gzdrwf2lf2nd"))))
+        (base32 "13kgs0ahjr3swl352nss62qbpjb1xpmlwl9w6w1qfn291i3yh0dx"))))
     (build-system pyproject-build-system)
     (arguments
      (list
+      ;; tests: 10420 passed, 81 skipped, 2712 warnings
       #:test-flags
       #~(list "--numprocesses" (number->string (parallel-job-count))
-              ;; XXX: Currently incompatible with pytest@9.
-              "--ignore=iris/tests/test_plot.py"
-              "--ignore=iris/tests/test_quickplot.py"
-              ;; XXX: Requires network.
-              "--ignore=iris/tests/integration/test_mask_cube_from_shape.py"
-              
"--deselect=iris/tests/integration/plot/test_vector_plots.py::TestBarbs"
-              
"--deselect=iris/tests/integration/plot/test_vector_plots.py::TestQuiver"
-              
"--deselect=iris/tests/integration/plot/test_plot_2d_coords.py::Test"
-              ;; XXX: Requires the iris-sample-data.
-              
"--deselect=iris/tests/test_constraints.py::TestCubeExtract__name_constraint"
-              
"--deselect=iris/tests/test_constraints.py::TestCubeExtract__names"
-
+              "--pyargs" "iris"
               "-k" (string-join
-                    ;; Tests requiring additional data files distributed
-                    ;; separately from this project from
-                    ;; <https://github.com/SciTools/iris-test-data> or network
-                    ;; access.
-                    ;;
-                    ;; XXX: Review this list and try to ignore by files
-                    ;; instead in individual tests.
-                    (list "not test_load_pp_timevarying_orography"
-                          "test_oblique_cs"
+                    ;; Tests requiring network access.
+                    (list "not test_2d_coord_bounds_northpolarstereo"
+                          "test_2d_coord_bounds_platecarree"
+                          "test_2d_coords_contour"
+                          "test_2d_plain_latlon"
+                          "test_2d_plain_latlon_on_polar_map"
+                          "test_2d_rotated_latlon"
+                          "test_4d_global_proj_brazil"
+                          "test_circular_changes"
+                          "test_coord_coord_map"
+                          "test_coord_names"
+                          "test_coords"
+                          "test_default"
+                          "test_global_proj_china"
+                          "test_global_proj_russia"
+                          "test_mask_cube_from_shapefile_depreciation"
+                          "test_missing_cs"
+                          "test_plot_tmerc"
                           "test_python_versions"
-                          "test_simple"
+                          "test_rotated_pole_proj_germany_weighted_area"
+                          "test_rotated_pole_proj_uk"
                           "test_scatter"
-                          "test_transform_geometry")
-                    " and not ")
-              )
+                          "test_simple"
+                          "test_transverse_mercator_proj_uk")
+                    " and not "))
       #:phases
       #~(modify-phases %standard-phases
-          (add-after 'unpack 'delete-failing-test-files
-            (lambda _
-              (with-directory-excursion "lib/iris/tests"
-                ;; Tries to load the test data on import.
-                (delete-file
-                 "integration/netcdf/derived_bounds/test_bounds_files.py")
-                ;; GeoVista is not packaged yet, "--ignore" option did not work
-                ;; to skip test files.
-                (for-each delete-file-recursively
-                          (list "integration/experimental/geovista"
-                                "unit/experimental/geovista")))))
           (add-after 'unpack 'fix-paths
             (lambda* (#:key inputs #:allow-other-keys)
               (let ((netcdf-bin (dirname
@@ -2796,52 +2786,48 @@ from multiple records.")
                    (format #f "'~a/ncgen'" netcdf-bin))
                   (("env_bin_path\\(\"ncdump\"\\)")
                    (format #f "'~a/ncdump'" netcdf-bin))))))
-          ;; XXX: Tests are installed, but they need to be compiled
-          ;; before being run, and I fear breaking the ABI/compiled
-          ;; files when removing.
-          (replace 'check
-            (lambda* (#:key tests? test-flags inputs outputs
-                      #:allow-other-keys)
-              (setenv "HOME" "/tmp")
-              (delete-file-recursively "lib")
-              (let ((site (site-packages inputs outputs)))
-                (with-directory-excursion site
-                  ((assoc-ref %standard-phases 'unpack)
-                   #:source #$iris-test-data)
-                  (copy-recursively "test_data" "../iris/test_data")
-                  (chdir "..")
-                  (delete-file-recursively "source")
-                  ((assoc-ref %standard-phases 'check)
-                   #:tests? tests?
-                   #:test-flags test-flags)
-                  (delete-file-recursively "iris/test_data"))))))))
+          (add-before 'check 'pre-check
+            (lambda* (#:key inputs tests? #:allow-other-keys)
+              (when tests?
+                (setenv "HOME" "/tmp")
+                (setenv "OVERRIDE_TEST_DATA_REPOSITORY"
+                        (search-input-directory inputs "share/iris/test_data"))
+                (delete-file-recursively "lib")))))))
     (native-inputs
      (list netcdf ; for ncdump and ncgen
            nss-certs-for-test
-           python-affine
            python-distributed
            python-filelock
            python-imagehash
            python-pytest
            python-pytest-mock
-           python-pytest-xdist          ;for 'pytest -n'
-           python-rasterio
-           python-scitools-mo-pack
+           python-pytest-xdist
            python-setuptools
-           python-setuptools-scm))
+           python-setuptools-scm
+           specification-iris-test-data))
     (propagated-inputs
      (list python-cartopy
            python-cf-units
            python-cftime
            python-dask
-           ;; python-geovista ; optional, not packaged yet
            python-matplotlib
            python-netcdf4
            python-numpy
            python-pyproj
            python-scipy
            python-shapely
-           python-xxhash))
+           python-xxhash
+           ;; [optional]
+           python-affine
+           ;; python-esmpy        ;not packaged yet in Guix
+           ;; python-geovista     ;not packaged yet in Guix
+           python-graphviz
+           python-iris-sample-data
+           ;; python-nc-time-axis ;not packaged yet in Guix
+           python-pandas
+           ;; python-stratify     ;not packaged yet in Guix
+           python-rasterio
+           python-scitools-mo-pack))
     (home-page "https://github.com/SciTools/iris";)
     (synopsis "Earth science data analysing and visualising library")
     (description

Reply via email to