==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_cde8b425-e346-4532-9467-841cdf414b34]...done ==> Making package: python-pyerfa 2.0.0.3-1.1 (Thu Aug 31 13:10:26 2023) ==> Retrieving sources... -> Downloading pyerfa-2.0.0.3.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 794k 100 794k 0 0 2404k 0 --:--:-- --:--:-- --:--:-- 2404k ==> Validating source files with sha256sums... pyerfa-2.0.0.3.tar.gz ... Passed ==> Making package: python-pyerfa 2.0.0.3-1.1 (Thu Aug 31 13:10:29 2023) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (7) New Version Net Change extra/blas 3.11.0-2 0.33 MiB extra/cblas 3.11.0-2 0.20 MiB extra/lapack 3.11.0-2 7.38 MiB core/libnsl 2.0.0-3 0.07 MiB extra/erfa 2.0.0-2 0.43 MiB core/python 3.11.5-1 75.23 MiB extra/python-numpy 1.25.1-1 46.72 MiB Total Installed Size: 130.36 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing erfa... installing libnsl... installing python... Optional dependencies for python python-setuptools python-pip sqlite [installed] mpdecimal: for decimal xz: for lzma [installed] tk: for tkinter installing blas... installing cblas... installing lapack... installing python-numpy... Optional dependencies for python-numpy openblas: faster linear algebra [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (26) New Version Net Change extra/python-autocommand 2.2.2-4 0.08 MiB extra/python-fastjsonschema 2.18.0-1 0.29 MiB extra/python-inflect 7.0.0-1 0.39 MiB extra/python-iniconfig 2.0.0-4 0.04 MiB extra/python-jaraco.context 4.3.0-3 0.04 MiB extra/python-jaraco.functools 3.8.1-1 0.07 MiB extra/python-jaraco.text 3.11.1-3 0.09 MiB extra/python-markupsafe 2.1.3-1 0.08 MiB extra/python-more-itertools 10.1.0-1 0.63 MiB extra/python-ordered-set 4.1.0-4 0.07 MiB extra/python-platformdirs 3.10.0-1 0.23 MiB extra/python-pluggy 1.2.0-1 0.19 MiB extra/python-pydantic 1.10.9-1 7.82 MiB extra/python-pyproject-hooks 1.0.0-5 0.09 MiB extra/python-setuptools 1:68.0.0-1 4.64 MiB extra/python-tomli 2.0.1-3 0.11 MiB extra/python-trove-classifiers 2023.8.7-1 0.11 MiB extra/python-typing_extensions 4.7.1-1 0.37 MiB extra/python-validate-pyproject 0.13-1 0.29 MiB extra/python-build 0.10.0-4 0.68 MiB extra/python-installer 0.7.0-3 0.82 MiB extra/python-jinja 1:3.1.2-4 1.82 MiB extra/python-packaging 23.1-1 0.47 MiB extra/python-pytest 7.4.0-1 4.01 MiB extra/python-setuptools-scm 7.1.0-4 0.36 MiB extra/python-wheel 0.40.0-3 0.28 MiB Total Installed Size: 24.06 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-packaging... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-virtualenv: Use virtualenv for build isolation installing python-installer... installing python-markupsafe... installing python-jinja... Optional dependencies for python-jinja python-babel: for i18n support installing python-more-itertools... installing python-jaraco.functools... installing python-jaraco.context... installing python-autocommand... installing python-typing_extensions... installing python-pydantic... Optional dependencies for python-pydantic python-dotenv: for .env file support python-email-validator: for email validation installing python-inflect... installing python-jaraco.text... installing python-ordered-set... installing python-platformdirs... installing python-tomli... installing python-fastjsonschema... installing python-trove-classifiers... installing python-validate-pyproject... installing python-setuptools... installing python-setuptools-scm... installing python-wheel... Optional dependencies for python-wheel python-keyring: for wheel.signatures python-xdg: for wheel.signatures installing python-iniconfig... installing python-pluggy... installing python-pytest... [?25h==> Retrieving sources... -> Found pyerfa-2.0.0.3.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources... -> Extracting pyerfa-2.0.0.3.tar.gz with bsdtar ==> Starting prepare()... ==> Starting build()... * Getting build dependencies for wheel... /usr/lib/python3.11/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. By 2023-Oct-30, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) Using system liberfa * Building wheel... /usr/lib/python3.11/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. By 2023-Oct-30, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) Using system liberfa running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-cpython-311 creating build/lib.linux-x86_64-cpython-311/erfa copying erfa/version.py -> build/lib.linux-x86_64-cpython-311/erfa copying erfa/helpers.py -> build/lib.linux-x86_64-cpython-311/erfa copying erfa/_version.py -> build/lib.linux-x86_64-cpython-311/erfa copying erfa/__init__.py -> build/lib.linux-x86_64-cpython-311/erfa copying erfa/core.py -> build/lib.linux-x86_64-cpython-311/erfa creating build/lib.linux-x86_64-cpython-311/erfa/tests copying erfa/tests/helper.py -> build/lib.linux-x86_64-cpython-311/erfa/tests copying erfa/tests/__init__.py -> build/lib.linux-x86_64-cpython-311/erfa/tests copying erfa/tests/test_erfa.py -> build/lib.linux-x86_64-cpython-311/erfa/tests copying erfa/tests/test_ufunc.py -> build/lib.linux-x86_64-cpython-311/erfa/tests running build_ext building 'erfa.ufunc' extension creating build/temp.linux-x86_64-cpython-311 creating build/temp.linux-x86_64-cpython-311/erfa gcc -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -ffat-lto-objects -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -march=x86-64-v2 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/python-pyerfa -flto=auto -falign-functions=32 -fPIC -I/usr/lib/python3.11/site-packages/numpy/core/include -I/usr/include/python3.11 -c erfa/ufunc.c -o build/temp.linux-x86_64-cpython-311/erfa/ufunc.o erfa/ufunc.c: In function ‘ErfaUFuncTypeResolver’: erfa/ufunc.c:9729:16: warning: dangling pointer ‘types_22’ to ‘types_array’ may be used [-Wdangling-pointer=] 9729 | return set_ufunc_loop_data_types(ufunc, operands, out_dtypes, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 9730 | types, dtypes); | ~~~~~~~~~~~~~~ erfa/ufunc.c:9715:13: note: ‘types_array’ declared here 9715 | int types_array[NPY_MAXARGS]; | ^~~~~~~~~~~ gcc -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -flto=auto -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -flto=auto -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now,-z,pack-relative-relocs -flto=auto -falign-functions=32 -march=x86-64-v2 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/python-pyerfa -flto=auto -falign-functions=32 build/temp.linux-x86_64-cpython-311/erfa/ufunc.o -L/usr/lib -lerfa -o build/lib.linux-x86_64-cpython-311/erfa/ufunc.cpython-311-x86_64-linux-gnu.so installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/erfa copying build/lib.linux-x86_64-cpython-311/erfa/version.py -> build/bdist.linux-x86_64/wheel/erfa copying build/lib.linux-x86_64-cpython-311/erfa/helpers.py -> build/bdist.linux-x86_64/wheel/erfa copying build/lib.linux-x86_64-cpython-311/erfa/_version.py -> build/bdist.linux-x86_64/wheel/erfa creating build/bdist.linux-x86_64/wheel/erfa/tests copying build/lib.linux-x86_64-cpython-311/erfa/tests/helper.py -> build/bdist.linux-x86_64/wheel/erfa/tests copying build/lib.linux-x86_64-cpython-311/erfa/tests/__init__.py -> build/bdist.linux-x86_64/wheel/erfa/tests copying build/lib.linux-x86_64-cpython-311/erfa/tests/test_erfa.py -> build/bdist.linux-x86_64/wheel/erfa/tests copying build/lib.linux-x86_64-cpython-311/erfa/tests/test_ufunc.py -> build/bdist.linux-x86_64/wheel/erfa/tests copying build/lib.linux-x86_64-cpython-311/erfa/__init__.py -> build/bdist.linux-x86_64/wheel/erfa copying build/lib.linux-x86_64-cpython-311/erfa/ufunc.cpython-311-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/erfa copying build/lib.linux-x86_64-cpython-311/erfa/core.py -> build/bdist.linux-x86_64/wheel/erfa running install_egg_info running egg_info writing pyerfa.egg-info/PKG-INFO writing dependency_links to pyerfa.egg-info/dependency_links.txt writing requirements to pyerfa.egg-info/requires.txt writing top-level names to pyerfa.egg-info/top_level.txt reading manifest file 'pyerfa.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.h' under directory 'erfa' no previously-included directories found matching 'erfa/_dev' warning: no previously-included files found matching 'liberfa/erfa/Makefile' warning: no previously-included files found matching 'liberfa/erfa/config.h' warning: no previously-included files found matching 'liberfa/erfa/config.log' warning: no previously-included files found matching 'liberfa/erfa/config.status' warning: no previously-included files found matching 'liberfa/erfa/erfa.pc' warning: no previously-included files found matching 'liberfa/erfa/libtool' warning: no previously-included files found matching 'liberfa/erfa/m4/l*' warning: no previously-included files found matching 'liberfa/erfa/src/Makefile' warning: no previously-included files found matching 'liberfa/erfa/stamp-h1' no previously-included directories found matching 'liberfa/erfa/autom4te.cache' no previously-included directories found matching 'liberfa/erfa/src/.deps' warning: no previously-included files found matching '.gitignore' no previously-included directories found matching 'build' warning: no previously-included files matching '*.pyc' found anywhere in distribution warning: no previously-included files matching '*.o' found anywhere in distribution adding license file 'LICENSE.rst' writing manifest file 'pyerfa.egg-info/SOURCES.txt' Copying pyerfa.egg-info to build/bdist.linux-x86_64/wheel/pyerfa-2.0.0.3-py3.11.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/pyerfa-2.0.0.3.dist-info/WHEEL creating '/startdir/src/pyerfa-2.0.0.3/dist/.tmp-m6f087xx/pyerfa-2.0.0.3-cp311-cp311-linux_x86_64.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'erfa/__init__.py' adding 'erfa/_version.py' adding 'erfa/core.py' adding 'erfa/helpers.py' adding 'erfa/ufunc.cpython-311-x86_64-linux-gnu.so' adding 'erfa/version.py' adding 'erfa/tests/__init__.py' adding 'erfa/tests/helper.py' adding 'erfa/tests/test_erfa.py' adding 'erfa/tests/test_ufunc.py' adding 'pyerfa-2.0.0.3.dist-info/LICENSE.rst' adding 'pyerfa-2.0.0.3.dist-info/METADATA' adding 'pyerfa-2.0.0.3.dist-info/WHEEL' adding 'pyerfa-2.0.0.3.dist-info/top_level.txt' adding 'pyerfa-2.0.0.3.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Successfully built pyerfa-2.0.0.3-cp311-cp311-linux_x86_64.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.11.5, pytest-7.4.0, pluggy-1.2.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /startdir/src/pyerfa-2.0.0.3 configfile: setup.cfg collecting ... collected 278 items tests/test_erfa.py::TestVersion::test_erfa_version PASSED [ 0%] tests/test_erfa.py::TestVersion::test_sofa_version PASSED [ 0%] tests/test_erfa.py::TestVersion::test_version PASSED [ 1%] tests/test_erfa.py::TestVersion::test_version_with_embedded_liberfa SKIPPED [ 1%] tests/test_erfa.py::test_erfa_wrapper FAILED [ 1%] tests/test_erfa.py::test_angle_ops PASSED [ 2%] tests/test_erfa.py::test_spherical_cartesian PASSED [ 2%] tests/test_erfa.py::test_errwarn_reporting FAILED [ 2%] tests/test_erfa.py::test_vector_inouts FAILED [ 3%] tests/test_erfa.py::test_rz FAILED [ 3%] tests/test_erfa.py::test_pv_in PASSED [ 3%] tests/test_erfa.py::test_pv_out PASSED [ 4%] tests/test_erfa.py::test_zpv_out PASSED [ 4%] tests/test_erfa.py::test_struct_ldbody PASSED [ 5%] tests/test_erfa.py::test_struct_astrom PASSED [ 5%] tests/test_erfa.py::test_float32_input FAILED [ 5%] tests/test_erfa.py::TestAstromNotInplace::test_scalar_input PASSED [ 6%] tests/test_erfa.py::TestAstromNotInplace::test_array_input PASSED [ 6%] tests/test_erfa.py::TestLeapSecondsBasics::test_get_leap_seconds PASSED [ 6%] tests/test_erfa.py::TestLeapSecondsBasics::test_leap_seconds_expires PASSED [ 7%] tests/test_erfa.py::TestLeapSeconds::test_set_reset_leap_seconds PASSED [ 7%] tests/test_erfa.py::TestLeapSeconds::test_set_leap_seconds FAILED [ 7%] tests/test_erfa.py::TestLeapSeconds::test_validation[table0-January] FAILED [ 8%] tests/test_erfa.py::TestLeapSeconds::test_validation[table1-jump] FAILED [ 8%] tests/test_erfa.py::TestLeapSeconds::test_validation[table2-dimension] FAILED [ 8%] tests/test_erfa.py::TestLeapSeconds::test_update_leap_seconds FAILED [ 9%] tests/test_erfa.py::TestLeapSeconds::test_with_expiration[expiration0] PASSED [ 9%] tests/test_erfa.py::TestLeapSeconds::test_with_expiration[1 January 2345] PASSED [ 10%] tests/test_erfa.py::TestLeapSeconds::test_with_expiration[expiration2] SKIPPED [ 10%] tests/test_erfa.py::TestLeapSeconds::test_with_expiration_warning PASSED [ 10%] tests/test_ufunc.py::test_a2af PASSED [ 11%] tests/test_ufunc.py::test_a2tf PASSED [ 11%] tests/test_ufunc.py::test_ab FAILED [ 11%] tests/test_ufunc.py::test_ae2hd PASSED [ 12%] tests/test_ufunc.py::test_af2a PASSED [ 12%] tests/test_ufunc.py::test_anp PASSED [ 12%] tests/test_ufunc.py::test_anpm PASSED [ 13%] tests/test_ufunc.py::test_apcg PASSED [ 13%] tests/test_ufunc.py::test_apcg13 PASSED [ 14%] tests/test_ufunc.py::test_apci PASSED [ 14%] tests/test_ufunc.py::test_apci13 PASSED [ 14%] tests/test_ufunc.py::test_apco PASSED [ 15%] tests/test_ufunc.py::test_apco13 PASSED [ 15%] tests/test_ufunc.py::test_apcs PASSED [ 15%] tests/test_ufunc.py::test_apcs13 PASSED [ 16%] tests/test_ufunc.py::test_aper PASSED [ 16%] tests/test_ufunc.py::test_aper13 PASSED [ 16%] tests/test_ufunc.py::test_apio PASSED [ 17%] tests/test_ufunc.py::test_apio13 PASSED [ 17%] tests/test_ufunc.py::test_atcc13 PASSED [ 17%] tests/test_ufunc.py::test_atccq PASSED [ 18%] tests/test_ufunc.py::test_atci13 PASSED [ 18%] tests/test_ufunc.py::test_atciq PASSED [ 19%] tests/test_ufunc.py::test_atciqn PASSED [ 19%] tests/test_ufunc.py::test_atciqz PASSED [ 19%] tests/test_ufunc.py::test_atco13 PASSED [ 20%] tests/test_ufunc.py::test_atic13 PASSED [ 20%] tests/test_ufunc.py::test_aticq PASSED [ 20%] tests/test_ufunc.py::test_aticqn PASSED [ 21%] tests/test_ufunc.py::test_atio13 PASSED [ 21%] tests/test_ufunc.py::test_atioq PASSED [ 21%] tests/test_ufunc.py::test_atoc13 PASSED [ 22%] tests/test_ufunc.py::test_atoi13 PASSED [ 22%] tests/test_ufunc.py::test_atoiq PASSED [ 23%] tests/test_ufunc.py::test_bi00 PASSED [ 23%] tests/test_ufunc.py::test_bp00 PASSED [ 23%] tests/test_ufunc.py::test_bp06 PASSED [ 24%] tests/test_ufunc.py::test_bpn2xy PASSED [ 24%] tests/test_ufunc.py::test_c2i00a PASSED [ 24%] tests/test_ufunc.py::test_c2i00b PASSED [ 25%] tests/test_ufunc.py::test_c2i06a PASSED [ 25%] tests/test_ufunc.py::test_c2ibpn FAILED [ 25%] tests/test_ufunc.py::test_c2ixy FAILED [ 26%] tests/test_ufunc.py::test_c2ixys PASSED [ 26%] tests/test_ufunc.py::test_c2s PASSED [ 26%] tests/test_ufunc.py::test_c2t00a PASSED [ 27%] tests/test_ufunc.py::test_c2t00b PASSED [ 27%] tests/test_ufunc.py::test_c2t06a PASSED [ 28%] tests/test_ufunc.py::test_c2tcio FAILED [ 28%] tests/test_ufunc.py::test_c2teqx FAILED [ 28%] tests/test_ufunc.py::test_c2tpe PASSED [ 29%] tests/test_ufunc.py::test_c2txy PASSED [ 29%] tests/test_ufunc.py::test_cal2jd FAILED [ 29%] tests/test_ufunc.py::test_cp PASSED [ 30%] tests/test_ufunc.py::test_cpv PASSED [ 30%] tests/test_ufunc.py::test_cr PASSED [ 30%] tests/test_ufunc.py::test_d2dtf PASSED [ 31%] tests/test_ufunc.py::test_d2tf PASSED [ 31%] tests/test_ufunc.py::test_dat FAILED [ 32%] tests/test_ufunc.py::test_dtdb PASSED [ 32%] tests/test_ufunc.py::test_dtf2d PASSED [ 32%] tests/test_ufunc.py::test_eceq06 PASSED [ 33%] tests/test_ufunc.py::test_ecm06 PASSED [ 33%] tests/test_ufunc.py::test_ee00 PASSED [ 33%] tests/test_ufunc.py::test_ee00a PASSED [ 34%] tests/test_ufunc.py::test_ee00b PASSED [ 34%] tests/test_ufunc.py::test_ee06a PASSED [ 34%] tests/test_ufunc.py::test_eect00 PASSED [ 35%] tests/test_ufunc.py::test_eform FAILED [ 35%] tests/test_ufunc.py::test_eo06a PASSED [ 35%] tests/test_ufunc.py::test_eors FAILED [ 36%] tests/test_ufunc.py::test_epb PASSED [ 36%] tests/test_ufunc.py::test_epb2jd PASSED [ 37%] tests/test_ufunc.py::test_epj FAILED [ 37%] tests/test_ufunc.py::test_epj2jd PASSED [ 37%] tests/test_ufunc.py::test_epv00 PASSED [ 38%] tests/test_ufunc.py::test_eqec06 PASSED [ 38%] tests/test_ufunc.py::test_eqeq94 PASSED [ 38%] tests/test_ufunc.py::test_era00 PASSED [ 39%] tests/test_ufunc.py::test_fad03 PASSED [ 39%] tests/test_ufunc.py::test_fae03 PASSED [ 39%] tests/test_ufunc.py::test_faf03 PASSED [ 40%] tests/test_ufunc.py::test_faju03 PASSED [ 40%] tests/test_ufunc.py::test_fal03 PASSED [ 41%] tests/test_ufunc.py::test_falp03 PASSED [ 41%] tests/test_ufunc.py::test_fama03 PASSED [ 41%] tests/test_ufunc.py::test_fame03 PASSED [ 42%] tests/test_ufunc.py::test_fane03 PASSED [ 42%] tests/test_ufunc.py::test_faom03 PASSED [ 42%] tests/test_ufunc.py::test_fapa03 PASSED [ 43%] tests/test_ufunc.py::test_fasa03 PASSED [ 43%] tests/test_ufunc.py::test_faur03 PASSED [ 43%] tests/test_ufunc.py::test_fave03 PASSED [ 44%] tests/test_ufunc.py::test_fk425 PASSED [ 44%] tests/test_ufunc.py::test_fk45z PASSED [ 44%] tests/test_ufunc.py::test_fk524 PASSED [ 45%] tests/test_ufunc.py::test_fk52h PASSED [ 45%] tests/test_ufunc.py::test_fk54z PASSED [ 46%] tests/test_ufunc.py::test_fk5hip PASSED [ 46%] tests/test_ufunc.py::test_fk5hz PASSED [ 46%] tests/test_ufunc.py::test_fw2m PASSED [ 47%] tests/test_ufunc.py::test_fw2xy PASSED [ 47%] tests/test_ufunc.py::test_g2icrs PASSED [ 47%] tests/test_ufunc.py::test_gc2gd FAILED [ 48%] tests/test_ufunc.py::test_gc2gde FAILED [ 48%] tests/test_ufunc.py::test_gd2gc FAILED [ 48%] tests/test_ufunc.py::test_gd2gce PASSED [ 49%] tests/test_ufunc.py::test_gmst00 PASSED [ 49%] tests/test_ufunc.py::test_gmst06 PASSED [ 50%] tests/test_ufunc.py::test_gmst82 PASSED [ 50%] tests/test_ufunc.py::test_gst00a PASSED [ 50%] tests/test_ufunc.py::test_gst00b PASSED [ 51%] tests/test_ufunc.py::test_gst06 FAILED [ 51%] tests/test_ufunc.py::test_gst06a PASSED [ 51%] tests/test_ufunc.py::test_gst94 PASSED [ 52%] tests/test_ufunc.py::test_h2fk5 PASSED [ 52%] tests/test_ufunc.py::test_hd2ae PASSED [ 52%] tests/test_ufunc.py::test_hd2pa PASSED [ 53%] tests/test_ufunc.py::test_hfk5z PASSED [ 53%] tests/test_ufunc.py::test_icrs2g PASSED [ 53%] tests/test_ufunc.py::test_ir PASSED [ 54%] tests/test_ufunc.py::test_jd2cal PASSED [ 54%] tests/test_ufunc.py::test_jdcalf PASSED [ 55%] tests/test_ufunc.py::test_ld FAILED [ 55%] tests/test_ufunc.py::test_ldn PASSED [ 55%] tests/test_ufunc.py::test_ldsun FAILED [ 56%] tests/test_ufunc.py::test_lteceq PASSED [ 56%] tests/test_ufunc.py::test_ltecm PASSED [ 56%] tests/test_ufunc.py::test_lteqec PASSED [ 57%] tests/test_ufunc.py::test_ltp PASSED [ 57%] tests/test_ufunc.py::test_ltpb PASSED [ 57%] tests/test_ufunc.py::test_ltpecl PASSED [ 58%] tests/test_ufunc.py::test_ltpequ PASSED [ 58%] tests/test_ufunc.py::test_moon98 PASSED [ 58%] tests/test_ufunc.py::test_num00a PASSED [ 59%] tests/test_ufunc.py::test_num00b FAILED [ 59%] tests/test_ufunc.py::test_num06a FAILED [ 60%] tests/test_ufunc.py::test_numat PASSED [ 60%] tests/test_ufunc.py::test_nut00a PASSED [ 60%] tests/test_ufunc.py::test_nut00b PASSED [ 61%] tests/test_ufunc.py::test_nut06a PASSED [ 61%] tests/test_ufunc.py::test_nut80 PASSED [ 61%] tests/test_ufunc.py::test_nutm80 PASSED [ 62%] tests/test_ufunc.py::test_obl06 PASSED [ 62%] tests/test_ufunc.py::test_obl80 PASSED [ 62%] tests/test_ufunc.py::test_p06e PASSED [ 63%] tests/test_ufunc.py::test_p2pv PASSED [ 63%] tests/test_ufunc.py::test_p2s PASSED [ 64%] tests/test_ufunc.py::test_pap PASSED [ 64%] tests/test_ufunc.py::test_pas PASSED [ 64%] tests/test_ufunc.py::test_pb06 PASSED [ 65%] tests/test_ufunc.py::test_pdp PASSED [ 65%] tests/test_ufunc.py::test_pfw06 PASSED [ 65%] tests/test_ufunc.py::test_plan94 PASSED [ 66%] tests/test_ufunc.py::test_pm PASSED [ 66%] tests/test_ufunc.py::test_pmat00 PASSED [ 66%] tests/test_ufunc.py::test_pmat06 PASSED [ 67%] tests/test_ufunc.py::test_pmat76 PASSED [ 67%] tests/test_ufunc.py::test_pmp PASSED [ 67%] tests/test_ufunc.py::test_pmpx FAILED [ 68%] tests/test_ufunc.py::test_pmsafe PASSED [ 68%] tests/test_ufunc.py::test_pn PASSED [ 69%] tests/test_ufunc.py::test_pn00 PASSED [ 69%] tests/test_ufunc.py::test_pn00a PASSED [ 69%] tests/test_ufunc.py::test_pn00b PASSED [ 70%] tests/test_ufunc.py::test_pn06 PASSED [ 70%] tests/test_ufunc.py::test_pn06a PASSED [ 70%] tests/test_ufunc.py::test_pnm00a PASSED [ 71%] tests/test_ufunc.py::test_pnm00b PASSED [ 71%] tests/test_ufunc.py::test_pnm06a PASSED [ 71%] tests/test_ufunc.py::test_pnm80 PASSED [ 72%] tests/test_ufunc.py::test_pom00 PASSED [ 72%] tests/test_ufunc.py::test_ppp PASSED [ 73%] tests/test_ufunc.py::test_ppsp FAILED [ 73%] tests/test_ufunc.py::test_pr00 FAILED [ 73%] tests/test_ufunc.py::test_prec76 PASSED [ 74%] tests/test_ufunc.py::test_pv2p PASSED [ 74%] tests/test_ufunc.py::test_pv2s PASSED [ 74%] tests/test_ufunc.py::test_pvdpv PASSED [ 75%] tests/test_ufunc.py::test_pvm PASSED [ 75%] tests/test_ufunc.py::test_pvmpv PASSED [ 75%] tests/test_ufunc.py::test_pvppv PASSED [ 76%] tests/test_ufunc.py::test_pvstar PASSED [ 76%] tests/test_ufunc.py::test_pvtob PASSED [ 76%] tests/test_ufunc.py::test_pvu PASSED [ 77%] tests/test_ufunc.py::test_pvup PASSED [ 77%] tests/test_ufunc.py::test_pvxpv PASSED [ 78%] tests/test_ufunc.py::test_pxp PASSED [ 78%] tests/test_ufunc.py::test_refco PASSED [ 78%] tests/test_ufunc.py::test_rm2v PASSED [ 79%] tests/test_ufunc.py::test_rv2m PASSED [ 79%] tests/test_ufunc.py::test_rx FAILED [ 79%] tests/test_ufunc.py::test_rxp PASSED [ 80%] tests/test_ufunc.py::test_rxpv PASSED [ 80%] tests/test_ufunc.py::test_rxr PASSED [ 80%] tests/test_ufunc.py::test_ry FAILED [ 81%] tests/test_ufunc.py::test_rz FAILED [ 81%] tests/test_ufunc.py::test_s00 PASSED [ 82%] tests/test_ufunc.py::test_s00a PASSED [ 82%] tests/test_ufunc.py::test_s00b PASSED [ 82%] tests/test_ufunc.py::test_s06 PASSED [ 83%] tests/test_ufunc.py::test_s06a PASSED [ 83%] tests/test_ufunc.py::test_s2c PASSED [ 83%] tests/test_ufunc.py::test_s2p PASSED [ 84%] tests/test_ufunc.py::test_s2pv PASSED [ 84%] tests/test_ufunc.py::test_s2xpv PASSED [ 84%] tests/test_ufunc.py::test_sepp PASSED [ 85%] tests/test_ufunc.py::test_seps PASSED [ 85%] tests/test_ufunc.py::test_sp00 PASSED [ 85%] tests/test_ufunc.py::test_starpm PASSED [ 86%] tests/test_ufunc.py::test_starpv PASSED [ 86%] tests/test_ufunc.py::test_sxp FAILED [ 87%] tests/test_ufunc.py::test_sxpv PASSED [ 87%] tests/test_ufunc.py::test_taitt PASSED [ 87%] tests/test_ufunc.py::test_taiut1 PASSED [ 88%] tests/test_ufunc.py::test_taiutc PASSED [ 88%] tests/test_ufunc.py::test_tcbtdb PASSED [ 88%] tests/test_ufunc.py::test_tcgtt PASSED [ 89%] tests/test_ufunc.py::test_tdbtcb PASSED [ 89%] tests/test_ufunc.py::test_tdbtt PASSED [ 89%] tests/test_ufunc.py::test_tf2a PASSED [ 90%] tests/test_ufunc.py::test_tf2d PASSED [ 90%] tests/test_ufunc.py::test_tpors PASSED [ 91%] tests/test_ufunc.py::test_tporv FAILED [ 91%] tests/test_ufunc.py::test_tpsts PASSED [ 91%] tests/test_ufunc.py::test_tpstv FAILED [ 92%] tests/test_ufunc.py::test_tpxes PASSED [ 92%] tests/test_ufunc.py::test_tpxev PASSED [ 92%] tests/test_ufunc.py::test_tr PASSED [ 93%] tests/test_ufunc.py::test_trxp PASSED [ 93%] tests/test_ufunc.py::test_trxpv PASSED [ 93%] tests/test_ufunc.py::test_tttai PASSED [ 94%] tests/test_ufunc.py::test_tttcg PASSED [ 94%] tests/test_ufunc.py::test_tttdb PASSED [ 94%] tests/test_ufunc.py::test_ttut1 PASSED [ 95%] tests/test_ufunc.py::test_ut1tai PASSED [ 95%] tests/test_ufunc.py::test_ut1tt PASSED [ 96%] tests/test_ufunc.py::test_ut1utc PASSED [ 96%] tests/test_ufunc.py::test_utctai PASSED [ 96%] tests/test_ufunc.py::test_utcut1 PASSED [ 97%] tests/test_ufunc.py::test_xy06 PASSED [ 97%] tests/test_ufunc.py::test_xys00a PASSED [ 97%] tests/test_ufunc.py::test_xys00b PASSED [ 98%] tests/test_ufunc.py::test_xys06a PASSED [ 98%] tests/test_ufunc.py::test_zp PASSED [ 98%] tests/test_ufunc.py::test_zpv PASSED [ 99%] tests/test_ufunc.py::test_zr PASSED [ 99%] tests/test_ufunc.py::test_status PASSED [100%] =================================== FAILURES =================================== ______________________________ test_erfa_wrapper _______________________________ def test_erfa_wrapper(): """ Runs a set of tests that mostly make sure vectorization is working as expected """ jd = np.linspace(2456855.5, 2456855.5+1.0/24.0/60.0, 60*2+1) ra = np.linspace(0.0, np.pi*2.0, 5) dec = np.linspace(-np.pi/2.0, np.pi/2.0, 4) > aob, zob, hob, dob, rob, eo = erfa.atco13( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, jd, 0.0, 0.0, 0.0, np.pi/4.0, 0.0, 0.0, 0.0, 1014.0, 0.0, 0.0, 0.5) tests/test_erfa.py:78: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ rc = 0.0, dc = 0.0, pr = 0.0, pd = 0.0, px = 0.0, rv = 0.0 utc1 = array([2456855.5 , 2456855.50000579, 2456855.50001157, 2456855.50001736, 2456855.50002315, 2456855.500028...6855.50066551, 2456855.5006713 , 2456855.50067708, 2456855.50068287, 2456855.50068866, 2456855.50069444]) utc2 = 0.0, dut1 = 0.0, elong = 0.0, phi = 0.7853981633974483, hm = 0.0 xp = 0.0, yp = 0.0, phpa = 1014.0, tc = 0.0, rh = 0.0, wl = 0.5 def atco13(rc, dc, pr, pd, px, rv, utc1, utc2, dut1, elong, phi, hm, xp, yp, phpa, tc, rh, wl): """ ICRS RA,Dec to observed place. The caller supplies UTC, site coordinates, ambient air conditions and observing wavelength. Parameters ---------- rc : double array dc : double array pr : double array pd : double array px : double array rv : double array utc1 : double array utc2 : double array dut1 : double array elong : double array phi : double array hm : double array xp : double array yp : double array phpa : double array tc : double array rh : double array wl : double array Returns ------- aob : double array zob : double array hob : double array dob : double array rob : double array eo : double array Notes ----- Wraps ERFA function ``eraAtco13``. The ERFA documentation is:: - - - - - - - - - - e r a A t c o 1 3 - - - - - - - - - - ICRS RA,Dec to observed place. The caller supplies UTC, site coordinates, ambient air conditions and observing wavelength. ERFA models are used for the Earth ephemeris, bias-precession- nutation, Earth orientation and refraction. Given: rc,dc double ICRS right ascension at J2000.0 (radians, Note 1) pr double RA proper motion (radians/year, Note 2) pd double Dec proper motion (radians/year) px double parallax (arcsec) rv double radial velocity (km/s, +ve if receding) utc1 double UTC as a 2-part... utc2 double ...quasi Julian Date (Notes 3-4) dut1 double UT1-UTC (seconds, Note 5) elong double longitude (radians, east +ve, Note 6) phi double latitude (geodetic, radians, Note 6) hm double height above ellipsoid (m, geodetic, Notes 6,8) xp,yp double polar motion coordinates (radians, Note 7) phpa double pressure at the observer (hPa = mB, Note 8) tc double ambient temperature at the observer (deg C) rh double relative humidity at the observer (range 0-1) wl double wavelength (micrometers, Note 9) Returned: aob double observed azimuth (radians: N=0,E=90) zob double observed zenith distance (radians) hob double observed hour angle (radians) dob double observed declination (radians) rob double observed right ascension (CIO-based, radians) eo double equation of the origins (ERA-GST) Returned (function value): int status: +1 = dubious year (Note 4) 0 = OK -1 = unacceptable date Notes: 1) Star data for an epoch other than J2000.0 (for example from the Hipparcos catalog, which has an epoch of J1991.25) will require a preliminary call to eraPmsafe before use. 2) The proper motion in RA is dRA/dt rather than cos(Dec)*dRA/dt. 3) utc1+utc2 is quasi Julian Date (see Note 2), apportioned in any convenient way between the two arguments, for example where utc1 is the Julian Day Number and utc2 is the fraction of a day. However, JD cannot unambiguously represent UTC during a leap second unless special measures are taken. The convention in the present function is that the JD day represents UTC days whether the length is 86399, 86400 or 86401 SI seconds. Applications should use the function eraDtf2d to convert from calendar date and time of day into 2-part quasi Julian Date, as it implements the leap-second-ambiguity convention just described. 4) The warning status "dubious year" flags UTCs that predate the introduction of the time scale or that are too far in the future to be trusted. See eraDat for further details. 5) UT1-UTC is tabulated in IERS bulletins. It increases by exactly one second at the end of each positive UTC leap second, introduced in order to keep UT1-UTC within +/- 0.9s. n.b. This practice is under review, and in the future UT1-UTC may grow essentially without limit. 6) The geographical coordinates are with respect to the ERFA_WGS84 reference ellipsoid. TAKE CARE WITH THE LONGITUDE SIGN: the longitude required by the present function is east-positive (i.e. right-handed), in accordance with geographical convention. 7) The polar motion xp,yp can be obtained from IERS bulletins. The values are the coordinates (in radians) of the Celestial Intermediate Pole with respect to the International Terrestrial Reference System (see IERS Conventions 2003), measured along the meridians 0 and 90 deg west respectively. For many applications, xp and yp can be set to zero. 8) If hm, the height above the ellipsoid of the observing station in meters, is not known but phpa, the pressure in hPa (=mB), is available, an adequate estimate of hm can be obtained from the expression hm = -29.3 * tsl * log ( phpa / 1013.25 ); where tsl is the approximate sea-level air temperature in K (See Astrophysical Quantities, C.W.Allen, 3rd edition, section 52). Similarly, if the pressure phpa is not known, it can be estimated from the height of the observing station, hm, as follows: phpa = 1013.25 * exp ( -hm / ( 29.3 * tsl ) ); Note, however, that the refraction is nearly proportional to the pressure and that an accurate phpa value is important for precise work. 9) The argument wl specifies the observing wavelength in micrometers. The transition from optical to radio is assumed to occur at 100 micrometers (about 3000 GHz). 10) The accuracy of the result is limited by the corrections for refraction, which use a simple A*tan(z) + B*tan^3(z) model. Providing the meteorological parameters are known accurately and there are no gross local effects, the predicted observed coordinates should be within 0.05 arcsec (optical) or 1 arcsec (radio) for a zenith distance of less than 70 degrees, better than 30 arcsec (optical or radio) at 85 degrees and better than 20 arcmin (optical) or 30 arcmin (radio) at the horizon. Without refraction, the complementary functions eraAtco13 and eraAtoc13 are self-consistent to better than 1 microarcsecond all over the celestial sphere. With refraction included, consistency falls off at high zenith distances, but is still better than 0.05 arcsec at 85 degrees. 11) "Observed" Az,ZD means the position that would be seen by a perfect geodetically aligned theodolite. (Zenith distance is used rather than altitude in order to reflect the fact that no allowance is made for depression of the horizon.) This is related to the observed HA,Dec via the standard rotation, using the geodetic latitude (corrected for polar motion), while the observed HA and RA are related simply through the Earth rotation angle and the site longitude. "Observed" RA,Dec or HA,Dec thus means the position that would be seen by a perfect equatorial with its polar axis aligned to the Earth's axis of rotation. 12) It is advisable to take great care with units, as even unlikely values of the input parameters are accepted and processed in accordance with the models used. Called: eraApco13 astrometry parameters, ICRS-observed, 2013 eraAtciq quick ICRS to CIRS eraAtioq quick CIRS to observed This revision: 2021 April 3 Copyright (C) 2013-2021, NumFOCUS Foundation. Derived, with permission, from the SOFA library. See notes at end of file. """ > aob, zob, hob, dob, rob, eo, c_retval = ufunc.atco13( rc, dc, pr, pd, px, rv, utc1, utc2, dut1, elong, phi, hm, xp, yp, phpa, tc, rh, wl) E ValueError: Invalid data-type for array core.py:3406: ValueError ____________________________ test_errwarn_reporting ____________________________ def test_errwarn_reporting(): """ Test that the ERFA error reporting mechanism works as it should """ # no warning > erfa.dat(1990, 1, 1, 0.5) tests/test_erfa.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ iy = 1990, im = 1, id = 1, fd = 0.5 def dat(iy, im, id, fd): """ For a given UTC date, calculate Delta(AT) = TAI-UTC. Parameters ---------- iy : int array im : int array id : int array fd : double array Returns ------- deltat : double array Notes ----- Wraps ERFA function ``eraDat``. The ERFA documentation is:: - - - - - - - e r a D a t - - - - - - - For a given UTC date, calculate Delta(AT) = TAI-UTC. :------------------------------------------: : : : IMPORTANT : : : : A new version of this function must be : : produced whenever a new leap second is : : announced. There are four items to : : change on each such occasion: : : : : 1) A new line must be added to the set : : of statements that initialize the : : array "changes". : : : : 2) The constant IYV must be set to the : : current year. : : : : 3) The "Latest leap second" comment : : below must be set to the new leap : : second date. : : : : 4) The "This revision" comment, later, : : must be set to the current date. : : : : Change (2) must also be carried out : : whenever the function is re-issued, : : even if no leap seconds have been : : added. : : : : Latest leap second: 2016 December 31 : : : :__________________________________________: Given: iy int UTC: year (Notes 1 and 2) im int month (Note 2) id int day (Notes 2 and 3) fd double fraction of day (Note 4) Returned: deltat double TAI minus UTC, seconds Returned (function value): int status (Note 5): 1 = dubious year (Note 1) 0 = OK -1 = bad year -2 = bad month -3 = bad day (Note 3) -4 = bad fraction (Note 4) -5 = internal error (Note 5) Notes: 1) UTC began at 1960 January 1.0 (JD 2436934.5) and it is improper to call the function with an earlier date. If this is attempted, zero is returned together with a warning status. Because leap seconds cannot, in principle, be predicted in advance, a reliable check for dates beyond the valid range is impossible. To guard against gross errors, a year five or more after the release year of the present function (see the constant IYV) is considered dubious. In this case a warning status is returned but the result is computed in the normal way. For both too-early and too-late years, the warning status is +1. This is distinct from the error status -1, which signifies a year so early that JD could not be computed. 2) If the specified date is for a day which ends with a leap second, the TAI-UTC value returned is for the period leading up to the leap second. If the date is for a day which begins as a leap second ends, the TAI-UTC returned is for the period following the leap second. 3) The day number must be in the normal calendar range, for example 1 through 30 for April. The "almanac" convention of allowing such dates as January 0 and December 32 is not supported in this function, in order to avoid confusion near leap seconds. 4) The fraction of day is used only for dates before the introduction of leap seconds, the first of which occurred at the end of 1971. It is tested for validity (0 to 1 is the valid range) even if not used; if invalid, zero is used and status -4 is returned. For many applications, setting fd to zero is acceptable; the resulting error is always less than 3 ms (and occurs only pre-1972). 5) The status value returned in the case where there are multiple errors refers to the first error detected. For example, if the month and day are 13 and 32 respectively, status -2 (bad month) will be returned. The "internal error" status refers to a case that is impossible but causes some compilers to issue a warning. 6) In cases where a valid result is not available, zero is returned. References: 1) For dates from 1961 January 1 onwards, the expressions from the file ftp://maia.usno.navy.mil/ser7/tai-utc.dat are used. 2) The 5ms timestep at 1961 January 1 is taken from 2.58.1 (p87) of the 1992 Explanatory Supplement. Called: eraCal2jd Gregorian calendar to JD This revision: 2021 May 11 Copyright (C) 2013-2021, NumFOCUS Foundation. Derived, with permission, from the SOFA library. See notes at end of file. """ > deltat, c_retval = ufunc.dat(iy, im, id, fd) E numpy.core._exceptions._UFuncNoLoopError: ufunc 'dat' did not contain a loop with signature matching types (, , , ) -> (None, None) core.py:16368: UFuncTypeError ______________________________ test_vector_inouts ______________________________ def test_vector_inouts(): """ Tests that ERFA functions working with vectors are correctly consumed and spit out """ # values are from test_erfa.c t_ab function pnat = [-0.76321968546737951, -0.60869453983060384, -0.21676408580639883] v = [2.1044018893653786e-5, -8.9108923304429319e-5, -3.8633714797716569e-5] s = 0.99980921395708788 bm1 = 0.99999999506209258 expected = [-0.7631631094219556269, -0.6087553082505590832, -0.2167926269368471279] > res = erfa.ab(pnat, v, s, bm1) tests/test_erfa.py:221: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pnat = [-0.7632196854673795, -0.6086945398306038, -0.21676408580639883] v = [2.1044018893653786e-05, -8.910892330442932e-05, -3.863371479771657e-05] s = 0.9998092139570879, bm1 = 0.9999999950620926 def ab(pnat, v, s, bm1): """ Apply aberration to transform natural direction into proper direction. Parameters ---------- pnat : double array v : double array s : double array bm1 : double array Returns ------- ppr : double array Notes ----- Wraps ERFA function ``eraAb``. The ERFA documentation is:: - - - - - - e r a A b - - - - - - Apply aberration to transform natural direction into proper direction. Given: pnat double[3] natural direction to the source (unit vector) v double[3] observer barycentric velocity in units of c s double distance between the Sun and the observer (au) bm1 double sqrt(1-|v|^2): reciprocal of Lorenz factor Returned: ppr double[3] proper direction to source (unit vector) Notes: 1) The algorithm is based on Expr. (7.40) in the Explanatory Supplement (Urban & Seidelmann 2013), but with the following changes: o Rigorous rather than approximate normalization is applied. o The gravitational potential term from Expr. (7) in Klioner (2003) is added, taking into account only the Sun's contribution. This has a maximum effect of about 0.4 microarcsecond. 2) In almost all cases, the maximum accuracy will be limited by the supplied velocity. For example, if the ERFA eraEpv00 function is used, errors of up to 5 microarcseconds could occur. References: Urban, S. & Seidelmann, P. K. (eds), Explanatory Supplement to the Astronomical Almanac, 3rd ed., University Science Books (2013). Klioner, Sergei A., "A practical relativistic model for micro- arcsecond astrometry in space", Astr. J. 125, 1580-1597 (2003). Called: eraPdp scalar product of two p-vectors This revision: 2021 February 24 Copyright (C) 2013-2021, NumFOCUS Foundation. Derived, with permission, from the SOFA library. See notes at end of file. """ > ppr = ufunc.ab(pnat, v, s, bm1) E ValueError: Invalid data-type for array core.py:765: ValueError ___________________________________ test_rz ____________________________________ def test_rz(): # This failed on MacOS (gh-68) because the types were not set correctly. > r = erfa.rz(np.deg2rad(60.), np.eye(3)) tests/test_erfa.py:241: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ psi = 1.0471975511965976 r = array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]) def rz(psi, r): """ Rotate an r-matrix about the z-axis. Parameters ---------- psi : double array r : double array Returns ------- r : double array Notes ----- Wraps ERFA function ``eraRz``. Note that, unlike the erfa routine, the python wrapper does not change r in-place. The ERFA documentation is:: - - - - - - e r a R z - - - - - - Rotate an r-matrix about the z-axis. Given: psi double angle (radians) Given and returned: r double[3][3] r-matrix, rotated Notes: 1) Calling this function with positive psi incorporates in the supplied r-matrix r an additional rotation, about the z-axis, anticlockwise as seen looking towards the origin from positive z. 2) The additional rotation can be represented by this matrix: ( + cos(psi) + sin(psi) 0 ) ( ) ( - sin(psi) + cos(psi) 0 ) ( ) ( 0 0 1 ) This revision: 2021 May 11 Copyright (C) 2013-2021, NumFOCUS Foundation. Derived, with permission, from the SOFA library. See notes at end of file. """ > r = ufunc.rz(psi, r) E ValueError: Invalid data-type for array core.py:19412: ValueError ______________________________ test_float32_input ______________________________ def test_float32_input(): # Regression test for gh-8615 xyz = np.array([[1, 0, 0], [0.9, 0.1, 0]]) out64 = erfa.p2s(xyz) > out32 = erfa.p2s(xyz.astype('f4')) tests/test_erfa.py:362: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ p = array([[1. , 0. , 0. ], [0.9, 0.1, 0. ]], dtype=float32) def p2s(p): """ P-vector to spherical polar coordinates. Parameters ---------- p : double array Returns ------- theta : double array phi : double array r : double array Notes ----- Wraps ERFA function ``eraP2s``. The ERFA documentation is:: - - - - - - - e r a P 2 s - - - - - - - P-vector to spherical polar coordinates. Given: p double[3] p-vector Returned: theta double longitude angle (radians) phi double latitude angle (radians) r double radial distance Notes: 1) If P is null, zero theta, phi and r are returned. 2) At either pole, zero theta is returned. Called: eraC2s p-vector to spherical eraPm modulus of p-vector This revision: 2021 May 11 Copyright (C) 2013-2021, NumFOCUS Foundation. Derived, with permission, from the SOFA library. See notes at end of file. """ > theta, phi, r = ufunc.p2s(p) E numpy.core._exceptions._UFuncNoLoopError: ufunc 'p2s' did not contain a loop with signature matching types -> (None, None, None) core.py:20452: UFuncTypeError ____________________ TestLeapSeconds.test_set_leap_seconds _____________________ self = def test_set_leap_seconds(self): > assert erfa.dat(2018, 1, 1, 0.) == 37.0 tests/test_erfa.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ iy = 2018, im = 1, id = 1, fd = 0.0 def dat(iy, im, id, fd): """ For a given UTC date, calculate Delta(AT) = TAI-UTC. Parameters ---------- iy : int array im : int array id : int array fd : double array Returns ------- deltat : double array Notes ----- Wraps ERFA function ``eraDat``. The ERFA documentation is:: - - - - - - - e r a D a t - - - - - - - For a given UTC date, calculate Delta(AT) = TAI-UTC. :------------------------------------------: : : : IMPORTANT : : : : A new version of this function must be : : produced whenever a new leap second is : : announced. There are four items to : : change on each such occasion: : : : : 1) A new line must be added to the set : : of statements that initialize the : : array "changes". : : : : 2) The constant IYV must be set to the : : current year. : : : : 3) The "Latest leap second" comment : : below must be set to the new leap : : second date. : : : : 4) The "This revision" comment, later, : : must be set to the current date. : : : : Change (2) must also be carried out : : whenever the function is re-issued, : : even if no leap seconds have been : : added. : : : : Latest leap second: 2016 December 31 : : : :__________________________________________: Given: iy int UTC: year (Notes 1 and 2) im int month (Note 2) id int day (Notes 2 and 3) fd double fraction of day (Note 4) Returned: deltat double TAI minus UTC, seconds Returned (function value): int status (Note 5): 1 = dubious year (Note 1) 0 = OK -1 = bad year -2 = bad month -3 = bad day (Note 3) -4 = bad fraction (Note 4) -5 = internal error (Note 5) Notes: 1) UTC began at 1960 January 1.0 (JD 2436934.5) and it is improper to call the function with an earlier date. If this is attempted, zero is returned together with a warning status. Because leap seconds cannot, in principle, be predicted in advance, a reliable check for dates beyond the valid range is impossible. To guard against gross errors, a year five or more after the release year of the present function (see the constant IYV) is considered dubious. In this case a warning status is returned but the result is computed in the normal way. For both too-early and too-late years, the warning status is +1. This is distinct from the error status -1, which signifies a year so early that JD could not be computed. 2) If the specified date is for a day which ends with a leap second, the TAI-UTC value returned is for the period leading up to the leap second. If the date is for a day which begins as a leap second ends, the TAI-UTC returned is for the period following the leap second. 3) The day number must be in the normal calendar range, for example 1 through 30 for April. The "almanac" convention of allowing such dates as January 0 and December 32 is not supported in this function, in order to avoid confusion near leap seconds. 4) The fraction of day is used only for dates before the introduction of leap seconds, the first of which occurred at the end of 1971. It is tested for validity (0 to 1 is the valid range) even if not used; if invalid, zero is used and status -4 is returned. For many applications, setting fd to zero is acceptable; the resulting error is always less than 3 ms (and occurs only pre-1972). 5) The status value returned in the case where there are multiple errors refers to the first error detected. For example, if the month and day are 13 and 32 respectively, status -2 (bad month) will be returned. The "internal error" status refers to a case that is impossible but causes some compilers to issue a warning. 6) In cases where a valid result is not available, zero is returned. References: 1) For dates from 1961 January 1 onwards, the expressions from the file ftp://maia.usno.navy.mil/ser7/tai-utc.dat are used. 2) The 5ms timestep at 1961 January 1 is taken from 2.58.1 (p87) of the 1992 Explanatory Supplement. Called: eraCal2jd Gregorian calendar to JD This revision: 2021 May 11 Copyright (C) 2013-2021, NumFOCUS Foundation. Derived, with permission, from the SOFA library. See notes at end of file. """ > deltat, c_retval = ufunc.dat(iy, im, id, fd) E ValueError: Invalid data-type for array core.py:16368: ValueError _______________ TestLeapSeconds.test_validation[table0-January] ________________ self = table = [(2017, 3, 10.0)], match = 'January' @pytest.mark.parametrize('table,match', [ ([(2017, 3, 10.)], 'January'), ([(2017, 1, 1.), (2017, 7, 3.)], 'jump'), ([[(2017, 1, 1.)], [(2017, 7, 2.)]], 'dimension')]) def test_validation(self, table, match): with pytest.raises(ValueError, match=match): erfa.leap_seconds.set(table) # Check leap-second table is not corrupted. assert_array_equal(erfa.leap_seconds.get(), self.erfa_ls) > assert erfa.dat(2018, 1, 1, 0.) == 37.0 tests/test_erfa.py:472: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ iy = 2018, im = 1, id = 1, fd = 0.0 def dat(iy, im, id, fd): """ For a given UTC date, calculate Delta(AT) = TAI-UTC. Parameters ---------- iy : int array im : int array id : int array fd : double array Returns ------- deltat : double array Notes ----- Wraps ERFA function ``eraDat``. The ERFA documentation is:: - - - - - - - e r a D a t - - - - - - - For a given UTC date, calculate Delta(AT) = TAI-UTC. :------------------------------------------: : : : IMPORTANT : : : : A new version of this function must be : : produced whenever a new leap second is : : announced. There are four items to : : change on each such occasion: : : : : 1) A new line must be added to the set : : of statements that initialize the : : array "changes". : : : : 2) The constant IYV must be set to the : : current year. : : : : 3) The "Latest leap second" comment : : below must be set to the new leap : : second date. : : : : 4) The "This revision" comment, later, : : must be set to the current date. : : : : Change (2) must also be carried out : : whenever the function is re-issued, : : even if no leap seconds have been : : added. : : : : Latest leap second: 2016 December 31 : : : :__________________________________________: Given: iy int UTC: year (Notes 1 and 2) im int month (Note 2) id int day (Notes 2 and 3) fd double fraction of day (Note 4) Returned: deltat double TAI minus UTC, seconds Returned (function value): int status (Note 5): 1 = dubious year (Note 1) 0 = OK -1 = bad year -2 = bad month -3 = bad day (Note 3) -4 = bad fraction (Note 4) -5 = internal error (Note 5) Notes: 1) UTC began at 1960 January 1.0 (JD 2436934.5) and it is improper to call the function with an earlier date. If this is attempted, zero is returned together with a warning status. Because leap seconds cannot, in principle, be predicted in advance, a reliable check for dates beyond the valid range is impossible. To guard against gross errors, a year five or more after the release year of the present function (see the constant IYV) is considered dubious. In this case a warning status is returned but the result is computed in the normal way. For both too-early and too-late years, the warning status is +1. This is distinct from the error status -1, which signifies a year so early that JD could not be computed. 2) If the specified date is for a day which ends with a leap second, the TAI-UTC value returned is for the period leading up to the leap second. If the date is for a day which begins as a leap second ends, the TAI-UTC returned is for the period following the leap second. 3) The day number must be in the normal calendar range, for example 1 through 30 for April. The "almanac" convention of allowing such dates as January 0 and December 32 is not supported in this function, in order to avoid confusion near leap seconds. 4) The fraction of day is used only for dates before the introduction of leap seconds, the first of which occurred at the end of 1971. It is tested for validity (0 to 1 is the valid range) even if not used; if invalid, zero is used and status -4 is returned. For many applications, setting fd to zero is acceptable; the resulting error is always less than 3 ms (and occurs only pre-1972). 5) The status value returned in the case where there are multiple errors refers to the first error detected. For example, if the month and day are 13 and 32 respectively, status -2 (bad month) will be returned. The "internal error" status refers to a case that is impossible but causes some compilers to issue a warning. 6) In cases where a valid result is not available, zero is returned. References: 1) For dates from 1961 January 1 onwards, the expressions from the file ftp://maia.usno.navy.mil/ser7/tai-utc.dat are used. 2) The 5ms timestep at 1961 January 1 is taken from 2.58.1 (p87) of the 1992 Explanatory Supplement. Called: eraCal2jd Gregorian calendar to JD This revision: 2021 May 11 Copyright (C) 2013-2021, NumFOCUS Foundation. Derived, with permission, from the SOFA library. See notes at end of file. """ > deltat, c_retval = ufunc.dat(iy, im, id, fd) E ValueError: Invalid data-type for array core.py:16368: ValueError _________________ TestLeapSeconds.test_validation[table1-jump] _________________ self = table = [(2017, 1, 1.0), (2017, 7, 3.0)], match = 'jump' @pytest.mark.parametrize('table,match', [ ([(2017, 3, 10.)], 'January'), ([(2017, 1, 1.), (2017, 7, 3.)], 'jump'), ([[(2017, 1, 1.)], [(2017, 7, 2.)]], 'dimension')]) def test_validation(self, table, match): with pytest.raises(ValueError, match=match): erfa.leap_seconds.set(table) # Check leap-second table is not corrupted. assert_array_equal(erfa.leap_seconds.get(), self.erfa_ls) > assert erfa.dat(2018, 1, 1, 0.) == 37.0 tests/test_erfa.py:472: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ iy = 2018, im = 1, id = 1, fd = 0.0 def dat(iy, im, id, fd): """ For a given UTC date, calculate Delta(AT) = TAI-UTC. Parameters ---------- iy : int array im : int array id : int array fd : double array Returns ------- deltat : double array Notes ----- Wraps ERFA function ``eraDat``. The ERFA documentation is:: - - - - - - - e r a D a t - - - - - - - For a given UTC date, calculate Delta(AT) = TAI-UTC. :------------------------------------------: : : : IMPORTANT : : : : A new version of this function must be : : produced whenever a new leap second is : : announced. There are four items to : : change on each such occasion: : : : : 1) A new line must be added to the set : : of statements that initialize the : : array "changes". : : : : 2) The constant IYV must be set to the : : current year. : : : : 3) The "Latest leap second" comment : : below must be set to the new leap : : second date. : : : : 4) The "This revision" comment, later, : : must be set to the current date. : : : : Change (2) must also be carried out : : whenever the function is re-issued, : : even if no leap seconds have been : : added. : : : : Latest leap second: 2016 December 31 : : : :__________________________________________: Given: iy int UTC: year (Notes 1 and 2) im int month (Note 2) id int day (Notes 2 and 3) fd double fraction of day (Note 4) Returned: deltat double TAI minus UTC, seconds Returned (function value): int status (Note 5): 1 = dubious year (Note 1) 0 = OK -1 = bad year -2 = bad month -3 = bad day (Note 3) -4 = bad fraction (Note 4) -5 = internal error (Note 5) Notes: 1) UTC began at 1960 January 1.0 (JD 2436934.5) and it is improper to call the function with an earlier date. If this is attempted, zero is returned together with a warning status. Because leap seconds cannot, in principle, be predicted in advance, a reliable check for dates beyond the valid range is impossible. To guard against gross errors, a year five or more after the release year of the present function (see the constant IYV) is considered dubious. In this case a warning status is returned but the result is computed in the normal way. For both too-early and too-late years, the warning status is +1. This is distinct from the error status -1, which signifies a year so early that JD could not be computed. 2) If the specified date is for a day which ends with a leap second, the TAI-UTC value returned is for the period leading up to the leap second. If the date is for a day which begins as a leap second ends, the TAI-UTC returned is for the period following the leap second. 3) The day number must be in the normal calendar range, for example 1 through 30 for April. The "almanac" convention of allowing such dates as January 0 and December 32 is not supported in this function, in order to avoid confusion near leap seconds. 4) The fraction of day is used only for dates before the introduction of leap seconds, the first of which occurred at the end of 1971. It is tested for validity (0 to 1 is the valid range) even if not used; if invalid, zero is used and status -4 is returned. For many applications, setting fd to zero is acceptable; the resulting error is always less than 3 ms (and occurs only pre-1972). 5) The status value returned in the case where there are multiple errors refers to the first error detected. For example, if the month and day are 13 and 32 respectively, status -2 (bad month) will be returned. The "internal error" status refers to a case that is impossible but causes some compilers to issue a warning. 6) In cases where a valid result is not available, zero is returned. References: 1) For dates from 1961 January 1 onwards, the expressions from the file ftp://maia.usno.navy.mil/ser7/tai-utc.dat are used. 2) The 5ms timestep at 1961 January 1 is taken from 2.58.1 (p87) of the 1992 Explanatory Supplement. Called: eraCal2jd Gregorian calendar to JD This revision: 2021 May 11 Copyright (C) 2013-2021, NumFOCUS Foundation. Derived, with permission, from the SOFA library. See notes at end of file. """ > deltat, c_retval = ufunc.dat(iy, im, id, fd) E ValueError: Invalid data-type for array core.py:16368: ValueError ______________ TestLeapSeconds.test_validation[table2-dimension] _______________ self = table = [[(2017, 1, 1.0)], [(2017, 7, 2.0)]], match = 'dimension' @pytest.mark.parametrize('table,match', [ ([(2017, 3, 10.)], 'January'), ([(2017, 1, 1.), (2017, 7, 3.)], 'jump'), ([[(2017, 1, 1.)], [(2017, 7, 2.)]], 'dimension')]) def test_validation(self, table, match): with pytest.raises(ValueError, match=match): erfa.leap_seconds.set(table) # Check leap-second table is not corrupted. assert_array_equal(erfa.leap_seconds.get(), self.erfa_ls) > assert erfa.dat(2018, 1, 1, 0.) == 37.0 tests/test_erfa.py:472: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ iy = 2018, im = 1, id = 1, fd = 0.0 def dat(iy, im, id, fd): """ For a given UTC date, calculate Delta(AT) = TAI-UTC. Parameters ---------- iy : int array im : int array id : int array fd : double array Returns ------- deltat : double array Notes ----- Wraps ERFA function ``eraDat``. The ERFA documentation is:: - - - - - - - e r a D a t - - - - - - - For a given UTC date, calculate Delta(AT) = TAI-UTC. :------------------------------------------: : : : IMPORTANT : : : : A new version of this function must be : : produced whenever a new leap second is : : announced. There are four items to : : change on each such occasion: : : : : 1) A new line must be added to the set : : of statements that initialize the : : array "changes". : : : : 2) The constant IYV must be set to the : : current year. : : : : 3) The "Latest leap second" comment : : below must be set to the new leap : : second date. : : : : 4) The "This revision" comment, later, : : must be set to the current date. : : : : Change (2) must also be carried out : : whenever the function is re-issued, : : even if no leap seconds have been : : added. : : : : Latest leap second: 2016 December 31 : : : :__________________________________________: Given: iy int UTC: year (Notes 1 and 2) im int month (Note 2) id int day (Notes 2 and 3) fd double fraction of day (Note 4) Returned: deltat double TAI minus UTC, seconds Returned (function value): int status (Note 5): 1 = dubious year (Note 1) 0 = OK -1 = bad year -2 = bad month -3 = bad day (Note 3) -4 = bad fraction (Note 4) -5 = internal error (Note 5) Notes: 1) UTC began at 1960 January 1.0 (JD 2436934.5) and it is improper to call the function with an earlier date. If this is attempted, zero is returned together with a warning status. Because leap seconds cannot, in principle, be predicted in advance, a reliable check for dates beyond the valid range is impossible. To guard against gross errors, a year five or more after the release year of the present function (see the constant IYV) is considered dubious. In this case a warning status is returned but the result is computed in the normal way. For both too-early and too-late years, the warning status is +1. This is distinct from the error status -1, which signifies a year so early that JD could not be computed. 2) If the specified date is for a day which ends with a leap second, the TAI-UTC value returned is for the period leading up to the leap second. If the date is for a day which begins as a leap second ends, the TAI-UTC returned is for the period following the leap second. 3) The day number must be in the normal calendar range, for example 1 through 30 for April. The "almanac" convention of allowing such dates as January 0 and December 32 is not supported in this function, in order to avoid confusion near leap seconds. 4) The fraction of day is used only for dates before the introduction of leap seconds, the first of which occurred at the end of 1971. It is tested for validity (0 to 1 is the valid range) even if not used; if invalid, zero is used and status -4 is returned. For many applications, setting fd to zero is acceptable; the resulting error is always less than 3 ms (and occurs only pre-1972). 5) The status value returned in the case where there are multiple errors refers to the first error detected. For example, if the month and day are 13 and 32 respectively, status -2 (bad month) will be returned. The "internal error" status refers to a case that is impossible but causes some compilers to issue a warning. 6) In cases where a valid result is not available, zero is returned. References: 1) For dates from 1961 January 1 onwards, the expressions from the file ftp://maia.usno.navy.mil/ser7/tai-utc.dat are used. 2) The 5ms timestep at 1961 January 1 is taken from 2.58.1 (p87) of the 1992 Explanatory Supplement. Called: eraCal2jd Gregorian calendar to JD This revision: 2021 May 11 Copyright (C) 2013-2021, NumFOCUS Foundation. Derived, with permission, from the SOFA library. See notes at end of file. """ > deltat, c_retval = ufunc.dat(iy, im, id, fd) E ValueError: Invalid data-type for array core.py:16368: ValueError ___________________ TestLeapSeconds.test_update_leap_seconds ___________________ self = def test_update_leap_seconds(self): > assert erfa.dat(2018, 1, 1, 0.) == 37.0 tests/test_erfa.py:475: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ iy = 2018, im = 1, id = 1, fd = 0.0 def dat(iy, im, id, fd): """ For a given UTC date, calculate Delta(AT) = TAI-UTC. Parameters ---------- iy : int array im : int array id : int array fd : double array Returns ------- deltat : double array Notes ----- Wraps ERFA function ``eraDat``. The ERFA documentation is:: - - - - - - - e r a D a t - - - - - - - For a given UTC date, calculate Delta(AT) = TAI-UTC. :------------------------------------------: : : : IMPORTANT : : : : A new version of this function must be : : produced whenever a new leap second is : : announced. There are four items to : : change on each such occasion: : : : : 1) A new line must be added to the set : : of statements that initialize the : : array "changes". : : : : 2) The constant IYV must be set to the : : current year. : : : : 3) The "Latest leap second" comment : : below must be set to the new leap : : second date. : : : : 4) The "This revision" comment, later, : : must be set to the current date. : : : : Change (2) must also be carried out : : whenever the function is re-issued, : : even if no leap seconds have been : : added. : : : : Latest leap second: 2016 December 31 : : : :__________________________________________: Given: iy int UTC: year (Notes 1 and 2) im int month (Note 2) id int day (Notes 2 and 3) fd double fraction of day (Note 4) Returned: deltat double TAI minus UTC, seconds Returned (function value): int status (Note 5): 1 = dubious year (Note 1) 0 = OK -1 = bad year -2 = bad month -3 = bad day (Note 3) -4 = bad fraction (Note 4) -5 = internal error (Note 5) Notes: 1) UTC began at 1960 January 1.0 (JD 2436934.5) and it is improper to call the function with an earlier date. If this is attempted, zero is returned together with a warning status. Because leap seconds cannot, in principle, be predicted in advance, a reliable check for dates beyond the valid range is impossible. To guard against gross errors, a year five or more after the release year of the present function (see the constant IYV) is considered dubious. In this case a warning status is returned but the result is computed in the normal way. For both too-early and too-late years, the warning status is +1. This is distinct from the error status -1, which signifies a year so early that JD could not be computed. 2) If the specified date is for a day which ends with a leap second, the TAI-UTC value returned is for the period leading up to the leap second. If the date is for a day which begins as a leap second ends, the TAI-UTC returned is for the period following the leap second. 3) The day number must be in the normal calendar range, for example 1 through 30 for April. The "almanac" convention of allowing such dates as January 0 and December 32 is not supported in this function, in order to avoid confusion near leap seconds. 4) The fraction of day is used only for dates before the introduction of leap seconds, the first of which occurred at the end of 1971. It is tested for validity (0 to 1 is the valid range) even if not used; if invalid, zero is used and status -4 is returned. For many applications, setting fd to zero is acceptable; the resulting error is always less than 3 ms (and occurs only pre-1972). 5) The status value returned in the case where there are multiple errors refers to the first error detected. For example, if the month and day are 13 and 32 respectively, status -2 (bad month) will be returned. The "internal error" status refers to a case that is impossible but causes some compilers to issue a warning. 6) In cases where a valid result is not available, zero is returned. References: 1) For dates from 1961 January 1 onwards, the expressions from the file ftp://maia.usno.navy.mil/ser7/tai-utc.dat are used. 2) The 5ms timestep at 1961 January 1 is taken from 2.58.1 (p87) of the 1992 Explanatory Supplement. Called: eraCal2jd Gregorian calendar to JD This revision: 2021 May 11 Copyright (C) 2013-2021, NumFOCUS Foundation. Derived, with permission, from the SOFA library. See notes at end of file. """ > deltat, c_retval = ufunc.dat(iy, im, id, fd) E ValueError: Invalid data-type for array core.py:16368: ValueError ___________________________________ test_ab ____________________________________ def test_ab(): pnat = np.empty((3,), float) v = np.empty((3,), float) ppr = np.empty((3,), float) pnat[0] = -0.76321968546737951 pnat[1] = -0.60869453983060384 pnat[2] = -0.21676408580639883 v[0] = 2.1044018893653786e-5 v[1] = -8.9108923304429319e-5 v[2] = -3.8633714797716569e-5 s = 0.99980921395708788 bm1 = 0.99999999506209258 > ppr = erfa_ufunc.ab(pnat, v, s, bm1) E ValueError: Invalid data-type for array tests/test_ufunc.py:80: ValueError _________________________________ test_c2ibpn __________________________________ def test_c2ibpn(): rbpn = np.empty((3, 3), float) rc2i = np.empty((3, 3), float) rbpn[0][0] = 9.999962358680738e-1 rbpn[0][1] = -2.516417057665452e-3 rbpn[0][2] = -1.093569785342370e-3 rbpn[1][0] = 2.516462370370876e-3 rbpn[1][1] = 9.999968329010883e-1 rbpn[1][2] = 4.006159587358310e-5 rbpn[2][0] = 1.093465510215479e-3 rbpn[2][1] = -4.281337229063151e-5 rbpn[2][2] = 9.999994012499173e-1 > rc2i = erfa_ufunc.c2ibpn(2400000.5, 50123.9999, rbpn) E ValueError: Invalid data-type for array tests/test_ufunc.py:994: ValueError __________________________________ test_c2ixy __________________________________ def test_c2ixy(): rc2i = np.empty((3, 3), float) x = 0.5791308486706011000e-3 y = 0.4020579816732961219e-4 > rc2i = erfa_ufunc.c2ixy(2400000.5, 53736, x, y) E ValueError: Invalid data-type for array tests/test_ufunc.py:1010: ValueError _________________________________ test_c2tcio __________________________________ def test_c2tcio(): rc2i = np.empty((3, 3), float) rpom = np.empty((3, 3), float) rc2t = np.empty((3, 3), float) rc2i[0][0] = 0.9999998323037164738 rc2i[0][1] = 0.5581526271714303683e-9 rc2i[0][2] = -0.5791308477073443903e-3 rc2i[1][0] = -0.2384266227524722273e-7 rc2i[1][1] = 0.9999999991917404296 rc2i[1][2] = -0.4020594955030704125e-4 rc2i[2][0] = 0.5791308472168153320e-3 rc2i[2][1] = 0.4020595661593994396e-4 rc2i[2][2] = 0.9999998314954572365 era = 1.75283325530307 rpom[0][0] = 0.9999999999999674705 rpom[0][1] = -0.1367174580728847031e-10 rpom[0][2] = 0.2550602379999972723e-6 rpom[1][0] = 0.1414624947957029721e-10 rpom[1][1] = 0.9999999999982694954 rpom[1][2] = -0.1860359246998866338e-5 rpom[2][0] = -0.2550602379741215275e-6 rpom[2][1] = 0.1860359247002413923e-5 rpom[2][2] = 0.9999999999982369658 > rc2t = erfa_ufunc.c2tcio(rc2i, era, rpom) E ValueError: Invalid data-type for array tests/test_ufunc.py:1132: ValueError _________________________________ test_c2teqx __________________________________ def test_c2teqx(): rbpn = np.empty((3, 3), float) rpom = np.empty((3, 3), float) rc2t = np.empty((3, 3), float) rbpn[0][0] = 0.9999989440476103608 rbpn[0][1] = -0.1332881761240011518e-2 rbpn[0][2] = -0.5790767434730085097e-3 rbpn[1][0] = 0.1332858254308954453e-2 rbpn[1][1] = 0.9999991109044505944 rbpn[1][2] = -0.4097782710401555759e-4 rbpn[2][0] = 0.5791308472168153320e-3 rbpn[2][1] = 0.4020595661593994396e-4 rbpn[2][2] = 0.9999998314954572365 gst = 1.754166138040730516 rpom[0][0] = 0.9999999999999674705 rpom[0][1] = -0.1367174580728847031e-10 rpom[0][2] = 0.2550602379999972723e-6 rpom[1][0] = 0.1414624947957029721e-10 rpom[1][1] = 0.9999999999982694954 rpom[1][2] = -0.1860359246998866338e-5 rpom[2][0] = -0.2550602379741215275e-6 rpom[2][1] = 0.1860359247002413923e-5 rpom[2][2] = 0.9999999999982369658 > rc2t = erfa_ufunc.c2teqx(rbpn, gst, rpom) E ValueError: Invalid data-type for array tests/test_ufunc.py:1167: ValueError _________________________________ test_cal2jd __________________________________ def test_cal2jd(): > djm0, djm, j = erfa_ufunc.cal2jd(2003, 6, 1) E ValueError: Invalid data-type for array tests/test_ufunc.py:1224: ValueError ___________________________________ test_dat ___________________________________ def test_dat(): > deltat, j = erfa_ufunc.dat(2003, 6, 1, 0.0) E ValueError: Invalid data-type for array tests/test_ufunc.py:1306: ValueError __________________________________ test_eform __________________________________ def test_eform(): > a, f, j = erfa_ufunc.eform(0) E numpy.core._exceptions._UFuncNoLoopError: ufunc 'eform' did not contain a loop with signature matching types -> (None, None, None) tests/test_ufunc.py:1382: UFuncTypeError __________________________________ test_eors ___________________________________ def test_eors(): rnpb = np.empty((3, 3), float) rnpb[0][0] = 0.9999989440476103608 rnpb[0][1] = -0.1332881761240011518e-2 rnpb[0][2] = -0.5790767434730085097e-3 rnpb[1][0] = 0.1332858254308954453e-2 rnpb[1][1] = 0.9999991109044505944 rnpb[1][2] = -0.4097782710401555759e-4 rnpb[2][0] = 0.5791308472168153320e-3 rnpb[2][1] = 0.4020595661593994396e-4 rnpb[2][2] = 0.9999998314954572365 s = -0.1220040848472271978e-7 > eo = erfa_ufunc.eors(rnpb, s) E ValueError: Invalid data-type for array tests/test_ufunc.py:1417: ValueError ___________________________________ test_epj ___________________________________ def test_epj(): > epj = erfa_ufunc.epj(2451545, -7392.5) E numpy.core._exceptions._UFuncNoLoopError: ufunc 'epj' did not contain a loop with signature matching types (, ) -> None tests/test_ufunc.py:1434: UFuncTypeError __________________________________ test_gc2gd __________________________________ def test_gc2gd(): xyz = np.array([2e6, 3e6, 5.244e6]) > e, p, h, j = erfa_ufunc.gc2gd(0, xyz) E ValueError: Invalid data-type for array tests/test_ufunc.py:1673: ValueError _________________________________ test_gc2gde __________________________________ def test_gc2gde(): a = 6378136.0 f = 0.0033528 xyz = np.array([2e6, 3e6, 5.244e6]) > e, p, h, j = erfa_ufunc.gc2gde(a, f, xyz) E ValueError: Invalid data-type for array tests/test_ufunc.py:1698: ValueError __________________________________ test_gd2gc __________________________________ def test_gd2gc(): e = 3.1 p = -0.5 h = 2500.0 xyz = np.empty((3,), float) > xyz, j = erfa_ufunc.gd2gc(0, e, p, h) E ValueError: Invalid data-type for array tests/test_ufunc.py:1710: ValueError __________________________________ test_gst06 __________________________________ def test_gst06(): rnpb = np.empty((3, 3), float) rnpb[0][0] = 0.9999989440476103608 rnpb[0][1] = -0.1332881761240011518e-2 rnpb[0][2] = -0.5790767434730085097e-3 rnpb[1][0] = 0.1332858254308954453e-2 rnpb[1][1] = 0.9999991109044505944 rnpb[1][2] = -0.4097782710401555759e-4 rnpb[2][0] = 0.5791308472168153320e-3 rnpb[2][1] = 0.4020595661593994396e-4 rnpb[2][2] = 0.9999998314954572365 > theta = erfa_ufunc.gst06(2400000.5, 53736.0, 2400000.5, 53736.0, rnpb) E ValueError: Invalid data-type for array tests/test_ufunc.py:1781: ValueError ___________________________________ test_ld ____________________________________ def test_ld(): p = np.empty((3,), float) q = np.empty((3,), float) e = np.empty((3,), float) p1 = np.empty((3,), float) bm = 0.00028574 p[0] = -0.763276255 p[1] = -0.608633767 p[2] = -0.216735543 q[0] = -0.763276255 q[1] = -0.608633767 q[2] = -0.216735543 e[0] = 0.76700421 e[1] = 0.605629598 e[2] = 0.211937094 em = 8.91276983 dlim = 3e-10 > p1 = erfa_ufunc.ld(bm, p, q, e, em, dlim) E ValueError: Invalid data-type for array tests/test_ufunc.py:1909: ValueError __________________________________ test_ldsun __________________________________ def test_ldsun(): p = np.empty((3,), float) e = np.empty((3,), float) p1 = np.empty((3,), float) p[0] = -0.763276255 p[1] = -0.608633767 p[2] = -0.216735543 e[0] = -0.973644023 e[1] = -0.20925523 e[2] = -0.0907169552 em = 0.999809214 > p1 = erfa_ufunc.ldsun(p, e, em) E ValueError: Invalid data-type for array tests/test_ufunc.py:1967: ValueError _________________________________ test_num00b __________________________________ def test_num00b(): rmatn = np.empty((3, 3), float) > rmatn = erfa_ufunc.num00b(2400000.5, 53736) E numpy.core._exceptions._UFuncNoLoopError: ufunc 'num00b' did not contain a loop with signature matching types (, ) -> None tests/test_ufunc.py:2081: UFuncTypeError _________________________________ test_num06a __________________________________ def test_num06a(): rmatn = np.empty((3, 3), float) > rmatn = erfa_ufunc.num06a(2400000.5, 53736) E ValueError: Invalid data-type for array tests/test_ufunc.py:2095: ValueError __________________________________ test_pmpx ___________________________________ def test_pmpx(): pob = np.empty((3,), float) pco = np.empty((3,), float) rc = 1.234 dc = 0.789 pr = 1e-5 pd = -2e-5 px = 1e-2 rv = 10.0 pmt = 8.75 pob[0] = 0.9 pob[1] = 0.4 pob[2] = 0.1 > pco = erfa_ufunc.pmpx(rc, dc, pr, pd, px, rv, pmt, pob) E ValueError: Invalid data-type for array tests/test_ufunc.py:2383: ValueError __________________________________ test_ppsp ___________________________________ def test_ppsp(): a = np.empty((3,), float) b = np.empty((3,), float) apsb = np.empty((3,), float) a[0] = 2.0 a[1] = 2.0 a[2] = 3.0 s = 5.0 b[0] = 1.0 b[1] = 3.0 b[2] = 4.0 > apsb = erfa_ufunc.ppsp(a, s, b) E ValueError: Invalid data-type for array tests/test_ufunc.py:2808: ValueError __________________________________ test_pr00 ___________________________________ def test_pr00(): > dpsipr, depspr = erfa_ufunc.pr00(2400000.5, 53736) E ValueError: Invalid data-type for array tests/test_ufunc.py:2815: ValueError ___________________________________ test_rx ____________________________________ def test_rx(): r = np.empty((3, 3), float) phi = 0.3456789 r[0][0] = 2.0 r[0][1] = 3.0 r[0][2] = 2.0 r[1][0] = 3.0 r[1][1] = 2.0 r[1][2] = 3.0 r[2][0] = 3.0 r[2][1] = 4.0 r[2][2] = 5.0 > r = erfa_ufunc.rx(phi, r) E ValueError: Invalid data-type for array tests/test_ufunc.py:3115: ValueError ___________________________________ test_ry ____________________________________ def test_ry(): r = np.empty((3, 3), float) theta = 0.3456789 r[0][0] = 2.0 r[0][1] = 3.0 r[0][2] = 2.0 r[1][0] = 3.0 r[1][1] = 2.0 r[1][2] = 3.0 r[2][0] = 3.0 r[2][1] = 4.0 r[2][2] = 5.0 > r = erfa_ufunc.ry(theta, r) E ValueError: Invalid data-type for array tests/test_ufunc.py:3223: ValueError ___________________________________ test_rz ____________________________________ def test_rz(): r = np.empty((3, 3), float) psi = 0.3456789 r[0][0] = 2.0 r[0][1] = 3.0 r[0][2] = 2.0 r[1][0] = 3.0 r[1][1] = 2.0 r[1][2] = 3.0 r[2][0] = 3.0 r[2][1] = 4.0 r[2][2] = 5.0 > r = erfa_ufunc.rz(psi, r) E ValueError: Invalid data-type for array tests/test_ufunc.py:3247: ValueError ___________________________________ test_sxp ___________________________________ def test_sxp(): p = np.empty((3,), float) sp = np.empty((3,), float) s = 2.0 p[0] = 0.3 p[1] = 1.2 p[2] = -2.5 > sp = erfa_ufunc.sxp(s, p) E ValueError: Invalid data-type for array tests/test_ufunc.py:3403: ValueError __________________________________ test_tporv __________________________________ def test_tporv(): v = np.empty((3,), float) vz1 = np.empty((3,), float) vz2 = np.empty((3,), float) xi = -0.03 eta = 0.07 ra = 1.3 dec = 1.5 v = erfa_ufunc.s2c(ra, dec) > vz1, vz2, n = erfa_ufunc.tporv(xi, eta, v) E ValueError: Invalid data-type for array tests/test_ufunc.py:3511: ValueError __________________________________ test_tpstv __________________________________ def test_tpstv(): vz = np.empty((3,), float) v = np.empty((3,), float) xi = -0.03 eta = 0.07 raz = 2.3 decz = 1.5 vz = erfa_ufunc.s2c(raz, decz) > v = erfa_ufunc.tpstv(xi, eta, vz) E ValueError: Invalid data-type for array tests/test_ufunc.py:3539: ValueError =============================== warnings summary =============================== ../../../../../../usr/lib/python3.11/site-packages/_pytest/config/__init__.py:1373 /usr/lib/python3.11/site-packages/_pytest/config/__init__.py:1373: PytestConfigWarning: Unknown config option: doctest_plus self._warn_or_fail_if_strict(f"Unknown config option: {key}\n") ../../../../../../usr/lib/python3.11/site-packages/_pytest/config/__init__.py:1373 /usr/lib/python3.11/site-packages/_pytest/config/__init__.py:1373: PytestConfigWarning: Unknown config option: text_file_format self._warn_or_fail_if_strict(f"Unknown config option: {key}\n") -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_erfa.py::test_erfa_wrapper - ValueError: Invalid data-type for array FAILED tests/test_erfa.py::test_errwarn_reporting - numpy.core._exceptions._UFuncNoLoopError: ufunc 'dat' did not contain a loo... FAILED tests/test_erfa.py::test_vector_inouts - ValueError: Invalid data-type for array FAILED tests/test_erfa.py::test_rz - ValueError: Invalid data-type for array FAILED tests/test_erfa.py::test_float32_input - numpy.core._exceptions._UFuncNoLoopError: ufunc 'p2s' did not contain a loo... FAILED tests/test_erfa.py::TestLeapSeconds::test_set_leap_seconds - ValueError: Invalid data-type for array FAILED tests/test_erfa.py::TestLeapSeconds::test_validation[table0-January] - ValueError: Invalid data-type for array FAILED tests/test_erfa.py::TestLeapSeconds::test_validation[table1-jump] - ValueError: Invalid data-type for array FAILED tests/test_erfa.py::TestLeapSeconds::test_validation[table2-dimension] - ValueError: Invalid data-type for array FAILED tests/test_erfa.py::TestLeapSeconds::test_update_leap_seconds - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_ab - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_c2ibpn - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_c2ixy - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_c2tcio - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_c2teqx - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_cal2jd - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_dat - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_eform - numpy.core._exceptions._UFuncNoLoopError: ufunc 'eform' did not contain a l... FAILED tests/test_ufunc.py::test_eors - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_epj - numpy.core._exceptions._UFuncNoLoopError: ufunc 'epj' did not contain a loo... FAILED tests/test_ufunc.py::test_gc2gd - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_gc2gde - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_gd2gc - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_gst06 - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_ld - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_ldsun - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_num00b - numpy.core._exceptions._UFuncNoLoopError: ufunc 'num00b' did not contain a ... FAILED tests/test_ufunc.py::test_num06a - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_pmpx - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_ppsp - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_pr00 - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_rx - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_ry - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_rz - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_sxp - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_tporv - ValueError: Invalid data-type for array FAILED tests/test_ufunc.py::test_tpstv - ValueError: Invalid data-type for array ============ 37 failed, 239 passed, 2 skipped, 2 warnings in 2.47s ============= ==> ERROR: A failure occurred in check(). Aborting... ==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_cde8b425-e346-4532-9467-841cdf414b34/build