[gdal-dev] Motion: Adopt GDAL 3.9.1RC1 as 3.9.1 release

Andrew C Aitchison andrew at aitchison.me.uk
Fri Jun 21 08:40:38 PDT 2024


On Thu, 20 Jun 2024, Even Rouault via gdal-dev wrote:

> Motion:
>
> Adopt GDAL 3.9.1RC1 as 3.9.1 release
>
> Starting with my +1

As Greg said, 25 hours isn't long to test

I've managed to build and run some tests on Ubuntu 24-04/Noble
using clang compilers (v18 as shipped by Ubuntu and/or v19 from ...)

pytest complained that it could not find h5.py until I installed
    python3-h5py:amd64 (3.10.0-1ubuntu3)

Like several recent gdal versions on other recent Ubuntu releases,
it complains about setup.py
-------------   ...   ...  ...  -----------------------
Install the project...
-- Install configuration: "debug"
Using numpy 1.26.4
running install
/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: 
SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

********************************************************************************
         Please avoid running ``setup.py`` directly.
         Instead, use pypa/build, pypa/installer or other
         standards-based tools.

         See
 	https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for
 	details.

********************************************************************************

!!  self.initialize_options()
running build
-------------   ...   ...  ...  -----------------------

# cd /home/werdna/gdal/3.9.1/gdalautotest/gdrivers
# pytest
Test session starts (platform: linux, Python 3.12.3, pytest 7.4.4, 
pytest-sugar 1.0.0)
benchmark: 4.0.0 (defaults: timer=time.perf_counter disable_gc=False 
min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 
warmup=False warmup_iterations=100000)
rootdir: /home/werdna/gdal/3.9.1/gdalautotest-3.9.1/gdrivers
plugins: env-0.8.2, flake8-1.1.1, benchmark-4.0.0, sugar-1.0.0
collecting 7 items
―――――――――――――――――――――――――――― ERROR collecting data/s104/generate_test.py 
――――――――――――――――――――――――――――
import file mismatch:
imported module 'generate_test' has this __file__ attribute:

/home/werdna/gdal/3.9.1/gdalautotest-3.9.1/gdrivers/data/s102/generate_test.py
which is not the same as the test file we want to collect:

/home/werdna/gdal/3.9.1/gdalautotest-3.9.1/gdrivers/data/s104/generate_test.py
HINT: remove __pycache__ / .pyc files and/or use a unique basename for 
your test file modules

―――――――――――――――――――――――――――― ERROR collecting data/s111/generate_test.py 
――――――――――――――――――――――――――――
import file mismatch:
imported module 'generate_test' has this __file__ attribute:

/home/werdna/gdal/3.9.1/gdalautotest-3.9.1/gdrivers/data/s102/generate_test.py
which is not the same as the test file we want to collect:

/home/werdna/gdal/3.9.1/gdalautotest-3.9.1/gdrivers/data/s111/generate_test.py
HINT: remove __pycache__ / .pyc files and/or use a unique basename for 
your test file modules
collected 7 items / 2 errors

========================================= warnings summary 
==========================================
test_validate_jp2.py:41

/home/werdna/gdal/3.9.1/gdalautotest-3.9.1/gdrivers/test_validate_jp2.py:41: 
PytestUnknownMarkWarning: Unknown pytest.mark.require_driver - is this a 
typo?  You can register custom marks to avoid this warning - for details, 
see https://docs.pytest.org/en/stable/how-to/mark.html
     pytestmark = pytest.mark.require_driver("JP2OpenJPEG")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
====================================== short test summary info 
======================================
FAILED data/s104/generate_test.py
FAILED data/s111/generate_test.py
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Results (0.76s):

I removed *all* the __pycache__ directories in the tree, reran the 
tests and got the same errors.

------------------------------------

Attached (as ogr_basic_test.py.errout) is the output of
running the ogr test ogr_basic_test.py from directory
3.9.1/gdalautotest/ogr

I haven't really tried to run the test suite since the switch
to cmake, but the current errors suggest that the suite is
not ready for someone as inexperienced with it as me to use
it to pass or fail the latest release on this platform.

-- 
Andrew C. Aitchison                      Kendal, UK
                    andrew at aitchison.me.uk
-------------- next part --------------
============================= test session starts ==============================
platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.4.0
benchmark: 4.0.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /home/werdna/gdal/3.9.1/gdalautotest-3.9.1/ogr
plugins: env-0.8.2, flake8-1.1.1, benchmark-4.0.0, sugar-1.0.0
collected 68 items

ogr_basic_test.py .....F...s.......................FF.............F..... [ 79%]
..........EEE.                                                           [100%]

==================================== ERRORS ====================================
_________ ERROR at setup of test_geom_use_after_transfer_to_feature_1 __________
file /home/werdna/gdal/3.9.1/gdalautotest-3.9.1/ogr/ogr_basic_test.py, line 1132
  def test_geom_use_after_transfer_to_feature_1(tmp_vsimem):
E       fixture 'tmp_vsimem' not found
>       available fixtures: benchmark, benchmark_weave, cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, file_handler, handle_delete, handle_get, handle_post, handle_put, monkeypatch, poly_feat, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, server, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory
>       use 'pytest --fixtures [testpath]' for help on them.

