[Debian-astro-maintainers] Bug#860620: spectral-cube: FTBFS on i386: Test failures

Lucas Nussbaum lucas at debian.org
Wed Apr 19 07:42:27 UTC 2017


Source: spectral-cube
Version: 0.4.0-1
Severity: serious
Tags: stretch sid
User: debian-qa at lists.debian.org
Usertags: qa-ftbfs-20170418-i386 qa-ftbfs
Justification: FTBFS in stretch on i386

Hi,

During a rebuild of all packages in stretch (in a stretch chroot, not a
sid chroot), your package failed to build on i386.

Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> cd spectral_cube/tests/data && python make_test_cubes.py
> /usr/lib/python2.7/dist-packages/astropy/config/configuration.py:541: ConfigurationMissingWarning: Configuration defaults will be used due to OSError:2 on None
>   warn(ConfigurationMissingWarning(msg))
> WARNING: AstropyDeprecationWarning: "clobber" was deprecated in version 1.3 and will be removed in a future version. Use argument "overwrite" instead. [astropy.utils.decorators]
> WARNING: VerifyWarning: Invalid 'BLANK' keyword in header.  The 'BLANK' keyword is only applicable to integer data, and will be ignored in this HDU. [astropy.io.fits.hdu.image]
> python2.7 setup.py test -vv --args -v
> running test
> running build
> running build_py
> creating build/lib.linux-i686-2.7
> creating build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/base_class.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/ytcube.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/conftest.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/_moments.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/wcs_utils.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/spectral_cube.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/lower_dimensional_structures.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/np_compat.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/spectral_axis.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/_astropy_init.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/stokes_spectral_cube.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/__init__.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/masks.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/version.py -> build/lib.linux-i686-2.7/spectral_cube
> copying spectral_cube/cube_utils.py -> build/lib.linux-i686-2.7/spectral_cube
> creating build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/test_wcs_utils.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/test_visualization.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/test_stokes_spectral_cube.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/test_subcubes.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/test_spectral_axis.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/test_spectral_cube.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/test_masks.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/setup_package.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/__init__.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/helpers.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/test_performance.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/test_moments.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/test_regrid.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/test_casafuncs.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/test_io.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/test_projection.py -> build/lib.linux-i686-2.7/spectral_cube/tests
> creating build/lib.linux-i686-2.7/spectral_cube/io
> copying spectral_cube/io/casa_image.py -> build/lib.linux-i686-2.7/spectral_cube/io
> copying spectral_cube/io/class_lmv.py -> build/lib.linux-i686-2.7/spectral_cube/io
> copying spectral_cube/io/core.py -> build/lib.linux-i686-2.7/spectral_cube/io
> copying spectral_cube/io/fits.py -> build/lib.linux-i686-2.7/spectral_cube/io
> copying spectral_cube/io/__init__.py -> build/lib.linux-i686-2.7/spectral_cube/io
> copying spectral_cube/io/casa_masks.py -> build/lib.linux-i686-2.7/spectral_cube/io
> creating build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/make_test_cubes.py -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/__init__.py -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/coveragerc -> build/lib.linux-i686-2.7/spectral_cube/tests
> copying spectral_cube/tests/data/vda_beams.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/vda.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/vsad.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/vda_JYBEAM_upper.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/adv.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/522_delta.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/sadv.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/dvsa.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/522_delta_beams.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/sdav.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/vda_Jybeam_lower.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/example_cube.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/255.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/advs.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/255_delta.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/vad.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/vda_Jybeam_whitespace.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/sdav_beams.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/455_delta_beams.fits -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/greisen2006.hdr -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/header_jybeam.hdr -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/cubewcs1.hdr -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/example_cube.lmv -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/255-pixel.reg -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/fk5.reg -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/no_overlap_image.reg -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/255-fk5.reg -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/partial_overlap_image.reg -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/no_overlap_fk5.reg -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/partial_overlap_fk5.reg -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> copying spectral_cube/tests/data/image.reg -> build/lib.linux-i686-2.7/spectral_cube/tests/data
> /usr/lib/python2.7/dist-packages/astropy/config/configuration.py:541: ConfigurationMissingWarning: Configuration defaults will be used due to OSError:2 on None
>   warn(ConfigurationMissingWarning(msg))
> Internet access disabled
> ============================= test session starts ==============================
> platform linux2 -- Python 2.7.13, pytest-3.0.6, py-1.4.32, pluggy-0.4.0 -- /usr/bin/python2.7
> cachedir: ../.cache
> 
> Running tests with Astropy version 1.3.
> Running tests in lib.linux-i686-2.7/spectral_cube docs.
> 
> Date: 2017-04-18T22:30:11
> 
> Platform: Linux-3.16.0-4-amd64-i686-with-debian-9.0
> 
> Executable: /usr/bin/python2.7
> 
> Full Python Version: 
> 2.7.13 (default, Jan 19 2017, 14:48:08) 
> [GCC 6.3.0 20170118]
> 
> encodings: sys: ascii, locale: ANSI_X3.4-1968, filesystem: ANSI_X3.4-1968, unicode bits: 20
> byteorder: little
> float info: dig: 15, mant_dig: 15
> 
> Numpy: 1.12.1
> Scipy: not available
> Matplotlib: not available
> h5py: not available
> Pandas: not available
> Using Astropy options: remote_data.
> 
> rootdir: /tmp/spectral_cube-test-kZ8JpG, inifile: setup.cfg
> collecting ... collected 555 items
> 
> spectral_cube/spectral_axis.py::spectral_cube.spectral_axis.determine_ctype_from_vconv PASSED
> spectral_cube/tests/test_casafuncs.py::test_casa_mask SKIPPED
> spectral_cube/tests/test_casafuncs.py::test_casa_mask_append SKIPPED
> spectral_cube/tests/test_io.py::test_lmv_fits PASSED
> spectral_cube/tests/test_io.py::test_3d_4d_stokes PASSED
> spectral_cube/tests/test_io.py::test_4d_stokes PASSED
> spectral_cube/tests/test_io.py::test_3d_beams SKIPPED
> spectral_cube/tests/test_io.py::test_4d_beams SKIPPED
> spectral_cube/tests/test_io.py::test_3d_beams_roundtrip SKIPPED
> spectral_cube/tests/test_io.py::test_4d_beams_roundtrip SKIPPED
> spectral_cube/tests/test_masks.py::test_spectral_cube_mask PASSED
> spectral_cube/tests/test_masks.py::test_lazy_mask PASSED
> spectral_cube/tests/test_masks.py::test_lazy_comparison_mask PASSED
> spectral_cube/tests/test_masks.py::test_function_mask_incorrect_shape PASSED
> spectral_cube/tests/test_masks.py::test_function_mask PASSED
> spectral_cube/tests/test_masks.py::test_composite_mask PASSED
> spectral_cube/tests/test_masks.py::test_mask_logic PASSED
> spectral_cube/tests/test_masks.py::test_mask_spectral_unit[advs] PASSED
> spectral_cube/tests/test_masks.py::test_mask_spectral_unit[dvsa] PASSED
> spectral_cube/tests/test_masks.py::test_mask_spectral_unit[sdav] PASSED
> spectral_cube/tests/test_masks.py::test_mask_spectral_unit[sadv] PASSED
> spectral_cube/tests/test_masks.py::test_mask_spectral_unit[vsad] PASSED
> spectral_cube/tests/test_masks.py::test_mask_spectral_unit[vad] PASSED
> spectral_cube/tests/test_masks.py::test_mask_spectral_unit[adv] PASSED
> spectral_cube/tests/test_masks.py::test_wcs_validity_check PASSED
> spectral_cube/tests/test_masks.py::test_wcs_validity_check_failure PASSED
> spectral_cube/tests/test_masks.py::test_mask_spectral_unit_functions PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp10-shp20] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp11-shp21] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp12-shp22] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp13-shp23] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp14-shp24] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp15-shp25] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp16-shp26] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp17-shp27] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp18-shp28] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp19-shp29] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp110-shp210] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp111-shp211] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp112-shp212] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp113-shp213] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp114-shp214] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp115-shp215] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp116-shp216] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp117-shp217] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp118-shp218] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp119-shp219] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp120-shp220] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp121-shp221] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp122-shp222] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp123-shp223] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp124-shp224] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp125-shp225] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp126-shp226] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp127-shp227] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp128-shp228] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp129-shp229] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp130-shp230] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp131-shp231] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp132-shp232] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp133-shp233] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp134-shp234] PASSED
> spectral_cube/tests/test_masks.py::test_is_broadcastable[shp135-shp235] PASSED
> spectral_cube/tests/test_masks.py::test_dims_to_skip[shp10-shp20-dim0] PASSED
> spectral_cube/tests/test_masks.py::test_dims_to_skip[shp11-shp21-dim1] PASSED
> spectral_cube/tests/test_masks.py::test_view_of_subset[shp10-shp20-inview0-outview0] PASSED
> spectral_cube/tests/test_masks.py::test_view_of_subset[shp11-shp21-inview1-outview1] PASSED
> spectral_cube/tests/test_masks.py::test_flat_mask PASSED
> spectral_cube/tests/test_masks.py::test_flat_mask_spectral PASSED
> spectral_cube/tests/test_masks.py::test_include PASSED
> spectral_cube/tests/test_masks.py::test_1d_mask PASSED
> spectral_cube/tests/test_masks.py::test_1d_mask_amp PASSED
> spectral_cube/tests/test_moments.py::test_strategies_consistent[0-0] PASSED
> spectral_cube/tests/test_moments.py::test_strategies_consistent[0-1] PASSED
> spectral_cube/tests/test_moments.py::test_strategies_consistent[0-2] PASSED
> spectral_cube/tests/test_moments.py::test_strategies_consistent[1-0] PASSED
> spectral_cube/tests/test_moments.py::test_strategies_consistent[1-1] PASSED
> spectral_cube/tests/test_moments.py::test_strategies_consistent[1-2] PASSED
> spectral_cube/tests/test_moments.py::test_strategies_consistent[2-0] PASSED
> spectral_cube/tests/test_moments.py::test_strategies_consistent[2-1] PASSED
> spectral_cube/tests/test_moments.py::test_strategies_consistent[2-2] PASSED
> spectral_cube/tests/test_moments.py::test_reference[0-0-cube] PASSED
> spectral_cube/tests/test_moments.py::test_reference[0-0-slice] PASSED
> spectral_cube/tests/test_moments.py::test_reference[0-0-auto] PASSED
> spectral_cube/tests/test_moments.py::test_reference[0-0-ray] PASSED
> spectral_cube/tests/test_moments.py::test_reference[0-1-cube] PASSED
> spectral_cube/tests/test_moments.py::test_reference[0-1-slice] PASSED
> spectral_cube/tests/test_moments.py::test_reference[0-1-auto] PASSED
> spectral_cube/tests/test_moments.py::test_reference[0-1-ray] PASSED
> spectral_cube/tests/test_moments.py::test_reference[0-2-cube] PASSED
> spectral_cube/tests/test_moments.py::test_reference[0-2-slice] PASSED
> spectral_cube/tests/test_moments.py::test_reference[0-2-auto] PASSED
> spectral_cube/tests/test_moments.py::test_reference[0-2-ray] PASSED
> spectral_cube/tests/test_moments.py::test_reference[1-0-cube] PASSED
> spectral_cube/tests/test_moments.py::test_reference[1-0-slice] PASSED
> spectral_cube/tests/test_moments.py::test_reference[1-0-auto] PASSED
> spectral_cube/tests/test_moments.py::test_reference[1-0-ray] PASSED
> spectral_cube/tests/test_moments.py::test_reference[1-1-cube] PASSED
> spectral_cube/tests/test_moments.py::test_reference[1-1-slice] PASSED
> spectral_cube/tests/test_moments.py::test_reference[1-1-auto] PASSED
> spectral_cube/tests/test_moments.py::test_reference[1-1-ray] PASSED
> spectral_cube/tests/test_moments.py::test_reference[1-2-cube] PASSED
> spectral_cube/tests/test_moments.py::test_reference[1-2-slice] PASSED
> spectral_cube/tests/test_moments.py::test_reference[1-2-auto] PASSED
> spectral_cube/tests/test_moments.py::test_reference[1-2-ray] PASSED
> spectral_cube/tests/test_moments.py::test_reference[2-0-cube] PASSED
> spectral_cube/tests/test_moments.py::test_reference[2-0-slice] PASSED
> spectral_cube/tests/test_moments.py::test_reference[2-0-auto] PASSED
> spectral_cube/tests/test_moments.py::test_reference[2-0-ray] PASSED
> spectral_cube/tests/test_moments.py::test_reference[2-1-cube] PASSED
> spectral_cube/tests/test_moments.py::test_reference[2-1-slice] PASSED
> spectral_cube/tests/test_moments.py::test_reference[2-1-auto] PASSED
> spectral_cube/tests/test_moments.py::test_reference[2-1-ray] PASSED
> spectral_cube/tests/test_moments.py::test_reference[2-2-cube] PASSED
> spectral_cube/tests/test_moments.py::test_reference[2-2-slice] PASSED
> spectral_cube/tests/test_moments.py::test_reference[2-2-auto] PASSED
> spectral_cube/tests/test_moments.py::test_reference[2-2-ray] PASSED
> spectral_cube/tests/test_moments.py::test_consistent_mask_handling[0-0] PASSED
> spectral_cube/tests/test_moments.py::test_consistent_mask_handling[0-1] PASSED
> spectral_cube/tests/test_moments.py::test_consistent_mask_handling[0-2] PASSED
> spectral_cube/tests/test_moments.py::test_consistent_mask_handling[1-0] PASSED
> spectral_cube/tests/test_moments.py::test_consistent_mask_handling[1-1] PASSED
> spectral_cube/tests/test_moments.py::test_consistent_mask_handling[1-2] PASSED
> spectral_cube/tests/test_moments.py::test_consistent_mask_handling[2-0] PASSED
> spectral_cube/tests/test_moments.py::test_consistent_mask_handling[2-1] PASSED
> spectral_cube/tests/test_moments.py::test_consistent_mask_handling[2-2] PASSED
> spectral_cube/tests/test_moments.py::test_convenience_methods PASSED
> spectral_cube/tests/test_moments.py::test_linewidth PASSED
> spectral_cube/tests/test_moments.py::test_preserve_unit PASSED
> spectral_cube/tests/test_moments.py::test_with_flux_unit PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[0-0-cube] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[0-0-slice] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[0-0-auto] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[0-0-ray] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[0-1-cube] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[0-1-slice] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[0-1-auto] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[0-1-ray] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[0-2-cube] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[0-2-slice] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[0-2-auto] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[0-2-ray] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[1-0-cube] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[1-0-slice] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[1-0-auto] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[1-0-ray] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[1-1-cube] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[1-1-slice] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[1-1-auto] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[1-1-ray] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[1-2-cube] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[1-2-slice] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[1-2-auto] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[1-2-ray] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[2-0-cube] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[2-0-slice] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[2-0-auto] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[2-0-ray] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[2-1-cube] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[2-1-slice] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[2-1-auto] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[2-1-ray] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[2-2-cube] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[2-2-slice] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[2-2-auto] PASSED
> spectral_cube/tests/test_moments.py::test_how_withfluxunit[2-2-ray] PASSED
> spectral_cube/tests/test_performance.py::test_pix_size PASSED
> spectral_cube/tests/test_performance.py::test_compare_pix_size_approaches PASSED
> spectral_cube/tests/test_performance.py::test_pix_cen PASSED
> spectral_cube/tests/test_projection.py::test_slices_of_projections_not_projections[Projection-data0] PASSED
> spectral_cube/tests/test_projection.py::test_slices_of_projections_not_projections[Slice-data1] PASSED
> spectral_cube/tests/test_projection.py::test_copy_false[Projection-data0] PASSED
> spectral_cube/tests/test_projection.py::test_copy_false[Slice-data1] PASSED
> spectral_cube/tests/test_projection.py::test_write[Projection-data0] PASSED
> spectral_cube/tests/test_projection.py::test_write[Slice-data1] PASSED
> spectral_cube/tests/test_projection.py::test_write[OneDSpectrum-data2] PASSED
> spectral_cube/tests/test_projection.py::test_preserve_wcs_to[Projection-data0] PASSED
> spectral_cube/tests/test_projection.py::test_preserve_wcs_to[Slice-data1] PASSED
> spectral_cube/tests/test_projection.py::test_multiplication[Projection-data0] PASSED
> spectral_cube/tests/test_projection.py::test_multiplication[Slice-data1] PASSED
> spectral_cube/tests/test_projection.py::test_multiplication[OneDSpectrum-data2] PASSED
> spectral_cube/tests/test_projection.py::test_unit_division[Projection-data0] PASSED
> spectral_cube/tests/test_projection.py::test_unit_division[Slice-data1] PASSED
> spectral_cube/tests/test_projection.py::test_unit_division[OneDSpectrum-data2] PASSED
> spectral_cube/tests/test_projection.py::test_isnan[Projection-data0] PASSED
> spectral_cube/tests/test_projection.py::test_isnan[Slice-data1] PASSED
> spectral_cube/tests/test_projection.py::test_self_arith[Projection-data0] PASSED
> spectral_cube/tests/test_projection.py::test_self_arith[Slice-data1] PASSED
> spectral_cube/tests/test_projection.py::test_self_arith[OneDSpectrum-data2] PASSED
> spectral_cube/tests/test_projection.py::test_onedspectrum_specaxis_units PASSED
> spectral_cube/tests/test_projection.py::test_onedspectrum_with_spectral_unit PASSED
> spectral_cube/tests/test_regrid.py::test_convolution SKIPPED
> spectral_cube/tests/test_regrid.py::test_beams_convolution SKIPPED
> spectral_cube/tests/test_regrid.py::test_reproject SKIPPED
> spectral_cube/tests/test_regrid.py::test_spectral_smooth PASSED
> spectral_cube/tests/test_regrid.py::test_spectral_smooth_fail SKIPPED
> spectral_cube/tests/test_regrid.py::test_spectral_interpolate PASSED
> spectral_cube/tests/test_regrid.py::test_spectral_interpolate_fail SKIPPED
> spectral_cube/tests/test_spectral_axis.py::test_cube_wcs_freqtovel PASSED
> spectral_cube/tests/test_spectral_axis.py::test_cube_wcs_freqtovopt PASSED
> spectral_cube/tests/test_spectral_axis.py::test_greisen2006[Z] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_greisen2006[W] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_greisen2006[R] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_greisen2006[V] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_byhand_f2v PASSED
> spectral_cube/tests/test_spectral_axis.py::test_byhand_vrad PASSED
> spectral_cube/tests/test_spectral_axis.py::test_byhand_vopt PASSED
> spectral_cube/tests/test_spectral_axis.py::test_byhand_f2w PASSED
> spectral_cube/tests/test_spectral_axis.py::test_ctype_determinator[VELO-F2V-Hz-None-FREQ] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_ctype_determinator[VELO-F2V-m-None-WAVE-F2W] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_ctype_determinator[VOPT-m-None-WAVE] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_ctype_determinator[VOPT-Hz-None-FREQ-W2F] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_ctype_determinator[VELO-Hz-None-FREQ-V2F] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_ctype_determinator[WAVE-Hz-None-FREQ-W2F] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_ctype_determinator[FREQ-m/s-None-result6] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_ctype_determinator[FREQ-m/s-velocity_convention7-VRAD] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_ctype_determinator[FREQ-m/s-velocity_convention8-VOPT-F2W] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_ctype_determinator[FREQ-m/s-velocity_convention9-VELO-F2V] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_ctype_determinator[WAVE-m/s-velocity_convention10-VRAD-W2F] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vconv_determinator[VELO-F2W-vconv0] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vconv_determinator[VELO-F2V-vconv1] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vconv_determinator[VRAD-vconv2] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vconv_determinator[VOPT-vconv3] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vconv_determinator[VELO-vconv4] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vconv_determinator[WAVE-vconv5] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vconv_determinator[WAVE-F2W-vconv6] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vconv_determinator[WAVE-V2W-vconv7] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vconv_determinator[FREQ-vconv8] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vconv_determinator[FREQ-V2F-vconv9] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vconv_determinator[FREQ-W2F-vconv10] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vopt_to_freq[advs] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vopt_to_freq[dvsa] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vopt_to_freq[sdav] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vopt_to_freq[sadv] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vopt_to_freq[vsad] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vopt_to_freq[vad] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_vopt_to_freq[adv] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_change_rest_frequency[Z] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_change_rest_frequency[W] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_change_rest_frequency[R] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_change_rest_frequency[V] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_change_rest_frequency[F] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_air_to_vac[air0-vac0] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_air_to_vac[air1-vac1] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_air_to_vac[air2-vac2] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_air_to_vac[air3-vac3] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_air_to_vac[air4-vac4] PASSED
> spectral_cube/tests/test_spectral_axis.py::test_byhand_awav2vel PASSED
> spectral_cube/tests/test_spectral_axis.py::test_byhand_awav2wav PASSED
> spectral_cube/tests/test_spectral_cube.py::test_arithmetic_warning PASSED
> spectral_cube/tests/test_spectral_cube.py::test_huge_disallowed PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_consistent_transposition[advs-trans0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_consistent_transposition[dvsa-trans1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_consistent_transposition[sdav-trans2] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_consistent_transposition[sadv-trans3] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_consistent_transposition[vsad-trans4] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_consistent_transposition[vad-trans5] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_consistent_transposition[vda-trans6] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_consistent_transposition[adv-trans7] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_world[adv.fits-view0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_world[adv.fits-view1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_world[adv.fits-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_world_transposes_3d[view0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_world_transposes_3d[view1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_world_transposes_4d[view0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_world_transposes_4d[view1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_world_transposes_4d[view2] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_world_transposes_4d[view3] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[advs-BooleanArrayMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[advs-BooleanArrayMask-unit1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[advs-LazyMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[advs-LazyMask-unit3] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[advs-FunctionMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[advs-FunctionMask-unit5] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[advs-CompositeMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[advs-CompositeMask-unit7] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[dvsa-BooleanArrayMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[dvsa-BooleanArrayMask-unit9] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[dvsa-LazyMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[dvsa-LazyMask-unit11] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[dvsa-FunctionMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[dvsa-FunctionMask-unit13] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[dvsa-CompositeMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[dvsa-CompositeMask-unit15] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sdav-BooleanArrayMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sdav-BooleanArrayMask-unit17] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sdav-LazyMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sdav-LazyMask-unit19] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sdav-FunctionMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sdav-FunctionMask-unit21] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sdav-CompositeMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sdav-CompositeMask-unit23] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sadv-BooleanArrayMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sadv-BooleanArrayMask-unit25] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sadv-LazyMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sadv-LazyMask-unit27] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sadv-FunctionMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sadv-FunctionMask-unit29] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sadv-CompositeMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[sadv-CompositeMask-unit31] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vsad-BooleanArrayMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vsad-BooleanArrayMask-unit33] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vsad-LazyMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vsad-LazyMask-unit35] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vsad-FunctionMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vsad-FunctionMask-unit37] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vsad-CompositeMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vsad-CompositeMask-unit39] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vad-BooleanArrayMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vad-BooleanArrayMask-unit41] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vad-LazyMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vad-LazyMask-unit43] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vad-FunctionMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vad-FunctionMask-unit45] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vad-CompositeMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[vad-CompositeMask-unit47] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[adv-BooleanArrayMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[adv-BooleanArrayMask-unit49] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[adv-LazyMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[adv-LazyMask-unit51] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[adv-FunctionMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[adv-FunctionMask-unit53] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[adv-CompositeMask-Hz] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_with_spectral_unit[adv-CompositeMask-unit55] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_apply_everywhere[operation0-value0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_apply_everywhere[operation1-value1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_apply_everywhere[operation2-value2] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_apply_everywhere[operation3-value3] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_apply_everywhere[operation4-value4] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_getitem[advs-trans0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_getitem[dvsa-trans1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_getitem[sdav-trans2] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_getitem[sadv-trans3] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_getitem[vsad-trans4] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_getitem[vad-trans5] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_getitem[vda-trans6] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSpectralCube::test_getitem[adv-trans7] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_add[1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_add[1.0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_add[2] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_add[2.0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_add_cubes PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_subtract[1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_subtract[1.0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_subtract[2] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_subtract[2.0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_subtract_cubes PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_mul[1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_mul[1.0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_mul[2] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_mul[2.0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_mul_cubes PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_div[1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_div[1.0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_div[2] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_div[2.0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_div_cubes PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_pow[1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_pow[1.0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_pow[2] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_pow[2.0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestArithmetic::test_cube_add PASSED
> spectral_cube/tests/test_spectral_cube.py::TestFilters::test_mask_data PASSED
> spectral_cube/tests/test_spectral_cube.py::TestFilters::test_mask_comparison[operation0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestFilters::test_mask_comparison[operation1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestFilters::test_mask_comparison[operation2] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestFilters::test_mask_comparison[operation3] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestFilters::test_flatten PASSED
> spectral_cube/tests/test_spectral_cube.py::TestFilters::test_flatten_weights PASSED
> spectral_cube/tests/test_spectral_cube.py::TestFilters::test_slice PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_sum PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_max PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_min PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_argmax PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_argmin PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_median[True] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_median[False] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_bad_median_apply PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_bad_median[True] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_bad_median[False] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_percentile[3-True] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_percentile[25-True] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_percentile[50-True] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_percentile[75-True] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_percentile[97-True] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_percentile[3-False] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_percentile[25-False] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_percentile[50-False] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_percentile[75-False] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_percentile[97-False] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_transpose[sum] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_transpose[min] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_transpose[max] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_transpose[median] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_transpose[argmin] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestNumpyMethods::test_transpose[argmax] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSlab::test_closest_spectral_channel PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSlab::test_spectral_channel_bad_units PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSlab::test_slab PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSlab::test_slab_reverse_limits PASSED
> spectral_cube/tests/test_spectral_cube.py::TestSlab::test_slab_preserves_wcs PASSED
> spectral_cube/tests/test_spectral_cube.py::TestRepr::test_repr PASSED
> spectral_cube/tests/test_spectral_cube.py::TestRepr::test_repr_withunit PASSED
> spectral_cube/tests/test_spectral_cube.py::TestYt::test_yt SKIPPED
> spectral_cube/tests/test_spectral_cube.py::TestYt::test_yt_fluxcompare SKIPPED
> spectral_cube/tests/test_spectral_cube.py::TestYt::test_yt_roundtrip_wcs SKIPPED
> spectral_cube/tests/test_spectral_cube.py::test_read_write_rountrip PASSED
> spectral_cube/tests/test_spectral_cube.py::test_read_memmap[True-mmap] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_read_memmap[False-None] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_with_mask PASSED
> spectral_cube/tests/test_spectral_cube.py::test_with_mask_with_boolean_array PASSED
> spectral_cube/tests/test_spectral_cube.py::test_with_mask_with_good_array_shape PASSED
> spectral_cube/tests/test_spectral_cube.py::test_with_mask_with_bad_array_shape PASSED
> spectral_cube/tests/test_spectral_cube.py::TestMasks::test_operator_threshold[op0] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestMasks::test_operator_threshold[op1] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestMasks::test_operator_threshold[op2] PASSED
> spectral_cube/tests/test_spectral_cube.py::TestMasks::test_operator_threshold[op3] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_preserve_spectral_unit PASSED
> spectral_cube/tests/test_spectral_cube.py::test_endians SKIPPED
> spectral_cube/tests/test_spectral_cube.py::test_header_naxis PASSED
> spectral_cube/tests/test_spectral_cube.py::test_slicing PASSED
> spectral_cube/tests/test_spectral_cube.py::test_slice_wcs[view0-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_slice_wcs[view1-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_slice_wcs[view2-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_slice_wcs[view3-3] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_slice_wcs[view4-3] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_header_units_consistent PASSED
> spectral_cube/tests/test_spectral_cube.py::test_spectral_unit_conventions PASSED
> spectral_cube/tests/test_spectral_cube.py::test_invalid_spectral_unit_conventions PASSED
> spectral_cube/tests/test_spectral_cube.py::test_invalid_rest[50] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_invalid_rest[rest1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_airwave_to_wave PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[sum-slice-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[sum-slice-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[sum-slice-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[sum-cube-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[sum-cube-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[sum-cube-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[sum-auto-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[sum-auto-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[sum-auto-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[std-slice-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[std-slice-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[std-slice-2] FAILED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[std-cube-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[std-cube-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[std-cube-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[std-auto-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[std-auto-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[std-auto-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[max-slice-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[max-slice-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[max-slice-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[max-cube-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[max-cube-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[max-cube-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[max-auto-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[max-auto-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[max-auto-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[min-slice-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[min-slice-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[min-slice-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[min-cube-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[min-cube-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[min-cube-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[min-auto-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[min-auto-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[min-auto-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[mean-slice-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[mean-slice-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[mean-slice-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[mean-cube-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[mean-cube-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[mean-cube-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[mean-auto-0] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[mean-auto-1] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_twod_numpy[mean-auto-2] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_oned_numpy[sum] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_oned_numpy[std] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_oned_numpy[max] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_oned_numpy[min] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_oned_numpy[mean] PASSED
> spectral_cube/tests/test_spectral_cube.py::test_oned_slice PASSED
> spectral_cube/tests/test_spectral_cube.py::test_oned_slice_beams SKIPPED
> spectral_cube/tests/test_spectral_cube.py::test_oned_collapse PASSED
> spectral_cube/tests/test_spectral_cube.py::test_oned_collapse_beams SKIPPED
> spectral_cube/tests/test_spectral_cube.py::test_preserve_bunit PASSED
> spectral_cube/tests/test_spectral_cube.py::test_preserve_beam SKIPPED
> spectral_cube/tests/test_spectral_cube.py::test_multibeam_slice SKIPPED
> spectral_cube/tests/test_spectral_cube.py::test_beam_jtok_array SKIPPED
> spectral_cube/tests/test_spectral_cube.py::test_beam_jtok SKIPPED
> spectral_cube/tests/test_spectral_cube.py::test_varyres_moment SKIPPED
> spectral_cube/tests/test_spectral_cube.py::test_append_beam_to_hdr SKIPPED
> spectral_cube/tests/test_spectral_cube.py::test_cube_with_swapped_axes PASSED
> spectral_cube/tests/test_spectral_cube.py::test_jybeam_upper PASSED
> spectral_cube/tests/test_spectral_cube.py::test_jybeam_lower PASSED
> spectral_cube/tests/test_spectral_cube.py::test_jybeam_whitespace PASSED
> spectral_cube/tests/test_spectral_cube.py::test_beam_proj_meta SKIPPED
> spectral_cube/tests/test_spectral_cube.py::test_proj_meta PASSED
> spectral_cube/tests/test_spectral_cube.py::test_pix_sign PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_direct_init PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_direct_init_invalid_type PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_direct_init_invalid_shape PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_valid_component_name[I] PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_valid_component_name[Q] PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_valid_component_name[U] PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_valid_component_name[V] PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_valid_component_name[RR] PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_valid_component_name[RL] PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_valid_component_name[LR] PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_valid_component_name[LL] PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_invalid_component_name[A] PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_invalid_component_name[B] PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_invalid_component_name[IQUV] PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_invalid_wcs PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_attributes PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_dir PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_mask PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_mask_invalid_component_name PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_mask_invalid_shape PASSED
> spectral_cube/tests/test_stokes_spectral_cube.py::TestStokesSpectralCube::test_separate_mask PASSED
> spectral_cube/tests/test_subcubes.py::test_subcube PASSED
> spectral_cube/tests/test_subcubes.py::test_ds9region[fk5.reg-result0] SKIPPED
> spectral_cube/tests/test_subcubes.py::test_ds9region[image.reg-result1] SKIPPED
> spectral_cube/tests/test_subcubes.py::test_ds9region[partial_overlap_image.reg-result2] SKIPPED
> spectral_cube/tests/test_subcubes.py::test_ds9region[no_overlap_image.reg-ValueError] SKIPPED
> spectral_cube/tests/test_subcubes.py::test_ds9region[partial_overlap_fk5.reg-result4] SKIPPED
> spectral_cube/tests/test_subcubes.py::test_ds9region[no_overlap_fk5.reg-ValueError] SKIPPED
> spectral_cube/tests/test_subcubes.py::test_ds9region_255[255-fk5.reg] SKIPPED
> spectral_cube/tests/test_subcubes.py::test_ds9region_255[255-pixel.reg] SKIPPED
> spectral_cube/tests/test_visualization.py::test_to_pvextractor SKIPPED
> spectral_cube/tests/test_visualization.py::test_projvis SKIPPED
> spectral_cube/tests/test_visualization.py::test_mask_quicklook SKIPPED
> spectral_cube/tests/test_wcs_utils.py::test_wcs_dropping PASSED
> spectral_cube/tests/test_wcs_utils.py::test_wcs_swapping PASSED
> spectral_cube/tests/test_wcs_utils.py::test_add_stokes PASSED
> spectral_cube/tests/test_wcs_utils.py::test_axis_names PASSED
> spectral_cube/tests/test_wcs_utils.py::test_wcs_slice PASSED
> spectral_cube/tests/test_wcs_utils.py::test_wcs_slice_reversal PASSED
> spectral_cube/tests/test_wcs_utils.py::test_wcs_comparison PASSED
> ../docs/accessing.rst PASSED
> ../docs/api.rst PASSED
> ../docs/arithmetic.rst PASSED
> ../docs/big_data.rst PASSED
> ../docs/creating_reading.rst PASSED
> ../docs/index.rst PASSED
> ../docs/installing.rst PASSED
> ../docs/manipulating.rst PASSED
> ../docs/masking.rst PASSED
> ../docs/moments.rst PASSED
> ../docs/quick_looks.rst PASSED
> ../docs/smoothing.rst PASSED
> ../docs/stokes.rst PASSED
> ../docs/writing.rst PASSED
> ../docs/yt_example.rst PASSED
> 
> =================================== FAILURES ===================================
> _________________________ test_twod_numpy[std-slice-2] _________________________
> 
> func = 'std', how = 'slice', axis = 2
> 
>     @pytest.mark.parametrize(('func','how','axis'),
>                              itertools.product(('sum','std','max','min','mean'),
>                                                ('slice','cube','auto'),
>                                                (0,1,2)
>                                               ))
>     def test_twod_numpy(func, how, axis):
>         # Check that a numpy function returns the correct result when applied along
>         # one axis
>         # This is partly a regression test for #211
>     
>         cube, data = cube_and_raw('advs.fits')
>         cube._meta['BUNIT'] = 'K'
>         cube._unit = u.K
>     
>         proj = getattr(cube,func)(axis=axis, how=how)
>         # data has a redundant 1st axis
>         dproj = getattr(data,func)(axis=(0,axis+1)).squeeze()
>         assert isinstance(proj, Projection)
> >       np.testing.assert_equal(proj.value, dproj)
> 
> spectral_cube/tests/test_spectral_cube.py:964: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> x = array([[ 0.20909615,  0.32412121,  0.34703048],
>        [ 0.27735954,  0.09619439,  0.17063884]])
> y = array([[ 0.20909615,  0.32412121,  0.34703048],
>        [ 0.27735954,  0.09619439,  0.17063884]])
> err_msg = '', verbose = True
> 
>     def assert_array_equal(x, y, err_msg='', verbose=True):
>         """
>         Raises an AssertionError if two array_like objects are not equal.
>     
>         Given two array_like objects, check that the shape is equal and all
>         elements of these objects are equal. An exception is raised at
>         shape mismatch or conflicting values. In contrast to the standard usage
>         in numpy, NaNs are compared like numbers, no assertion is raised if
>         both objects have NaNs in the same positions.
>     
>         The usual caution for verifying equality with floating point numbers is
>         advised.
>     
>         Parameters
>         ----------
>         x : array_like
>             The actual object to check.
>         y : array_like
>             The desired, expected object.
>         err_msg : str, optional
>             The error message to be printed in case of failure.
>         verbose : bool, optional
>             If True, the conflicting values are appended to the error message.
>     
>         Raises
>         ------
>         AssertionError
>             If actual and desired objects are not equal.
>     
>         See Also
>         --------
>         assert_allclose: Compare two array_like objects for equality with desired
>                          relative and/or absolute precision.
>         assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal
>     
>         Examples
>         --------
>         The first assert does not raise an exception:
>     
>         >>> np.testing.assert_array_equal([1.0,2.33333,np.nan],
>         ...                               [np.exp(0),2.33333, np.nan])
>     
>         Assert fails with numerical inprecision with floats:
>     
>         >>> np.testing.assert_array_equal([1.0,np.pi,np.nan],
>         ...                               [1, np.sqrt(np.pi)**2, np.nan])
>         ...
>         <type 'exceptions.ValueError'>:
>         AssertionError:
>         Arrays are not equal
>         <BLANKLINE>
>         (mismatch 50.0%)
>          x: array([ 1.        ,  3.14159265,         NaN])
>          y: array([ 1.        ,  3.14159265,         NaN])
>     
>         Use `assert_allclose` or one of the nulp (number of floating point values)
>         functions for these cases instead:
>     
>         >>> np.testing.assert_allclose([1.0,np.pi,np.nan],
>         ...                            [1, np.sqrt(np.pi)**2, np.nan],
>         ...                            rtol=1e-10, atol=0)
>     
>         """
>         assert_array_compare(operator.__eq__, x, y, err_msg=err_msg,
> >                            verbose=verbose, header='Arrays are not equal')
> E       AssertionError: 
> E       Arrays are not equal
> E       
> E       (mismatch 16.6666666667%)
> E        x: array([[ 0.209096,  0.324121,  0.34703 ],
> E              [ 0.27736 ,  0.096194,  0.170639]])
> E        y: array([[ 0.209096,  0.324121,  0.34703 ],
> E              [ 0.27736 ,  0.096194,  0.170639]])
> 
> /usr/lib/python2.7/dist-packages/numpy/testing/utils.py:871: AssertionError
> ============================ pytest-warning summary ============================
> WC1 None [pytest] section in setup.cfg files is deprecated, use [tool:pytest] instead.
> ===== 1 failed, 519 passed, 35 skipped, 1 pytest-warnings in 20.87 seconds =====
> debian/rules:17: recipe for target 'test-python2.7' failed
> make[1]: *** [test-python2.7] Error 1

The full build log is available from:
   http://aws-logs.debian.net/2017/04/18/spectral-cube_0.4.0-1_testing-i386.log

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!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the Debian-astro-maintainers mailing list