Bug#1067329: python-dtcwt: FTBFS: ValueError: Number of rows must be a positive integer, not 6.0

Lucas Nussbaum lucas at debian.org
Wed Mar 20 20:58:46 GMT 2024


Source: python-dtcwt
Version: 0.12.0-5
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20240319 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_auto_build
> I: pybuild base:305: /usr/bin/python3.12 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt
> copying dtcwt/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt
> copying dtcwt/compat.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt
> copying dtcwt/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt
> copying dtcwt/_version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt
> copying dtcwt/defaults.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt
> copying dtcwt/keypoint.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt
> copying dtcwt/sampling.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt
> copying dtcwt/registration.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt
> copying dtcwt/plotting.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt
> copying dtcwt/coeffs.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/tf
> copying dtcwt/tf/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/tf
> copying dtcwt/tf/common.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/tf
> copying dtcwt/tf/lowlevel.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/tf
> copying dtcwt/tf/transform1d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/tf
> copying dtcwt/tf/transform2d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/tf
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/opencl
> copying dtcwt/opencl/transform3d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/opencl
> copying dtcwt/opencl/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/opencl
> copying dtcwt/opencl/lowlevel.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/opencl
> copying dtcwt/opencl/transform2d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/opencl
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/numpy
> copying dtcwt/numpy/transform3d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/numpy
> copying dtcwt/numpy/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/numpy
> copying dtcwt/numpy/common.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/numpy
> copying dtcwt/numpy/lowlevel.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/numpy
> copying dtcwt/numpy/transform1d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/numpy
> copying dtcwt/numpy/transform2d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/numpy
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/data
> copying dtcwt/data/legall.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/data
> copying dtcwt/data/near_sym_b_bp.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_b.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_c.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_b_bp.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_a.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_06.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/data
> copying dtcwt/data/near_sym_a.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_32.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/data
> copying dtcwt/data/antonini.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/data
> copying dtcwt/data/near_sym_b.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_d.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/data
> I: pybuild base:305: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt
> copying dtcwt/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt
> copying dtcwt/compat.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt
> copying dtcwt/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt
> copying dtcwt/_version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt
> copying dtcwt/defaults.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt
> copying dtcwt/keypoint.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt
> copying dtcwt/sampling.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt
> copying dtcwt/registration.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt
> copying dtcwt/plotting.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt
> copying dtcwt/coeffs.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/tf
> copying dtcwt/tf/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/tf
> copying dtcwt/tf/common.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/tf
> copying dtcwt/tf/lowlevel.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/tf
> copying dtcwt/tf/transform1d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/tf
> copying dtcwt/tf/transform2d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/tf
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/opencl
> copying dtcwt/opencl/transform3d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/opencl
> copying dtcwt/opencl/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/opencl
> copying dtcwt/opencl/lowlevel.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/opencl
> copying dtcwt/opencl/transform2d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/opencl
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/numpy
> copying dtcwt/numpy/transform3d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/numpy
> copying dtcwt/numpy/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/numpy
> copying dtcwt/numpy/common.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/numpy
> copying dtcwt/numpy/lowlevel.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/numpy
> copying dtcwt/numpy/transform1d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/numpy
> copying dtcwt/numpy/transform2d.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/numpy
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/data
> copying dtcwt/data/legall.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/data
> copying dtcwt/data/near_sym_b_bp.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_b.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_c.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_b_bp.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_a.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_06.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/data
> copying dtcwt/data/near_sym_a.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_32.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/data
> copying dtcwt/data/antonini.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/data
> copying dtcwt/data/near_sym_b.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/data
> copying dtcwt/data/qshift_d.npz -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/data
> PYTHONPATH=. python3 -m sphinx -N -bhtml docs/ build/html
> Running Sphinx v7.2.6
> Matplotlib created a temporary config/cache directory at /tmp/matplotlib-wmh77j_v because the default path (/sbuild-nonexistent/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.
> making output directory... done
> building [mo]: targets for 0 po files that are out of date
> writing output... 
> building [html]: targets for 12 source files that are out of date
> updating environment: [new config] 12 added, 0 changed, 0 removed
> reading sources... [  8%] 1dtransform
> reading sources... [ 17%] 2dtransform
> reading sources... [ 25%] 3dtransform
> reading sources... [ 33%] algorithms
> reading sources... [ 42%] backends
> reading sources... [ 50%] examples
> No artists with labels found to put in legend.  Note that artists whose label start with an underscore are ignored when legend() is called with no argument.
> INFO:root:Loading frames from "traffic"
> INFO:root:Taking DTCWT
> INFO:root:Finding flow
> INFO:root:Computing warped image
> INFO:root:Computing velocity field
> INFO:root:Loading frames from "tennis"
> INFO:root:Taking DTCWT
> INFO:root:Finding flow
> INFO:root:Computing warped image
> INFO:root:Computing velocity field
> reading sources... [ 58%] gettingstarted
> reading sources... [ 67%] index
> reading sources... [ 75%] reference
> reading sources... [ 83%] registration
> reading sources... [ 92%] transforms
> reading sources... [100%] variant
> 
> /<<PKGBUILDDIR>>/docs/2dtransform.rst:8: WARNING: Exception occurred in plotting 2dtransform-1
>  from /<<PKGBUILDDIR>>/docs/2dtransform.rst:
> Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/matplotlib/sphinxext/plot_directive.py", line 517, in _run_code
>     exec(code, ns)
>   File "<string>", line 18, in <module>
>   File "/usr/lib/python3/dist-packages/matplotlib/pyplot.py", line 1272, in subplot
>     key = SubplotSpec._from_subplot_args(fig, args)
>           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/matplotlib/gridspec.py", line 604, in _from_subplot_args
>     raise ValueError(
> ValueError: num must be 1 <= num <= 6, not 0
> /<<PKGBUILDDIR>>/docs/3dtransform.rst:57: WARNING: Exception occurred in plotting 3dtransform-3
>  from /<<PKGBUILDDIR>>/docs/3dtransform.rst:
> Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/matplotlib/sphinxext/plot_directive.py", line 517, in _run_code
>     exec(code, ns)
>   File "<string>", line 17, in <module>
>   File "/usr/lib/python3/dist-packages/matplotlib/figure.py", line 746, in add_subplot
>     ax = subplot_class_factory(projection_class)(self, *args, **pkw)
>          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/matplotlib/axes/_subplots.py", line 36, in __init__
>     self.set_subplotspec(SubplotSpec._from_subplot_args(fig, args))
>                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/matplotlib/gridspec.py", line 593, in _from_subplot_args
>     gs = GridSpec._check_gridspec_exists(figure, rows, cols)
>          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/matplotlib/gridspec.py", line 226, in _check_gridspec_exists
>     return GridSpec(nrows, ncols, figure=figure)
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/matplotlib/gridspec.py", line 388, in __init__
>     super().__init__(nrows, ncols,
>   File "/usr/lib/python3/dist-packages/matplotlib/gridspec.py", line 49, in __init__
>     raise ValueError(
> ValueError: Number of rows must be a positive integer, not 6.0
> /<<PKGBUILDDIR>>/docs/backends.rst:2: WARNING: Duplicate explicit target name: "tensorflow".
> /<<PKGBUILDDIR>>/dtcwt/numpy/common.py:docstring of dtcwt.numpy.common.Pyramid:1: WARNING: duplicate object description of dtcwt.numpy.common.Pyramid, other instance in reference, use :no-index: for one of them
> /<<PKGBUILDDIR>>/dtcwt/numpy/transform1d.py:docstring of dtcwt.numpy.transform1d.Transform1d:1: WARNING: duplicate object description of dtcwt.numpy.transform1d.Transform1d, other instance in reference, use :no-index: for one of them
> /<<PKGBUILDDIR>>/dtcwt/numpy/transform2d.py:docstring of dtcwt.numpy.transform2d.Transform2d:1: WARNING: duplicate object description of dtcwt.numpy.transform2d.Transform2d, other instance in reference, use :no-index: for one of them
> /<<PKGBUILDDIR>>/dtcwt/numpy/transform3d.py:docstring of dtcwt.numpy.transform3d.Transform3d:1: WARNING: duplicate object description of dtcwt.numpy.transform3d.Transform3d, other instance in reference, use :no-index: for one of them
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> copying assets... copying downloadable files... [ 50%] 3d_dtcwt_directionality.py
> copying downloadable files... [100%] image-registration.py
> 
> copying static files... done
> copying extra files... done
> done
> writing output... [  8%] 1dtransform
> writing output... [ 17%] 2dtransform
> writing output... [ 25%] 3dtransform
> writing output... [ 33%] algorithms
> writing output... [ 42%] backends
> writing output... [ 50%] examples
> writing output... [ 58%] gettingstarted
> writing output... [ 67%] index
> writing output... [ 75%] reference
> writing output... [ 83%] registration
> writing output... [ 92%] transforms
> writing output... [100%] variant
> 
> generating indices... genindex py-modindex done
> writing additional pages... search done
> copying images... [  5%] ../build/html/plot_directive/1dtransform-1_00.png
> copying images... [ 10%] ../build/html/plot_directive/1dtransform-1_01.png
> copying images... [ 15%] ../build/html/plot_directive/1dtransform-1_02.png
> copying images... [ 20%] ../build/html/plot_directive/1dtransform-1_03.png
> copying images... [ 25%] ../build/html/plot_directive/1dtransform-1_04.png
> copying images... [ 30%] ../build/html/plot_directive/3dtransform-1_00.png
> copying images... [ 35%] ../build/html/plot_directive/3dtransform-1_01.png
> copying images... [ 40%] ../build/html/plot_directive/3dtransform-2_00.png
> copying images... [ 45%] ../build/html/plot_directive/3dtransform-2_01.png
> copying images... [ 50%] ../build/html/plot_directive/3d_dtcwt_directionality.png
> copying images... [ 55%] ../build/html/plot_directive/image-registration_00.png
> copying images... [ 60%] ../build/html/plot_directive/image-registration_01.png
> copying images... [ 65%] registration-flow.png
> copying images... [ 70%] ../build/html/plot_directive/registration-1.png
> copying images... [ 75%] ../build/html/plot_directive/registration-2.png
> copying images... [ 80%] ../build/html/plot_directive/registration-3.png
> copying images... [ 85%] ../build/html/plot_directive/registration-4.png
> copying images... [ 90%] modified_wavelets.png
> copying images... [ 95%] ../build/html/plot_directive/variant-1.png
> copying images... [100%] ../build/html/plot_directive/variant-2.png
> 
> dumping search index in English (code: en)... done
> dumping object inventory... done
> build succeeded, 7 warnings.
> 
> The HTML pages are in build/html.
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:305: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build; python3.12 -m pytest tests
> ============================= test session starts ==============================
> platform linux -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0
> rootdir: /<<PKGBUILDDIR>>
> collected 339 items
> 
> tests/test_againstmatlab.py FFFFFF                                       [  1%]
> tests/test_coeffs.py ............                                        [  5%]
> tests/test_coldfilt.py FFFFFFF                                           [  7%]
> tests/test_colfilter.py FFFFFFF                                          [  9%]
> tests/test_colifilt.py FFFFFFFFFF                                        [ 12%]
> tests/test_ifm1.py ...                                                   [ 13%]
> tests/test_ifm2.py FFFFF                                                 [ 14%]
> tests/test_import.py .                                                   [ 15%]
> tests/test_openclcoldfilt.py Fssssssss                                   [ 17%]
> tests/test_openclcolfilter.py Fssssss                                    [ 19%]
> tests/test_openclcolifilt.py Fssssssssssss                               [ 23%]
> tests/test_openclxfm2.py Fssssssssss                                     [ 26%]
> tests/test_reflect.py FF.                                                [ 27%]
> tests/test_registration.py FF                                            [ 28%]
> tests/test_sampling.py ...                                               [ 29%]
> tests/test_switchbackends.py ....s..                                     [ 31%]
> tests/test_tfTransform1d.py ssssssssssssssssssssssssssssssssssssss       [ 42%]
> tests/test_tfTransform2d.py ssssssssssssssssssssssssssssssssssssssssssss [ 55%]
> sssssssssssssss                                                          [ 59%]
> tests/test_tfcoldfilt.py sssssssssss                                     [ 63%]
> tests/test_tfcolfilter.py ssssssssssss                                   [ 66%]
> tests/test_tfcolifilt.py ssssssssssssss                                  [ 70%]
> tests/test_tfinputshapes.py ssssssssssssssssssss                         [ 76%]
> tests/test_tfrowdfilt.py sssssssssss                                     [ 79%]
> tests/test_tfrowfilter.py ssssssssssss                                   [ 83%]
> tests/test_utils.py .......                                              [ 85%]
> tests/test_xfm1.py ............                                          [ 89%]
> tests/test_xfm2.py FFFFFFFFFFFFFFF..F                                    [ 94%]
> tests/test_xfm3.py FFFFFFFFFFFFF..FFFF                                   [100%]
> 
> =================================== FAILURES ===================================
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert verif is not None
> E       NameError: name 'verif' is not defined
> 
> tests/test_againstmatlab.py:69: NameError
> ________________________________ test_coldfilt _________________________________
> 
>     def test_coldfilt():
>         h0o, g0o, h1o, g1o = biort('near_sym_b')
>         h0a, h0b, g0a, g0b, h1a, h1b, g1a, g1b = qshift('qshift_d')
> >       A = colifilt(mandrill, g0b, g0a)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_againstmatlab.py:81: NameError
> _______________________________ test_dtwavexfm2 ________________________________
> 
>     def test_dtwavexfm2():
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill, 4, 'near_sym_a', 'qshift_a', include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_againstmatlab.py:85: NameError
> _______________________________ test_dtwavexfm2b _______________________________
> 
>     def test_dtwavexfm2b():
> >       Yl, Yh, Yscale = dtwavexfm2b(mandrill, 4, 'near_sym_b_bp', 'qshift_b_bp', include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_againstmatlab.py:95: NameError
> ____________________________ test_rescale_highpass _____________________________
> 
>     def test_rescale_highpass():
>         # N.B we can only test bilinear rescaling since cpxinterb2b doesn't support Lanczos
> >       Yl, Yh = dtwavexfm2b(mandrill, 3, 'near_sym_a', 'qshift_a')
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_againstmatlab.py:106: NameError
> ____________________________ test_transform3d_numpy ____________________________
> 
>     def test_transform3d_numpy():
>         transform = Transform3d(biort='near_sym_b',qshift='qshift_b')
> >       td_signal = transform.forward(qbgn, nlevels=3, include_scale=True, discard_level_1=False)
> E       NameError: name 'qbgn' is not defined
> 
> tests/test_againstmatlab.py:117: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:15: NameError
> _______________________________ test_odd_filter ________________________________
> 
>     def test_odd_filter():
>         with raises(ValueError):
> >           coldfilt(mandrill, (-1,2,-1), (-1,2,1))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:22: NameError
> _____________________________ test_different_size ______________________________
> 
>     def test_different_size():
>         with raises(ValueError):
> >           coldfilt(mandrill, (-0.5,-1,2,1,0.5), (-1,2,-1))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:26: NameError
> _____________________________ test_bad_input_size ______________________________
> 
>     def test_bad_input_size():
>         with raises(ValueError):
> >           coldfilt(mandrill[:511,:], (-1,1), (1,-1))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:30: NameError
> _____________________________ test_good_input_size _____________________________
> 
>     def test_good_input_size():
> >       coldfilt(mandrill[:,:511], (-1,1), (1,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:33: NameError
> _____________________ test_good_input_size_non_orthogonal ______________________
> 
>     def test_good_input_size_non_orthogonal():
> >       coldfilt(mandrill[:,:511], (1,1), (1,1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:36: NameError
> _______________________________ test_output_size _______________________________
> 
>     def test_output_size():
> >       Y = coldfilt(mandrill, (-1,1), (1,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:39: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:14: NameError
> ________________________________ test_odd_size _________________________________
> 
>     def test_odd_size():
> >       y = colfilter(mandrill, (-1,2,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:28: NameError
> ________________________________ test_even_size ________________________________
> 
>     def test_even_size():
> >       y = colfilter(np.zeros_like(mandrill), (-1,1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:40: NameError
> _________________________________ test_qshift __________________________________
> 
>     def test_qshift():
> >       y = colfilter(mandrill, qshift('qshift_a')[0])
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:32: NameError
> __________________________________ test_biort __________________________________
> 
>     def test_biort():
> >       y = colfilter(mandrill, biort('antonini')[0])
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:36: NameError
> ___________________________ test_odd_size_non_array ____________________________
> 
>     def test_odd_size_non_array():
> >       y = colfilter(mandrill.tolist(), (-1,2,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:45: NameError
> ___________________________ test_even_size_non_array ___________________________
> 
>     def test_even_size_non_array():
> >       y = colfilter(mandrill.tolist(), (-1,1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:49: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:15: NameError
> _______________________________ test_odd_filter ________________________________
> 
>     def test_odd_filter():
>         with raises(ValueError):
> >           colifilt(mandrill, (-1,2,-1), (-1,2,1))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:22: NameError
> ____________________________ test_different_size_h _____________________________
> 
>     def test_different_size_h():
>         with raises(ValueError):
> >           colifilt(mandrill, (-1,2,1), (-0.5,-1,2,-1,0.5))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:26: NameError
> _______________________________ test_zero_input ________________________________
> 
>     def test_zero_input():
> >       Y = colifilt(np.zeros_like(mandrill), (-1,1), (1,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:29: NameError
> _____________________________ test_bad_input_size ______________________________
> 
>     def test_bad_input_size():
>         with raises(ValueError):
> >           colifilt(mandrill[:511,:], (-1,1), (1,-1))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:34: NameError
> _____________________________ test_good_input_size _____________________________
> 
>     def test_good_input_size():
> >       colifilt(mandrill[:,:511], (-1,1), (1,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:37: NameError
> _______________________________ test_output_size _______________________________
> 
>     def test_output_size():
> >       Y = colifilt(mandrill, (-1,1), (1,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:40: NameError
> __________________________ test_non_orthogonal_input ___________________________
> 
>     def test_non_orthogonal_input():
> >       Y = colifilt(mandrill, (1,1), (1,1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:44: NameError
> _________________________ test_output_size_non_mult_4 __________________________
> 
>     def test_output_size_non_mult_4():
> >       Y = colifilt(mandrill, (-1,0,0,1), (1,0,0,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:48: NameError
> _____________________ test_non_orthogonal_input_non_mult_4 _____________________
> 
>     def test_non_orthogonal_input_non_mult_4():
> >       Y = colifilt(mandrill, (1,0,0,1), (1,0,0,1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:52: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_ifm2.py:16: NameError
> _______________________________ test_reconstruct _______________________________
> 
>     def test_reconstruct():
>         # Reconstruction up to tolerance
> >       Yl, Yh = dtwavexfm2(mandrill)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_ifm2.py:23: NameError
> ____________________________ test_reconstruct_crop _____________________________
> 
>     def test_reconstruct_crop():
>         # Reconstruction up to tolerance
> >       Yl_crop, Yh_crop = dtwavexfm2(mandrill_crop)
> E       NameError: name 'mandrill_crop' is not defined
> 
> tests/test_ifm2.py:29: NameError
> ________________________ test_reconstruct_custom_filter ________________________
> 
>     def test_reconstruct_custom_filter():
>         # Reconstruction up to tolerance
> >       Yl, Yh = dtwavexfm2(mandrill, 4, biort('legall'), qshift('qshift_06'))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_ifm2.py:35: NameError
> ______________________________ test_float32_input ______________________________
> 
>     def test_float32_input():
>         # Check that an float32 input is correctly output as float32
> >       Yl, Yh = dtwavexfm2(mandrill.astype(np.float32))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_ifm2.py:41: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_openclcoldfilt.py:18: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_openclcolfilter.py:16: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_openclcolifilt.py:18: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_openclxfm2.py:20: NameError
> _________________________ test_linear_ramp_boundaries __________________________
> 
>     def test_linear_ramp_boundaries():
>         # Check boundaries
> >       assert not np.any(reflected < 30)
> E       NameError: name 'reflected' is not defined
> 
> tests/test_reflect.py:14: NameError
> ___________________________ test_linear_ramp_values ____________________________
> 
>     def test_linear_ramp_values():
>         # Check that valid region is unchanged
> >       r = np.logical_and(ramp >= 30, ramp <= 40)
> E       NameError: name 'ramp' is not defined
> 
> tests/test_reflect.py:19: NameError
> ______________________________ test_frames_loaded ______________________________
> 
>     def test_frames_loaded():
> >       assert f1.shape == (576, 768)
> E       NameError: name 'f1' is not defined
> 
> tests/test_registration.py:16: NameError
> _______________________________ test_estimatereg _______________________________
> 
>     def test_estimatereg():
>         nlevels = 6
>         trans = Transform2d()
> >       t1 = trans.forward(f1, nlevels=nlevels)
> E       NameError: name 'f1' is not defined
> 
> tests/test_registration.py:29: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:16: NameError
> _________________________________ test_simple __________________________________
> 
>     def test_simple():
> >       Yl, Yh = dtwavexfm2(mandrill)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:22: NameError
> ____________________________ test_specific_wavelet _____________________________
> 
>     def test_specific_wavelet():
> >       Yl, Yh = dtwavexfm2(mandrill, biort=biort('antonini'), qshift=qshift('qshift_06'))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:25: NameError
> ___________________________________ test_1d ____________________________________
> 
>     def test_1d():
> >       Yl, Yh = dtwavexfm2(mandrill[0,:])
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:28: NameError
> ___________________________________ test_3d ____________________________________
> 
>     def test_3d():
>         with raises(ValueError):
> >           Yl, Yh = dtwavexfm2(np.dstack((mandrill, mandrill)))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:32: NameError
> _____________________________ test_simple_w_scale ______________________________
> 
>     def test_simple_w_scale():
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill, include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:35: NameError
> ________________________________ test_odd_rows _________________________________
> 
>     def test_odd_rows():
> >       Yl, Yh = dtwavexfm2(mandrill[:509,:])
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:42: NameError
> ____________________________ test_odd_rows_w_scale _____________________________
> 
>     def test_odd_rows_w_scale():
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill[:509,:], include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:45: NameError
> ________________________________ test_odd_cols _________________________________
> 
>     def test_odd_cols():
> >       Yl, Yh = dtwavexfm2(mandrill[:,:509])
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:48: NameError
> ____________________________ test_odd_cols_w_scale _____________________________
> 
>     def test_odd_cols_w_scale():
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill[:509,:509], include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:51: NameError
> ____________________________ test_odd_rows_and_cols ____________________________
> 
>     def test_odd_rows_and_cols():
> >       Yl, Yh = dtwavexfm2(mandrill[:,:509])
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:54: NameError
> ________________________ test_odd_rows_and_cols_w_scale ________________________
> 
>     def test_odd_rows_and_cols_w_scale():
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill[:509,:509], include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:57: NameError
> ____________________________ test_rot_symm_modified ____________________________
> 
>     def test_rot_symm_modified():
>         # This test only checks there is no error running these functions, not that they work
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill, biort='near_sym_b_bp', qshift='qshift_b_bp', include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:61: NameError
> ________________________________ test_0_levels _________________________________
> 
>     def test_0_levels():
> >       Yl, Yh = dtwavexfm2(mandrill, nlevels=0)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:65: NameError
> ____________________________ test_0_levels_w_scale _____________________________
> 
>     def test_0_levels_w_scale():
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill, nlevels=0, include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:70: NameError
> ______________________________ test_float32_input ______________________________
> 
>     def test_float32_input():
>         # Check that an float32 input is correctly output as float32
> >       Yl, Yh = dtwavexfm2(mandrill.astype(np.float32))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:91: NameError
> ________________________________ test_ellipsoid ________________________________
> 
>     def test_ellipsoid():
>         # Check general aspects of ellipsoid are OK
> >       assert ellipsoid.shape == (GRID_SIZE,GRID_SIZE,GRID_SIZE)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:25: NameError
> ___________________________ test_simple_level_1_xfm ____________________________
> 
>     def test_simple_level_1_xfm():
>         # Just tests that the transform broadly works and gives expected size output
> >       Yl, Yh = dtwavexfm3(ellipsoid, 1)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:31: NameError
> __________________________ test_simple_level_1_recon ___________________________
> 
>     def test_simple_level_1_recon():
>         # Test for perfect reconstruction with 1 level
> >       Yl, Yh = dtwavexfm3(ellipsoid, 1)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:37: NameError
> ________________________ test_simple_level_1_recon_haar ________________________
> 
>     def test_simple_level_1_recon_haar():
>         # Test for perfect reconstruction with 1 level and Haar wavelets
>     
>         # Form Haar wavelets
>         h0 = np.array((1.0, 1.0))
>         g0 = h0
>         h0 = h0 / np.sum(h0)
>         g0 = g0 / np.sum(g0)
>         h1 = g0 * np.cumprod(-np.ones_like(g0))
>         g1 = -h0 * np.cumprod(-np.ones_like(h0))
>     
>         haar = (h0, g0, h1, g1)
>     
> >       Yl, Yh = dtwavexfm3(ellipsoid, 1, biort=haar)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:55: NameError
> ___________________________ test_simple_level_2_xfm ____________________________
> 
>     def test_simple_level_2_xfm():
>         # Just tests that the transform broadly works and gives expected size output
> >       Yl, Yh = dtwavexfm3(ellipsoid, 2)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:62: NameError
> __________________________ test_simple_level_2_recon ___________________________
> 
>     def test_simple_level_2_recon():
>         # Test for perfect reconstruction with 2 levels
> >       Yl, Yh = dtwavexfm3(ellipsoid, 2)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:68: NameError
> ___________________________ test_simple_level_4_xfm ____________________________
> 
>     def test_simple_level_4_xfm():
>         # Just tests that the transform broadly works and gives expected size output
> >       Yl, Yh = dtwavexfm3(ellipsoid, 4)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:75: NameError
> __________________________ test_simple_level_4_recon ___________________________
> 
>     def test_simple_level_4_recon():
>         # Test for perfect reconstruction with 3 levels
> >       Yl, Yh = dtwavexfm3(ellipsoid, 4)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:81: NameError
> __________________ test_simple_level_4_recon_custom_wavelets ___________________
> 
>     def test_simple_level_4_recon_custom_wavelets():
>         # Test for perfect reconstruction with 3 levels
>         b = biort('legall')
>         q = qshift('qshift_06')
> >       Yl, Yh = dtwavexfm3(ellipsoid, 4, biort=b, qshift=q)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:90: NameError
> ______________________ test_simple_level_4_xfm_ext_mode_8 ______________________
> 
>     def test_simple_level_4_xfm_ext_mode_8():
>         # Just tests that the transform broadly works and gives expected size output
> >       crop_ellipsoid = ellipsoid[:62,:58,:54]
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:97: NameError
> _____________________ test_simple_level_4_recon_ext_mode_8 _____________________
> 
>     def test_simple_level_4_recon_ext_mode_8():
>         # Test for perfect reconstruction with 3 levels
> >       crop_ellipsoid = ellipsoid[:62,:58,:54]
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:103: NameError
> ______________________ test_simple_level_4_xfm_ext_mode_4 ______________________
> 
>     def test_simple_level_4_xfm_ext_mode_4():
>         # Just tests that the transform broadly works and gives expected size output
> >       crop_ellipsoid = ellipsoid[:62,:54,:58]
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:111: NameError
> _____________________ test_simple_level_4_recon_ext_mode_4 _____________________
> 
>     def test_simple_level_4_recon_ext_mode_4():
>         # Test for perfect reconstruction with 3 levels
> >       crop_ellipsoid = ellipsoid[:62,:54,:58]
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:117: NameError
> ______________________________ test_float32_input ______________________________
> 
>     def test_float32_input():
>         # Check that an float32 input is correctly output as float32
> >       Yl, Yh = dtwavexfm3(ellipsoid.astype(np.float32))
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:139: NameError
> ______________________________ test_float32_recon ______________________________
> 
>     def test_float32_recon():
>         # Check that an float32 input is correctly output as float32
> >       Yl, Yh = dtwavexfm3(ellipsoid.astype(np.float32))
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:145: NameError
> ____________________ test_level_4_recon_discarding_level_1 _____________________
> 
>     def test_level_4_recon_discarding_level_1():
>         # Test for non-perfect but reasonable reconstruction
> >       Yl, Yh = dtwavexfm3(ellipsoid, 4, discard_level_1=True)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:154: NameError
> _______________________ test_level_4_discarding_level_1 ________________________
> 
>     def test_level_4_discarding_level_1():
>         # Test that level >= 2 highpasses are identical
> >       Yl1, Yh1 = dtwavexfm3(ellipsoid, 4, discard_level_1=True)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:163: NameError
> =============================== warnings summary ===============================
> dtcwt/tf/lowlevel.py:208
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/tf/lowlevel.py:208: SyntaxWarning: invalid escape sequence '\p'
>     """
> 
> dtcwt/sampling.py:132
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build/dtcwt/sampling.py:132: SyntaxWarning: invalid escape sequence '\i'
>     """Return a resampled version of *im* scaled to *shape*.
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info ============================
> FAILED tests/test_againstmatlab.py::test_mandrill_loaded - NameError: name 'v...
> FAILED tests/test_againstmatlab.py::test_coldfilt - NameError: name 'mandrill...
> FAILED tests/test_againstmatlab.py::test_dtwavexfm2 - NameError: name 'mandri...
> FAILED tests/test_againstmatlab.py::test_dtwavexfm2b - NameError: name 'mandr...
> FAILED tests/test_againstmatlab.py::test_rescale_highpass - NameError: name '...
> FAILED tests/test_againstmatlab.py::test_transform3d_numpy - NameError: name ...
> FAILED tests/test_coldfilt.py::test_mandrill_loaded - NameError: name 'mandri...
> FAILED tests/test_coldfilt.py::test_odd_filter - NameError: name 'mandrill' i...
> FAILED tests/test_coldfilt.py::test_different_size - NameError: name 'mandril...
> FAILED tests/test_coldfilt.py::test_bad_input_size - NameError: name 'mandril...
> FAILED tests/test_coldfilt.py::test_good_input_size - NameError: name 'mandri...
> FAILED tests/test_coldfilt.py::test_good_input_size_non_orthogonal - NameErro...
> FAILED tests/test_coldfilt.py::test_output_size - NameError: name 'mandrill' ...
> FAILED tests/test_colfilter.py::test_mandrill_loaded - NameError: name 'mandr...
> FAILED tests/test_colfilter.py::test_odd_size - NameError: name 'mandrill' is...
> FAILED tests/test_colfilter.py::test_even_size - NameError: name 'mandrill' i...
> FAILED tests/test_colfilter.py::test_qshift - NameError: name 'mandrill' is n...
> FAILED tests/test_colfilter.py::test_biort - NameError: name 'mandrill' is no...
> FAILED tests/test_colfilter.py::test_odd_size_non_array - NameError: name 'ma...
> FAILED tests/test_colfilter.py::test_even_size_non_array - NameError: name 'm...
> FAILED tests/test_colifilt.py::test_mandrill_loaded - NameError: name 'mandri...
> FAILED tests/test_colifilt.py::test_odd_filter - NameError: name 'mandrill' i...
> FAILED tests/test_colifilt.py::test_different_size_h - NameError: name 'mandr...
> FAILED tests/test_colifilt.py::test_zero_input - NameError: name 'mandrill' i...
> FAILED tests/test_colifilt.py::test_bad_input_size - NameError: name 'mandril...
> FAILED tests/test_colifilt.py::test_good_input_size - NameError: name 'mandri...
> FAILED tests/test_colifilt.py::test_output_size - NameError: name 'mandrill' ...
> FAILED tests/test_colifilt.py::test_non_orthogonal_input - NameError: name 'm...
> FAILED tests/test_colifilt.py::test_output_size_non_mult_4 - NameError: name ...
> FAILED tests/test_colifilt.py::test_non_orthogonal_input_non_mult_4 - NameErr...
> FAILED tests/test_ifm2.py::test_mandrill_loaded - NameError: name 'mandrill' ...
> FAILED tests/test_ifm2.py::test_reconstruct - NameError: name 'mandrill' is n...
> FAILED tests/test_ifm2.py::test_reconstruct_crop - NameError: name 'mandrill_...
> FAILED tests/test_ifm2.py::test_reconstruct_custom_filter - NameError: name '...
> FAILED tests/test_ifm2.py::test_float32_input - NameError: name 'mandrill' is...
> FAILED tests/test_openclcoldfilt.py::test_mandrill_loaded - NameError: name '...
> FAILED tests/test_openclcolfilter.py::test_mandrill_loaded - NameError: name ...
> FAILED tests/test_openclcolifilt.py::test_mandrill_loaded - NameError: name '...
> FAILED tests/test_openclxfm2.py::test_mandrill_loaded - NameError: name 'mand...
> FAILED tests/test_reflect.py::test_linear_ramp_boundaries - NameError: name '...
> FAILED tests/test_reflect.py::test_linear_ramp_values - NameError: name 'ramp...
> FAILED tests/test_registration.py::test_frames_loaded - NameError: name 'f1' ...
> FAILED tests/test_registration.py::test_estimatereg - NameError: name 'f1' is...
> FAILED tests/test_xfm2.py::test_mandrill_loaded - NameError: name 'mandrill' ...
> FAILED tests/test_xfm2.py::test_simple - NameError: name 'mandrill' is not de...
> FAILED tests/test_xfm2.py::test_specific_wavelet - NameError: name 'mandrill'...
> FAILED tests/test_xfm2.py::test_1d - NameError: name 'mandrill' is not defined
> FAILED tests/test_xfm2.py::test_3d - NameError: name 'mandrill' is not defined
> FAILED tests/test_xfm2.py::test_simple_w_scale - NameError: name 'mandrill' i...
> FAILED tests/test_xfm2.py::test_odd_rows - NameError: name 'mandrill' is not ...
> FAILED tests/test_xfm2.py::test_odd_rows_w_scale - NameError: name 'mandrill'...
> FAILED tests/test_xfm2.py::test_odd_cols - NameError: name 'mandrill' is not ...
> FAILED tests/test_xfm2.py::test_odd_cols_w_scale - NameError: name 'mandrill'...
> FAILED tests/test_xfm2.py::test_odd_rows_and_cols - NameError: name 'mandrill...
> FAILED tests/test_xfm2.py::test_odd_rows_and_cols_w_scale - NameError: name '...
> FAILED tests/test_xfm2.py::test_rot_symm_modified - NameError: name 'mandrill...
> FAILED tests/test_xfm2.py::test_0_levels - NameError: name 'mandrill' is not ...
> FAILED tests/test_xfm2.py::test_0_levels_w_scale - NameError: name 'mandrill'...
> FAILED tests/test_xfm2.py::test_float32_input - NameError: name 'mandrill' is...
> FAILED tests/test_xfm3.py::test_ellipsoid - NameError: name 'ellipsoid' is no...
> FAILED tests/test_xfm3.py::test_simple_level_1_xfm - NameError: name 'ellipso...
> FAILED tests/test_xfm3.py::test_simple_level_1_recon - NameError: name 'ellip...
> FAILED tests/test_xfm3.py::test_simple_level_1_recon_haar - NameError: name '...
> FAILED tests/test_xfm3.py::test_simple_level_2_xfm - NameError: name 'ellipso...
> FAILED tests/test_xfm3.py::test_simple_level_2_recon - NameError: name 'ellip...
> FAILED tests/test_xfm3.py::test_simple_level_4_xfm - NameError: name 'ellipso...
> FAILED tests/test_xfm3.py::test_simple_level_4_recon - NameError: name 'ellip...
> FAILED tests/test_xfm3.py::test_simple_level_4_recon_custom_wavelets - NameEr...
> FAILED tests/test_xfm3.py::test_simple_level_4_xfm_ext_mode_8 - NameError: na...
> FAILED tests/test_xfm3.py::test_simple_level_4_recon_ext_mode_8 - NameError: ...
> FAILED tests/test_xfm3.py::test_simple_level_4_xfm_ext_mode_4 - NameError: na...
> FAILED tests/test_xfm3.py::test_simple_level_4_recon_ext_mode_4 - NameError: ...
> FAILED tests/test_xfm3.py::test_float32_input - NameError: name 'ellipsoid' i...
> FAILED tests/test_xfm3.py::test_float32_recon - NameError: name 'ellipsoid' i...
> FAILED tests/test_xfm3.py::test_level_4_recon_discarding_level_1 - NameError:...
> FAILED tests/test_xfm3.py::test_level_4_discarding_level_1 - NameError: name ...
> ============ 76 failed, 49 passed, 214 skipped, 2 warnings in 3.34s ============
> E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_dtcwt/build; python3.12 -m pytest tests
> I: pybuild base:305: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build; python3.11 -m pytest tests
> ============================= test session starts ==============================
> platform linux -- Python 3.11.8, pytest-8.1.1, pluggy-1.4.0
> rootdir: /<<PKGBUILDDIR>>
> collected 339 items
> 
> tests/test_againstmatlab.py FFFFFF                                       [  1%]
> tests/test_coeffs.py ............                                        [  5%]
> tests/test_coldfilt.py FFFFFFF                                           [  7%]
> tests/test_colfilter.py FFFFFFF                                          [  9%]
> tests/test_colifilt.py FFFFFFFFFF                                        [ 12%]
> tests/test_ifm1.py ...                                                   [ 13%]
> tests/test_ifm2.py FFFFF                                                 [ 14%]
> tests/test_import.py .                                                   [ 15%]
> tests/test_openclcoldfilt.py Fssssssss                                   [ 17%]
> tests/test_openclcolfilter.py Fssssss                                    [ 19%]
> tests/test_openclcolifilt.py Fssssssssssss                               [ 23%]
> tests/test_openclxfm2.py Fssssssssss                                     [ 26%]
> tests/test_reflect.py FF.                                                [ 27%]
> tests/test_registration.py FF                                            [ 28%]
> tests/test_sampling.py ...                                               [ 29%]
> tests/test_switchbackends.py ....s..                                     [ 31%]
> tests/test_tfTransform1d.py ssssssssssssssssssssssssssssssssssssss       [ 42%]
> tests/test_tfTransform2d.py ssssssssssssssssssssssssssssssssssssssssssss [ 55%]
> sssssssssssssss                                                          [ 59%]
> tests/test_tfcoldfilt.py sssssssssss                                     [ 63%]
> tests/test_tfcolfilter.py ssssssssssss                                   [ 66%]
> tests/test_tfcolifilt.py ssssssssssssss                                  [ 70%]
> tests/test_tfinputshapes.py ssssssssssssssssssss                         [ 76%]
> tests/test_tfrowdfilt.py sssssssssss                                     [ 79%]
> tests/test_tfrowfilter.py ssssssssssss                                   [ 83%]
> tests/test_utils.py .......                                              [ 85%]
> tests/test_xfm1.py ............                                          [ 89%]
> tests/test_xfm2.py FFFFFFFFFFFFFFF..F                                    [ 94%]
> tests/test_xfm3.py FFFFFFFFFFFFF..FFFF                                   [100%]
> 
> =================================== FAILURES ===================================
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert verif is not None
> E       NameError: name 'verif' is not defined
> 
> tests/test_againstmatlab.py:69: NameError
> ________________________________ test_coldfilt _________________________________
> 
>     def test_coldfilt():
>         h0o, g0o, h1o, g1o = biort('near_sym_b')
>         h0a, h0b, g0a, g0b, h1a, h1b, g1a, g1b = qshift('qshift_d')
> >       A = colifilt(mandrill, g0b, g0a)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_againstmatlab.py:81: NameError
> _______________________________ test_dtwavexfm2 ________________________________
> 
>     def test_dtwavexfm2():
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill, 4, 'near_sym_a', 'qshift_a', include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_againstmatlab.py:85: NameError
> _______________________________ test_dtwavexfm2b _______________________________
> 
>     def test_dtwavexfm2b():
> >       Yl, Yh, Yscale = dtwavexfm2b(mandrill, 4, 'near_sym_b_bp', 'qshift_b_bp', include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_againstmatlab.py:95: NameError
> ____________________________ test_rescale_highpass _____________________________
> 
>     def test_rescale_highpass():
>         # N.B we can only test bilinear rescaling since cpxinterb2b doesn't support Lanczos
> >       Yl, Yh = dtwavexfm2b(mandrill, 3, 'near_sym_a', 'qshift_a')
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_againstmatlab.py:106: NameError
> ____________________________ test_transform3d_numpy ____________________________
> 
>     def test_transform3d_numpy():
>         transform = Transform3d(biort='near_sym_b',qshift='qshift_b')
> >       td_signal = transform.forward(qbgn, nlevels=3, include_scale=True, discard_level_1=False)
> E       NameError: name 'qbgn' is not defined
> 
> tests/test_againstmatlab.py:117: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:15: NameError
> _______________________________ test_odd_filter ________________________________
> 
>     def test_odd_filter():
>         with raises(ValueError):
> >           coldfilt(mandrill, (-1,2,-1), (-1,2,1))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:22: NameError
> _____________________________ test_different_size ______________________________
> 
>     def test_different_size():
>         with raises(ValueError):
> >           coldfilt(mandrill, (-0.5,-1,2,1,0.5), (-1,2,-1))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:26: NameError
> _____________________________ test_bad_input_size ______________________________
> 
>     def test_bad_input_size():
>         with raises(ValueError):
> >           coldfilt(mandrill[:511,:], (-1,1), (1,-1))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:30: NameError
> _____________________________ test_good_input_size _____________________________
> 
>     def test_good_input_size():
> >       coldfilt(mandrill[:,:511], (-1,1), (1,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:33: NameError
> _____________________ test_good_input_size_non_orthogonal ______________________
> 
>     def test_good_input_size_non_orthogonal():
> >       coldfilt(mandrill[:,:511], (1,1), (1,1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:36: NameError
> _______________________________ test_output_size _______________________________
> 
>     def test_output_size():
> >       Y = coldfilt(mandrill, (-1,1), (1,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_coldfilt.py:39: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:14: NameError
> ________________________________ test_odd_size _________________________________
> 
>     def test_odd_size():
> >       y = colfilter(mandrill, (-1,2,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:28: NameError
> ________________________________ test_even_size ________________________________
> 
>     def test_even_size():
> >       y = colfilter(np.zeros_like(mandrill), (-1,1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:40: NameError
> _________________________________ test_qshift __________________________________
> 
>     def test_qshift():
> >       y = colfilter(mandrill, qshift('qshift_a')[0])
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:32: NameError
> __________________________________ test_biort __________________________________
> 
>     def test_biort():
> >       y = colfilter(mandrill, biort('antonini')[0])
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:36: NameError
> ___________________________ test_odd_size_non_array ____________________________
> 
>     def test_odd_size_non_array():
> >       y = colfilter(mandrill.tolist(), (-1,2,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:45: NameError
> ___________________________ test_even_size_non_array ___________________________
> 
>     def test_even_size_non_array():
> >       y = colfilter(mandrill.tolist(), (-1,1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colfilter.py:49: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:15: NameError
> _______________________________ test_odd_filter ________________________________
> 
>     def test_odd_filter():
>         with raises(ValueError):
> >           colifilt(mandrill, (-1,2,-1), (-1,2,1))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:22: NameError
> ____________________________ test_different_size_h _____________________________
> 
>     def test_different_size_h():
>         with raises(ValueError):
> >           colifilt(mandrill, (-1,2,1), (-0.5,-1,2,-1,0.5))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:26: NameError
> _______________________________ test_zero_input ________________________________
> 
>     def test_zero_input():
> >       Y = colifilt(np.zeros_like(mandrill), (-1,1), (1,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:29: NameError
> _____________________________ test_bad_input_size ______________________________
> 
>     def test_bad_input_size():
>         with raises(ValueError):
> >           colifilt(mandrill[:511,:], (-1,1), (1,-1))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:34: NameError
> _____________________________ test_good_input_size _____________________________
> 
>     def test_good_input_size():
> >       colifilt(mandrill[:,:511], (-1,1), (1,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:37: NameError
> _______________________________ test_output_size _______________________________
> 
>     def test_output_size():
> >       Y = colifilt(mandrill, (-1,1), (1,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:40: NameError
> __________________________ test_non_orthogonal_input ___________________________
> 
>     def test_non_orthogonal_input():
> >       Y = colifilt(mandrill, (1,1), (1,1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:44: NameError
> _________________________ test_output_size_non_mult_4 __________________________
> 
>     def test_output_size_non_mult_4():
> >       Y = colifilt(mandrill, (-1,0,0,1), (1,0,0,-1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:48: NameError
> _____________________ test_non_orthogonal_input_non_mult_4 _____________________
> 
>     def test_non_orthogonal_input_non_mult_4():
> >       Y = colifilt(mandrill, (1,0,0,1), (1,0,0,1))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_colifilt.py:52: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_ifm2.py:16: NameError
> _______________________________ test_reconstruct _______________________________
> 
>     def test_reconstruct():
>         # Reconstruction up to tolerance
> >       Yl, Yh = dtwavexfm2(mandrill)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_ifm2.py:23: NameError
> ____________________________ test_reconstruct_crop _____________________________
> 
>     def test_reconstruct_crop():
>         # Reconstruction up to tolerance
> >       Yl_crop, Yh_crop = dtwavexfm2(mandrill_crop)
> E       NameError: name 'mandrill_crop' is not defined
> 
> tests/test_ifm2.py:29: NameError
> ________________________ test_reconstruct_custom_filter ________________________
> 
>     def test_reconstruct_custom_filter():
>         # Reconstruction up to tolerance
> >       Yl, Yh = dtwavexfm2(mandrill, 4, biort('legall'), qshift('qshift_06'))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_ifm2.py:35: NameError
> ______________________________ test_float32_input ______________________________
> 
>     def test_float32_input():
>         # Check that an float32 input is correctly output as float32
> >       Yl, Yh = dtwavexfm2(mandrill.astype(np.float32))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_ifm2.py:41: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_openclcoldfilt.py:18: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_openclcolfilter.py:16: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_openclcolifilt.py:18: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_openclxfm2.py:20: NameError
> _________________________ test_linear_ramp_boundaries __________________________
> 
>     def test_linear_ramp_boundaries():
>         # Check boundaries
> >       assert not np.any(reflected < 30)
> E       NameError: name 'reflected' is not defined
> 
> tests/test_reflect.py:14: NameError
> ___________________________ test_linear_ramp_values ____________________________
> 
>     def test_linear_ramp_values():
>         # Check that valid region is unchanged
> >       r = np.logical_and(ramp >= 30, ramp <= 40)
> E       NameError: name 'ramp' is not defined
> 
> tests/test_reflect.py:19: NameError
> ______________________________ test_frames_loaded ______________________________
> 
>     def test_frames_loaded():
> >       assert f1.shape == (576, 768)
> E       NameError: name 'f1' is not defined
> 
> tests/test_registration.py:16: NameError
> _______________________________ test_estimatereg _______________________________
> 
>     def test_estimatereg():
>         nlevels = 6
>         trans = Transform2d()
> >       t1 = trans.forward(f1, nlevels=nlevels)
> E       NameError: name 'f1' is not defined
> 
> tests/test_registration.py:29: NameError
> _____________________________ test_mandrill_loaded _____________________________
> 
>     def test_mandrill_loaded():
> >       assert mandrill.shape == (512, 512)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:16: NameError
> _________________________________ test_simple __________________________________
> 
>     def test_simple():
> >       Yl, Yh = dtwavexfm2(mandrill)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:22: NameError
> ____________________________ test_specific_wavelet _____________________________
> 
>     def test_specific_wavelet():
> >       Yl, Yh = dtwavexfm2(mandrill, biort=biort('antonini'), qshift=qshift('qshift_06'))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:25: NameError
> ___________________________________ test_1d ____________________________________
> 
>     def test_1d():
> >       Yl, Yh = dtwavexfm2(mandrill[0,:])
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:28: NameError
> ___________________________________ test_3d ____________________________________
> 
>     def test_3d():
>         with raises(ValueError):
> >           Yl, Yh = dtwavexfm2(np.dstack((mandrill, mandrill)))
> E           NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:32: NameError
> _____________________________ test_simple_w_scale ______________________________
> 
>     def test_simple_w_scale():
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill, include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:35: NameError
> ________________________________ test_odd_rows _________________________________
> 
>     def test_odd_rows():
> >       Yl, Yh = dtwavexfm2(mandrill[:509,:])
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:42: NameError
> ____________________________ test_odd_rows_w_scale _____________________________
> 
>     def test_odd_rows_w_scale():
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill[:509,:], include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:45: NameError
> ________________________________ test_odd_cols _________________________________
> 
>     def test_odd_cols():
> >       Yl, Yh = dtwavexfm2(mandrill[:,:509])
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:48: NameError
> ____________________________ test_odd_cols_w_scale _____________________________
> 
>     def test_odd_cols_w_scale():
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill[:509,:509], include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:51: NameError
> ____________________________ test_odd_rows_and_cols ____________________________
> 
>     def test_odd_rows_and_cols():
> >       Yl, Yh = dtwavexfm2(mandrill[:,:509])
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:54: NameError
> ________________________ test_odd_rows_and_cols_w_scale ________________________
> 
>     def test_odd_rows_and_cols_w_scale():
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill[:509,:509], include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:57: NameError
> ____________________________ test_rot_symm_modified ____________________________
> 
>     def test_rot_symm_modified():
>         # This test only checks there is no error running these functions, not that they work
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill, biort='near_sym_b_bp', qshift='qshift_b_bp', include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:61: NameError
> ________________________________ test_0_levels _________________________________
> 
>     def test_0_levels():
> >       Yl, Yh = dtwavexfm2(mandrill, nlevels=0)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:65: NameError
> ____________________________ test_0_levels_w_scale _____________________________
> 
>     def test_0_levels_w_scale():
> >       Yl, Yh, Yscale = dtwavexfm2(mandrill, nlevels=0, include_scale=True)
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:70: NameError
> ______________________________ test_float32_input ______________________________
> 
>     def test_float32_input():
>         # Check that an float32 input is correctly output as float32
> >       Yl, Yh = dtwavexfm2(mandrill.astype(np.float32))
> E       NameError: name 'mandrill' is not defined
> 
> tests/test_xfm2.py:91: NameError
> ________________________________ test_ellipsoid ________________________________
> 
>     def test_ellipsoid():
>         # Check general aspects of ellipsoid are OK
> >       assert ellipsoid.shape == (GRID_SIZE,GRID_SIZE,GRID_SIZE)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:25: NameError
> ___________________________ test_simple_level_1_xfm ____________________________
> 
>     def test_simple_level_1_xfm():
>         # Just tests that the transform broadly works and gives expected size output
> >       Yl, Yh = dtwavexfm3(ellipsoid, 1)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:31: NameError
> __________________________ test_simple_level_1_recon ___________________________
> 
>     def test_simple_level_1_recon():
>         # Test for perfect reconstruction with 1 level
> >       Yl, Yh = dtwavexfm3(ellipsoid, 1)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:37: NameError
> ________________________ test_simple_level_1_recon_haar ________________________
> 
>     def test_simple_level_1_recon_haar():
>         # Test for perfect reconstruction with 1 level and Haar wavelets
>     
>         # Form Haar wavelets
>         h0 = np.array((1.0, 1.0))
>         g0 = h0
>         h0 = h0 / np.sum(h0)
>         g0 = g0 / np.sum(g0)
>         h1 = g0 * np.cumprod(-np.ones_like(g0))
>         g1 = -h0 * np.cumprod(-np.ones_like(h0))
>     
>         haar = (h0, g0, h1, g1)
>     
> >       Yl, Yh = dtwavexfm3(ellipsoid, 1, biort=haar)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:55: NameError
> ___________________________ test_simple_level_2_xfm ____________________________
> 
>     def test_simple_level_2_xfm():
>         # Just tests that the transform broadly works and gives expected size output
> >       Yl, Yh = dtwavexfm3(ellipsoid, 2)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:62: NameError
> __________________________ test_simple_level_2_recon ___________________________
> 
>     def test_simple_level_2_recon():
>         # Test for perfect reconstruction with 2 levels
> >       Yl, Yh = dtwavexfm3(ellipsoid, 2)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:68: NameError
> ___________________________ test_simple_level_4_xfm ____________________________
> 
>     def test_simple_level_4_xfm():
>         # Just tests that the transform broadly works and gives expected size output
> >       Yl, Yh = dtwavexfm3(ellipsoid, 4)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:75: NameError
> __________________________ test_simple_level_4_recon ___________________________
> 
>     def test_simple_level_4_recon():
>         # Test for perfect reconstruction with 3 levels
> >       Yl, Yh = dtwavexfm3(ellipsoid, 4)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:81: NameError
> __________________ test_simple_level_4_recon_custom_wavelets ___________________
> 
>     def test_simple_level_4_recon_custom_wavelets():
>         # Test for perfect reconstruction with 3 levels
>         b = biort('legall')
>         q = qshift('qshift_06')
> >       Yl, Yh = dtwavexfm3(ellipsoid, 4, biort=b, qshift=q)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:90: NameError
> ______________________ test_simple_level_4_xfm_ext_mode_8 ______________________
> 
>     def test_simple_level_4_xfm_ext_mode_8():
>         # Just tests that the transform broadly works and gives expected size output
> >       crop_ellipsoid = ellipsoid[:62,:58,:54]
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:97: NameError
> _____________________ test_simple_level_4_recon_ext_mode_8 _____________________
> 
>     def test_simple_level_4_recon_ext_mode_8():
>         # Test for perfect reconstruction with 3 levels
> >       crop_ellipsoid = ellipsoid[:62,:58,:54]
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:103: NameError
> ______________________ test_simple_level_4_xfm_ext_mode_4 ______________________
> 
>     def test_simple_level_4_xfm_ext_mode_4():
>         # Just tests that the transform broadly works and gives expected size output
> >       crop_ellipsoid = ellipsoid[:62,:54,:58]
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:111: NameError
> _____________________ test_simple_level_4_recon_ext_mode_4 _____________________
> 
>     def test_simple_level_4_recon_ext_mode_4():
>         # Test for perfect reconstruction with 3 levels
> >       crop_ellipsoid = ellipsoid[:62,:54,:58]
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:117: NameError
> ______________________________ test_float32_input ______________________________
> 
>     def test_float32_input():
>         # Check that an float32 input is correctly output as float32
> >       Yl, Yh = dtwavexfm3(ellipsoid.astype(np.float32))
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:139: NameError
> ______________________________ test_float32_recon ______________________________
> 
>     def test_float32_recon():
>         # Check that an float32 input is correctly output as float32
> >       Yl, Yh = dtwavexfm3(ellipsoid.astype(np.float32))
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:145: NameError
> ____________________ test_level_4_recon_discarding_level_1 _____________________
> 
>     def test_level_4_recon_discarding_level_1():
>         # Test for non-perfect but reasonable reconstruction
> >       Yl, Yh = dtwavexfm3(ellipsoid, 4, discard_level_1=True)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:154: NameError
> _______________________ test_level_4_discarding_level_1 ________________________
> 
>     def test_level_4_discarding_level_1():
>         # Test that level >= 2 highpasses are identical
> >       Yl1, Yh1 = dtwavexfm3(ellipsoid, 4, discard_level_1=True)
> E       NameError: name 'ellipsoid' is not defined
> 
> tests/test_xfm3.py:163: NameError
> =============================== warnings summary ===============================
> dtcwt/tf/lowlevel.py:208
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/tf/lowlevel.py:208: DeprecationWarning: invalid escape sequence '\p'
>     """
> 
> dtcwt/sampling.py:132
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build/dtcwt/sampling.py:132: DeprecationWarning: invalid escape sequence '\i'
>     """Return a resampled version of *im* scaled to *shape*.
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info ============================
> FAILED tests/test_againstmatlab.py::test_mandrill_loaded - NameError: name 'v...
> FAILED tests/test_againstmatlab.py::test_coldfilt - NameError: name 'mandrill...
> FAILED tests/test_againstmatlab.py::test_dtwavexfm2 - NameError: name 'mandri...
> FAILED tests/test_againstmatlab.py::test_dtwavexfm2b - NameError: name 'mandr...
> FAILED tests/test_againstmatlab.py::test_rescale_highpass - NameError: name '...
> FAILED tests/test_againstmatlab.py::test_transform3d_numpy - NameError: name ...
> FAILED tests/test_coldfilt.py::test_mandrill_loaded - NameError: name 'mandri...
> FAILED tests/test_coldfilt.py::test_odd_filter - NameError: name 'mandrill' i...
> FAILED tests/test_coldfilt.py::test_different_size - NameError: name 'mandril...
> FAILED tests/test_coldfilt.py::test_bad_input_size - NameError: name 'mandril...
> FAILED tests/test_coldfilt.py::test_good_input_size - NameError: name 'mandri...
> FAILED tests/test_coldfilt.py::test_good_input_size_non_orthogonal - NameErro...
> FAILED tests/test_coldfilt.py::test_output_size - NameError: name 'mandrill' ...
> FAILED tests/test_colfilter.py::test_mandrill_loaded - NameError: name 'mandr...
> FAILED tests/test_colfilter.py::test_odd_size - NameError: name 'mandrill' is...
> FAILED tests/test_colfilter.py::test_even_size - NameError: name 'mandrill' i...
> FAILED tests/test_colfilter.py::test_qshift - NameError: name 'mandrill' is n...
> FAILED tests/test_colfilter.py::test_biort - NameError: name 'mandrill' is no...
> FAILED tests/test_colfilter.py::test_odd_size_non_array - NameError: name 'ma...
> FAILED tests/test_colfilter.py::test_even_size_non_array - NameError: name 'm...
> FAILED tests/test_colifilt.py::test_mandrill_loaded - NameError: name 'mandri...
> FAILED tests/test_colifilt.py::test_odd_filter - NameError: name 'mandrill' i...
> FAILED tests/test_colifilt.py::test_different_size_h - NameError: name 'mandr...
> FAILED tests/test_colifilt.py::test_zero_input - NameError: name 'mandrill' i...
> FAILED tests/test_colifilt.py::test_bad_input_size - NameError: name 'mandril...
> FAILED tests/test_colifilt.py::test_good_input_size - NameError: name 'mandri...
> FAILED tests/test_colifilt.py::test_output_size - NameError: name 'mandrill' ...
> FAILED tests/test_colifilt.py::test_non_orthogonal_input - NameError: name 'm...
> FAILED tests/test_colifilt.py::test_output_size_non_mult_4 - NameError: name ...
> FAILED tests/test_colifilt.py::test_non_orthogonal_input_non_mult_4 - NameErr...
> FAILED tests/test_ifm2.py::test_mandrill_loaded - NameError: name 'mandrill' ...
> FAILED tests/test_ifm2.py::test_reconstruct - NameError: name 'mandrill' is n...
> FAILED tests/test_ifm2.py::test_reconstruct_crop - NameError: name 'mandrill_...
> FAILED tests/test_ifm2.py::test_reconstruct_custom_filter - NameError: name '...
> FAILED tests/test_ifm2.py::test_float32_input - NameError: name 'mandrill' is...
> FAILED tests/test_openclcoldfilt.py::test_mandrill_loaded - NameError: name '...
> FAILED tests/test_openclcolfilter.py::test_mandrill_loaded - NameError: name ...
> FAILED tests/test_openclcolifilt.py::test_mandrill_loaded - NameError: name '...
> FAILED tests/test_openclxfm2.py::test_mandrill_loaded - NameError: name 'mand...
> FAILED tests/test_reflect.py::test_linear_ramp_boundaries - NameError: name '...
> FAILED tests/test_reflect.py::test_linear_ramp_values - NameError: name 'ramp...
> FAILED tests/test_registration.py::test_frames_loaded - NameError: name 'f1' ...
> FAILED tests/test_registration.py::test_estimatereg - NameError: name 'f1' is...
> FAILED tests/test_xfm2.py::test_mandrill_loaded - NameError: name 'mandrill' ...
> FAILED tests/test_xfm2.py::test_simple - NameError: name 'mandrill' is not de...
> FAILED tests/test_xfm2.py::test_specific_wavelet - NameError: name 'mandrill'...
> FAILED tests/test_xfm2.py::test_1d - NameError: name 'mandrill' is not defined
> FAILED tests/test_xfm2.py::test_3d - NameError: name 'mandrill' is not defined
> FAILED tests/test_xfm2.py::test_simple_w_scale - NameError: name 'mandrill' i...
> FAILED tests/test_xfm2.py::test_odd_rows - NameError: name 'mandrill' is not ...
> FAILED tests/test_xfm2.py::test_odd_rows_w_scale - NameError: name 'mandrill'...
> FAILED tests/test_xfm2.py::test_odd_cols - NameError: name 'mandrill' is not ...
> FAILED tests/test_xfm2.py::test_odd_cols_w_scale - NameError: name 'mandrill'...
> FAILED tests/test_xfm2.py::test_odd_rows_and_cols - NameError: name 'mandrill...
> FAILED tests/test_xfm2.py::test_odd_rows_and_cols_w_scale - NameError: name '...
> FAILED tests/test_xfm2.py::test_rot_symm_modified - NameError: name 'mandrill...
> FAILED tests/test_xfm2.py::test_0_levels - NameError: name 'mandrill' is not ...
> FAILED tests/test_xfm2.py::test_0_levels_w_scale - NameError: name 'mandrill'...
> FAILED tests/test_xfm2.py::test_float32_input - NameError: name 'mandrill' is...
> FAILED tests/test_xfm3.py::test_ellipsoid - NameError: name 'ellipsoid' is no...
> FAILED tests/test_xfm3.py::test_simple_level_1_xfm - NameError: name 'ellipso...
> FAILED tests/test_xfm3.py::test_simple_level_1_recon - NameError: name 'ellip...
> FAILED tests/test_xfm3.py::test_simple_level_1_recon_haar - NameError: name '...
> FAILED tests/test_xfm3.py::test_simple_level_2_xfm - NameError: name 'ellipso...
> FAILED tests/test_xfm3.py::test_simple_level_2_recon - NameError: name 'ellip...
> FAILED tests/test_xfm3.py::test_simple_level_4_xfm - NameError: name 'ellipso...
> FAILED tests/test_xfm3.py::test_simple_level_4_recon - NameError: name 'ellip...
> FAILED tests/test_xfm3.py::test_simple_level_4_recon_custom_wavelets - NameEr...
> FAILED tests/test_xfm3.py::test_simple_level_4_xfm_ext_mode_8 - NameError: na...
> FAILED tests/test_xfm3.py::test_simple_level_4_recon_ext_mode_8 - NameError: ...
> FAILED tests/test_xfm3.py::test_simple_level_4_xfm_ext_mode_4 - NameError: na...
> FAILED tests/test_xfm3.py::test_simple_level_4_recon_ext_mode_4 - NameError: ...
> FAILED tests/test_xfm3.py::test_float32_input - NameError: name 'ellipsoid' i...
> FAILED tests/test_xfm3.py::test_float32_recon - NameError: name 'ellipsoid' i...
> FAILED tests/test_xfm3.py::test_level_4_recon_discarding_level_1 - NameError:...
> FAILED tests/test_xfm3.py::test_level_4_discarding_level_1 - NameError: name ...
> ============ 76 failed, 49 passed, 214 skipped, 2 warnings in 2.69s ============
> E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_dtcwt/build; python3.11 -m pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 3.11" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2024/03/19/python-dtcwt_0.12.0-5_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240319;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240319&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



More information about the debian-science-maintainers mailing list