/home/werdna/gdal/3.9.1/gdalautotest-3.9.1/ogr/ogr_basic_test.py:1132
________ ERROR at setup of test_geom_use_after_transfer_to_feature[int] ________
file /home/werdna/gdal/3.9.1/gdalautotest-3.9.1/ogr/ogr_basic_test.py, line 1146
  @pytest.mark.parametrize("arg_type", ("int", "string"))
  def test_geom_use_after_transfer_to_feature(tmp_vsimem, arg_type):
E       fixture 'tmp_vsimem' not found
>       available fixtures: benchmark, benchmark_weave, cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, file_handler, handle_delete, handle_get, handle_post, handle_put, monkeypatch, poly_feat, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, server, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory
>       use 'pytest --fixtures [testpath]' for help on them.

/home/werdna/gdal/3.9.1/gdalautotest-3.9.1/ogr/ogr_basic_test.py:1146
______ ERROR at setup of test_geom_use_after_transfer_to_feature[string] _______
file /home/werdna/gdal/3.9.1/gdalautotest-3.9.1/ogr/ogr_basic_test.py, line 1146
  @pytest.mark.parametrize("arg_type", ("int", "string"))
  def test_geom_use_after_transfer_to_feature(tmp_vsimem, arg_type):
E       fixture 'tmp_vsimem' not found
>       available fixtures: benchmark, benchmark_weave, cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, file_handler, handle_delete, handle_get, handle_post, handle_put, monkeypatch, poly_feat, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, server, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory
>       use 'pytest --fixtures [testpath]' for help on them.

/home/werdna/gdal/3.9.1/gdalautotest-3.9.1/ogr/ogr_basic_test.py:1146
=================================== FAILURES ===================================
_______________________________ test_ogr_basic_6 _______________________________

    def test_ogr_basic_6():
    
>       with pytest.raises(Exception):
E       Failed: DID NOT RAISE <class 'Exception'>

ogr_basic_test.py:176: Failed
______________________________ test_ogr_basic_14 _______________________________

tmp_path = PosixPath('/tmp/user/500/pytest-of-werdna/pytest-2/test_ogr_basic_140')

    def test_ogr_basic_14(tmp_path):
    
        old_dir = os.getcwd()
        os.chdir(tmp_path)
        try:
>           with pytest.raises(Exception):
E           Failed: DID NOT RAISE <class 'Exception'>

ogr_basic_test.py:621: Failed
______________________________ test_ogr_basic_15 _______________________________

    def test_ogr_basic_15():
    
        ds = ogr.Open("data/poly.shp")
        lyr = ds.GetLayer(0)
    
        with gdal.ExceptionMgr(useExceptions=True):
>           with pytest.raises(
                Exception,
                match=r".*CreateFeature : unsupported operation on a read-only datasource.*",
            ):
E           Failed: DID NOT RAISE <class 'Exception'>

ogr_basic_test.py:637: Failed
----------------------------- Captured stderr call -----------------------------
ERROR 6: CreateFeature : unsupported operation on a read-only datasource.
____________________ test_feature_defn_use_after_layer_del _____________________

    def test_feature_defn_use_after_layer_del():
        with ogr.Open("data/poly.shp") as ds:
            lyr = ds.GetLayer(0)
    
            defn1 = lyr.GetLayerDefn()
            defn2 = lyr.GetLayerDefn()
    
>           with pytest.raises(
                Exception,
                match=r"OGRFeatureDefn::AddFieldDefn\(\) not allowed on a sealed object",
            ):
E           Failed: DID NOT RAISE <class 'Exception'>

ogr_basic_test.py:927: Failed
----------------------------- Captured stderr call -----------------------------
ERROR 1: OGRFeatureDefn::AddFieldDefn() not allowed on a sealed object
=============================== warnings summary ===============================
ogr_basic_test.py::test_ogr_basic_1
  /usr/local/gdal/3.9.1.llvm/lib/python3/dist-packages/osgeo/ogr.py:601: FutureWarning: Neither ogr.UseExceptions() nor ogr.DontUseExceptions() has been explicitly called. In GDAL 4.0, exceptions will be enabled by default.
    warnings.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED ogr_basic_test.py::test_ogr_basic_6 - Failed: DID NOT RAISE <class 'Ex...
FAILED ogr_basic_test.py::test_ogr_basic_14 - Failed: DID NOT RAISE <class 'E...
FAILED ogr_basic_test.py::test_ogr_basic_15 - Failed: DID NOT RAISE <class 'E...
FAILED ogr_basic_test.py::test_feature_defn_use_after_layer_del - Failed: DID...
ERROR ogr_basic_test.py::test_geom_use_after_transfer_to_feature_1
ERROR ogr_basic_test.py::test_geom_use_after_transfer_to_feature[int]
ERROR ogr_basic_test.py::test_geom_use_after_transfer_to_feature[string]
========= 4 failed, 60 passed, 1 skipped, 1 warning, 3 errors in 0.34s =========


More information about the gdal-dev mailing list