Untitled
taotieren
python
2 months ago
95 kB
10
No Index
❯ cat 2026-03-02T10:00:00/python-chex.log
[D 03-02 10:00:30.638 worker:220] [worker] got input: {'depend_packages': ['../python-dm-tree/python-dm-tree-0.1.9-3-x86_64.pkg.tar.zst', '../python-jax/python-jax-0.9.0-1-any.pkg.tar.zst', '../python-jaxlib/python-jaxlib-0.9.0-4-x86_64.pkg.tar.zst'], 'update_info': [['0.1.91-2', '0.1.91-2'], ['3.13', '3.14']], 'on_build_vers': [], 'commit_msg_template': 'python-chex: auto updated to {built_version}\n\nIt has been built because:\n* nvchecker detects the following updates: alpm(1): 3.13 -> 3.14\n* python-optax depends on it\n* python-underthesea depends on it\n* python-misaki depends on it', 'bindmounts': {'~/.cache/archbuild-bind-cache': '/build/.cache', '~/.cache/archbuild-bind-cache/ghcup': '/build/.ghcup', '~/.cache/pip': '/build/.cache/pip', '~/.cargo': '/build/.cargo'}, 'tmpfs': ['/build/.cache/bazel'], 'worker_no': 1, 'workerman': 'local', 'deadline': 1772420430.342692, 'reponame': 'aur-repo', 'user_agent': 'lilac/0.3 (URL; email)', 'result': '/tmp/python-chex-tuq9gbyi.lilac'}
[D 03-02 10:00:30.639 cmd:88] running ['sh', '-c', 'rm -f -- *.pkg.tar.xz *.pkg.tar.xz.sig *.pkg.tar.zst *.pkg.tar.zst.sig'], not using pty, showing output
[D 03-02 10:00:30.643 cmd:88] running ['bwrap', '--unshare-all', '--ro-bind', '/', '/', '--tmpfs', '/home', '--tmpfs', '/run', '--die-with-parent', '--tmpfs', '/tmp', '--proc', '/proc', '--dev', '/dev', '--share-net', '--bind', '/home/lilac/aur-repo/aur-repo/python-chex', '/tmp/python-chex', '--chdir', '/tmp/python-chex', '--ro-bind', PosixPath('/home/lilac/.lilac/gnupg'), '/home/lilac/.gnupg', '/bin/bash', '-c', 'source PKGBUILD && declare -p pkgver pkgrel || :'], not using pty, not showing output
[D 03-02 10:00:30.652 worker:105] oldver='0.1.91-2', newver='0.1.91-2'
[I 03-02 10:00:31.355 _client:1025] HTTP Request: GET https://aur.archlinux.org/pkgbase/python-chex "HTTP/2 303 See Other"
[I 03-02 10:00:31.931 _client:1025] HTTP Request: GET https://aur.archlinux.org/packages/python-chex "HTTP/2 200 OK"
[D 03-02 10:00:31.935 cmd:88] running ['bwrap', '--unshare-all', '--ro-bind', '/', '/', '--tmpfs', '/home', '--tmpfs', '/run', '--die-with-parent', '--tmpfs', '/tmp', '--proc', '/proc', '--dev', '/dev', '--share-net', '--bind', '/home/lilac/aur-repo/aur-repo/python-chex', '/tmp/python-chex', '--chdir', '/tmp/python-chex', '--ro-bind', PosixPath('/home/lilac/.lilac/gnupg'), '/home/lilac/.gnupg', '/bin/bash', '-c', 'source PKGBUILD && declare -p pkgver pkgrel || :'], not using pty, not showing output
[D 03-02 10:00:31.940 cmd:88] running ['git', 'ls-files'], not using pty, showing output
LICENSE
PKGBUILD
chex.diff
lilac.yaml
[I 03-02 10:00:31.941 api:471] clean directory
[D 03-02 10:00:31.941 api:476] unlink file LICENSE
[D 03-02 10:00:31.943 api:476] unlink file PKGBUILD
[D 03-02 10:00:31.943 api:476] unlink file chex.diff
[D 03-02 10:00:31.943 cmd:88] running ['git', 'reset', '--hard', 'origin/master'], not using pty, showing output
HEAD 现在位于 b9a0280 upgpg: 0.1.91-2
[D 03-02 10:00:31.948 cmd:88] running ['git', 'pull', '--no-edit'], not using pty, showing output
已经是最新的。
[D 03-02 10:00:35.561 cmd:88] running ['bwrap', '--unshare-all', '--ro-bind', '/', '/', '--tmpfs', '/home', '--tmpfs', '/run', '--die-with-parent', '--tmpfs', '/tmp', '--proc', '/proc', '--dev', '/dev', '--share-net', '--bind', '/home/lilac/aur-repo/aur-repo/python-chex', '/tmp/python-chex', '--chdir', '/tmp/python-chex', '--ro-bind', PosixPath('/home/lilac/.lilac/gnupg'), '/home/lilac/.gnupg', '/bin/bash', '-c', 'source PKGBUILD && declare -p pkgver pkgrel || :'], not using pty, not showing output
[I 03-02 10:00:35.565 api:262] pkgrel updated to 3
[D 03-02 10:00:35.566 cmd:88] running ['recv_gpg_keys'], not using pty, showing output
[D 03-02 10:00:35.574 cmd:88] running ['bwrap', '--unshare-all', '--ro-bind', '/', '/', '--tmpfs', '/home', '--tmpfs', '/run', '--die-with-parent', '--tmpfs', '/tmp', '--proc', '/proc', '--dev', '/dev', '--share-net', '--bind', '/home/lilac/aur-repo/aur-repo/python-chex', '/tmp/python-chex', '--chdir', '/tmp/python-chex', '--ro-bind', PosixPath('/home/lilac/.lilac/gnupg'), '/home/lilac/.gnupg', 'makepkg', '-od', '--noprepare', '-A'], using pty, showing output
[D 03-02 10:00:35.574 cmd:95] pty master fd=4, slave fd=5.
==> 正在创建软件包:python-chex 0.1.91-3 (2026 年03月02日 星期一 10时00分36秒)
==> 警告: 跳过依赖关系检查。
==> 获取源代码...
-> 找到 chex-0.1.91.tar.gz
==> 正在验证 source 文件,使用sha256sums...
chex-0.1.91.tar.gz ... 通过
==> 正在释放源码...
-> 正在解压缩 chex-0.1.91.tar.gz,使用 bsdtar
==> 源代码已就绪。
[D 03-02 10:00:36.128 cmd:88] running ['bwrap', '--unshare-all', '--ro-bind', '/', '/', '--tmpfs', '/home', '--tmpfs', '/run', '--die-with-parent', '--tmpfs', '/tmp', '--proc', '/proc', '--dev', '/dev', '--share-net', '--bind', '/home/lilac/aur-repo/aur-repo/python-chex', '/tmp/python-chex', '--chdir', '/tmp/python-chex', '--ro-bind', PosixPath('/home/lilac/.lilac/gnupg'), '/home/lilac/.gnupg', '/bin/bash', '-c', 'source PKGBUILD && declare -p pkgver pkgrel || :'], not using pty, not showing output
[I 03-02 10:00:36.134 api:262] pkgrel updated to 4
[D 03-02 10:00:36.648 pkgbuild:143] new package: python-chex 0.1.91-4
[I 03-02 10:00:36.648 worker:194] Running build command: ['env', 'GNUPGHOME=/home/lilac/.lilac/gnupg', 'aur-repo-x86_64-build', '--', '-I', '../python-dm-tree/python-dm-tree-0.1.9-3-x86_64.pkg.tar.zst', '-I', '../python-jax/python-jax-0.9.0-1-any.pkg.tar.zst', '-I', '../python-jaxlib/python-jaxlib-0.9.0-4-x86_64.pkg.tar.zst', '-d', '/home/lilac/.cargo:/build/.cargo', '-d', '/home/lilac/.cache/pip:/build/.cache/pip', '-d', '/home/lilac/.cache/archbuild-bind-cache/ghcup:/build/.ghcup', '-d', '/home/lilac/.cache/archbuild-bind-cache:/build/.cache', '-t', '/build/.cache/bazel', '-l', 'lilac-1', '--', '--noprogressbar', '--holdver']
==> Locking clean chroot...done
:: Synchronizing package databases...
aur-repo downloading...
core downloading...
extra downloading...
archlinuxcn downloading...
arch4edu downloading...
:: Starting full system upgrade...
there is nothing to do
==> Building in chroot for [aur-repo] (x86_64)...
==> Synchronizing chroot copy [/var/lib/archbuild/aur-repo-x86_64/root] -> [lilac-1]...done
loading packages...
resolving dependencies...
looking for conflicting packages...
Package (25) New Version Net Change
extra/abseil-cpp 20250814.1-1 6.55 MiB
extra/blas 3.12.1-2 0.74 MiB
extra/cblas 3.12.1-2 0.34 MiB
extra/gtest 1.17.0-2 1.63 MiB
extra/lapack 3.12.1-2 15.06 MiB
core/mpdecimal 4.0.1-1 0.33 MiB
core/python 3.14.3-1 72.18 MiB
extra/python-absl 2.4.0-1 1.56 MiB
extra/python-attrs 25.4.0-3 0.63 MiB
extra/python-charset-normalizer 3.4.4-2 0.51 MiB
extra/python-idna 3.11-2 1.18 MiB
extra/python-ml-dtypes 0.5.4-2 1.24 MiB
extra/python-numpy 2.4.2-1 47.60 MiB
extra/python-opt_einsum 3.4.0-2 0.92 MiB
extra/python-packaging 26.0-1 0.89 MiB
extra/python-platformdirs 4.9.3-1 0.40 MiB
extra/python-pooch 1.9.0-1 0.75 MiB
extra/python-requests 2.32.5-4 0.60 MiB
extra/python-scipy 1.17.1-1 115.60 MiB
extra/python-six 1.17.0-2 0.12 MiB
extra/python-urllib3 2.6.3-1 1.44 MiB
extra/python-wrapt 1.17.3-2 0.26 MiB
python-dm-tree 0.1.9-3 0.55 MiB
python-jax 0.9.0-1 23.43 MiB
python-jaxlib 0.9.0-4 230.05 MiB
Total Installed Size: 524.55 MiB
:: Proceed with installation? [Y/n]
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing mpdecimal...
installing python...
Optional dependencies for python
python-setuptools: for building Python packages using tooling that is usually bundled with Python
python-pip: for installing Python packages using tooling that is usually bundled with Python
python-pipx: for installing Python software not packaged on Arch Linux
sqlite: for a default database integration [installed]
xz: for lzma [installed]
tk: for tkinter
installing python-six...
installing gtest...
Optional dependencies for gtest
python: gmock generator [installed]
installing abseil-cpp...
installing python-absl...
installing python-attrs...
installing blas...
installing cblas...
installing lapack...
installing python-numpy...
Optional dependencies for python-numpy
blas-openblas: faster linear algebra
installing python-wrapt...
installing python-dm-tree...
installing python-ml-dtypes...
installing python-platformdirs...
installing python-packaging...
installing python-charset-normalizer...
installing python-idna...
installing python-urllib3...
Optional dependencies for python-urllib3
python-brotli: Brotli support
python-brotlicffi: Brotli support
python-h2: HTTP/2 support
python-pysocks: SOCKS support
installing python-requests...
Optional dependencies for python-requests
python-chardet: alternative character encoding library
python-pysocks: SOCKS proxy support
installing python-pooch...
Optional dependencies for python-pooch
python-paramiko: for SFTP downloads
python-tqdm: for printing a download progress bar
installing python-scipy...
Optional dependencies for python-scipy
python-pillow: for image saving module
installing python-jaxlib...
installing python-opt_einsum...
installing python-jax...
Optional dependencies for python-jax
python-protobuf: Australis
python-requests: Distributed computations [installed]
python-kubernetes: Distributed support in k8s clusters
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
==> Making package: python-chex 0.1.91-4 (2026年03月02日 星期一 10时00分47秒)
==> Retrieving sources...
-> Found chex-0.1.91.tar.gz
==> Validating source files with sha256sums...
chex-0.1.91.tar.gz ... Passed
==> Making package: python-chex 0.1.91-4 (Mon Mar 2 02:00:50 2026)
==> Checking runtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...
Package (2) New Version Net Change
extra/python-toolz 1.1.0-2 0.74 MiB
extra/python-typing_extensions 4.15.0-3 0.52 MiB
Total Installed Size: 1.26 MiB
:: Proceed with installation? [Y/n]
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing python-toolz...
installing python-typing_extensions...
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
==> Checking buildtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...
Package (10) New Version Net Change
extra/python-iniconfig 2.1.0-3 0.05 MiB
extra/python-pluggy 1.6.0-3 0.23 MiB
extra/python-pygments 2.19.2-3 15.30 MiB
extra/python-pyproject-hooks 1.2.0-6 0.11 MiB
extra/python-build 1.4.0-1 0.24 MiB
extra/python-cloudpickle 3.1.2-2 0.18 MiB
extra/python-flit-core 3.12.0-4 0.38 MiB
extra/python-installer 0.7.0-14 0.20 MiB
extra/python-pytest 1:8.4.2-3 4.69 MiB
extra/python-wheel 0.46.3-1 0.31 MiB
Total Installed Size: 21.67 MiB
:: Proceed with installation? [Y/n]
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing python-pyproject-hooks...
installing python-build...
Optional dependencies for python-build
python-pip: to use as the Python package installer (default)
python-uv: to use as the Python package installer
python-virtualenv: to use virtualenv for build isolation
installing python-flit-core...
installing python-installer...
installing python-wheel...
Optional dependencies for python-wheel
python-keyring: for wheel.signatures
python-xdg: for wheel.signatures
python-setuptools: for legacy bdist_wheel subcommand
installing python-cloudpickle...
installing python-iniconfig...
installing python-pluggy...
installing python-pygments...
installing python-pytest...
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
==> Retrieving sources...
-> Found chex-0.1.91.tar.gz
==> WARNING: Skipping all source file integrity checks.
==> Extracting sources...
-> Extracting chex-0.1.91.tar.gz with bsdtar
==> Starting build()...
* Getting build dependencies for wheel...
* Building wheel...
Successfully built chex-0.1.91-py3-none-any.whl
==> Starting check()...
============================= test session starts ==============================
platform linux -- Python 3.14.3, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python
cachedir: .pytest_cache
rootdir: /build/python-chex/src/chex-0.1.91
configfile: pyproject.toml
collecting ... collected 670 items
chex/_src/asserts_chexify_test.py::AssertsChexifyTest::test_async_mode PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTest::test_checkify_errors PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTest::test_docstring_example PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTest::test_nested_chexification__with_jit PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTest::test_nested_chexification__without_jit PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTest::test_partial_python_fn PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTest::test_static_assertion__with_jit PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTest::test_static_assertion__without_jit PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTest::test_uninspected_checks PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTest::test_wrong_order_of_wrapping PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTestSuite::test_log_abs_fn_jitted_main PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTestSuite::test_log_abs_fn_jitted_nested_call_main PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTestSuite::test_log_abs_fn_jitted_nested_call_thread PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTestSuite::test_log_abs_fn_jitted_nested_wrap_main PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTestSuite::test_log_abs_fn_jitted_nested_wrap_thread PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTestSuite::test_log_abs_fn_jitted_thread PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTestSuite::test_log_abs_fn_jitted_vmapped_main PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTestSuite::test_log_abs_fn_jitted_vmapped_thread PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTestSuite::test_log_abs_fn_pmapped_main PASSED
chex/_src/asserts_chexify_test.py::AssertsChexifyTestSuite::test_log_abs_fn_pmapped_thread PASSED
chex/_src/asserts_chexify_test.py::AssertsLibraryTest::test_assert_tree_all_finite PASSED
chex/_src/asserts_chexify_test.py::AssertsLibraryTest::test_assert_trees_all_close PASSED
chex/_src/asserts_chexify_test.py::AssertsLibraryTest::test_assert_trees_all_equal PASSED
chex/_src/asserts_chexify_test.py::AssertsLibraryTest::test_assert_trees_all_equal_with_prng_keys PASSED
chex/_src/asserts_chexify_test.py::AssertsLibraryTest::test_custom_message PASSED
chex/_src/asserts_internal_test.py::IsTraceableTest::test_is_traceable__with_jit PASSED
chex/_src/asserts_internal_test.py::IsTraceableTest::test_is_traceable__with_pmap SKIPPED
chex/_src/asserts_internal_test.py::ExceptionMessageFormatTest::test_format0 PASSED
chex/_src/asserts_internal_test.py::ExceptionMessageFormatTest::test_format1 PASSED
chex/_src/asserts_internal_test.py::ExceptionMessageFormatTest::test_format2 PASSED
chex/_src/asserts_internal_test.py::ExceptionMessageFormatTest::test_format3 PASSED
chex/_src/asserts_internal_test.py::ExceptionMessageFormatTest::test_format4 PASSED
chex/_src/asserts_internal_test.py::ExceptionMessageFormatTest::test_format5 PASSED
chex/_src/asserts_internal_test.py::ExceptionMessageFormatTest::test_format6 PASSED
chex/_src/asserts_internal_test.py::ExceptionMessageFormatTest::test_format7 PASSED
chex/_src/asserts_internal_test.py::JitCompatibleTest::test_api PASSED
chex/_src/asserts_test.py::AssertsSwitchTest::test_enable_disable_asserts PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_no_static_arg_max_traces_0__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_no_static_arg_max_traces_0__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_no_static_arg_max_traces_10__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_no_static_arg_max_traces_10__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_no_static_arg_max_traces_1__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_no_static_arg_max_traces_1__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_no_static_arg_max_traces_2__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_no_static_arg_max_traces_2__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_with_static_arg_max_traces_0__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_with_static_arg_max_traces_0__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_with_static_arg_max_traces_10__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_with_static_arg_max_traces_10__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_with_static_arg_max_traces_1__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_with_static_arg_max_traces_1__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_with_static_arg_max_traces_2__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_args_with_static_arg_max_traces_2__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_no_static_arg_max_traces_0__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_no_static_arg_max_traces_0__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_no_static_arg_max_traces_10__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_no_static_arg_max_traces_10__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_no_static_arg_max_traces_1__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_no_static_arg_max_traces_1__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_no_static_arg_max_traces_2__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_no_static_arg_max_traces_2__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_with_static_arg_max_traces_0__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_with_static_arg_max_traces_0__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_with_static_arg_max_traces_10__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_with_static_arg_max_traces_10__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_with_static_arg_max_traces_1__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_with_static_arg_max_traces_1__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_with_static_arg_max_traces_2__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type1_kwargs_with_static_arg_max_traces_2__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_no_static_arg_max_traces_0__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_no_static_arg_max_traces_0__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_no_static_arg_max_traces_10__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_no_static_arg_max_traces_10__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_no_static_arg_max_traces_1__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_no_static_arg_max_traces_1__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_no_static_arg_max_traces_2__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_no_static_arg_max_traces_2__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_with_static_arg_max_traces_0__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_with_static_arg_max_traces_0__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_with_static_arg_max_traces_10__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_with_static_arg_max_traces_10__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_with_static_arg_max_traces_1__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_with_static_arg_max_traces_1__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_with_static_arg_max_traces_2__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_args_with_static_arg_max_traces_2__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_no_static_arg_max_traces_0__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_no_static_arg_max_traces_0__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_no_static_arg_max_traces_10__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_no_static_arg_max_traces_10__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_no_static_arg_max_traces_1__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_no_static_arg_max_traces_1__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_no_static_arg_max_traces_2__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_no_static_arg_max_traces_2__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_with_static_arg_max_traces_0__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_with_static_arg_max_traces_0__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_with_static_arg_max_traces_10__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_with_static_arg_max_traces_10__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_with_static_arg_max_traces_1__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_with_static_arg_max_traces_1__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_with_static_arg_max_traces_2__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type2_kwargs_with_static_arg_max_traces_2__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_no_static_arg_max_traces_0__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_no_static_arg_max_traces_0__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_no_static_arg_max_traces_10__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_no_static_arg_max_traces_10__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_no_static_arg_max_traces_1__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_no_static_arg_max_traces_1__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_no_static_arg_max_traces_2__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_no_static_arg_max_traces_2__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_with_static_arg_max_traces_0__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_with_static_arg_max_traces_0__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_with_static_arg_max_traces_10__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_with_static_arg_max_traces_10__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_with_static_arg_max_traces_1__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_with_static_arg_max_traces_1__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_with_static_arg_max_traces_2__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_args_with_static_arg_max_traces_2__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_no_static_arg_max_traces_0__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_no_static_arg_max_traces_0__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_no_static_arg_max_traces_10__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_no_static_arg_max_traces_10__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_no_static_arg_max_traces_1__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_no_static_arg_max_traces_1__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_no_static_arg_max_traces_2__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_no_static_arg_max_traces_2__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_with_static_arg_max_traces_0__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_with_static_arg_max_traces_0__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_with_static_arg_max_traces_10__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_with_static_arg_max_traces_10__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_with_static_arg_max_traces_1__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_with_static_arg_max_traces_1__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_with_static_arg_max_traces_2__with_jit PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_assert_type3_kwargs_with_static_arg_max_traces_2__with_pmap SKIPPED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_incorrect_ordering PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_nested_functions PASSED
chex/_src/asserts_test.py::AssertMaxTracesTest::test_redefined_traced_function PASSED
chex/_src/asserts_test.py::ScalarAssertTest::test_scalar PASSED
chex/_src/asserts_test.py::ScalarAssertTest::test_scalar_in PASSED
chex/_src/asserts_test.py::ScalarAssertTest::test_scalar_in_excluded PASSED
chex/_src/asserts_test.py::ScalarAssertTest::test_scalar_negative PASSED
chex/_src/asserts_test.py::ScalarAssertTest::test_scalar_non_negative PASSED
chex/_src/asserts_test.py::ScalarAssertTest::test_scalar_positive PASSED
chex/_src/asserts_test.py::EqualSizeAssertTest::test_equal_size_should_fail_matrix PASSED
chex/_src/asserts_test.py::EqualSizeAssertTest::test_equal_size_should_fail_scalar_vector_matrix PASSED
chex/_src/asserts_test.py::EqualSizeAssertTest::test_equal_size_should_fail_vector_matrix PASSED
chex/_src/asserts_test.py::EqualSizeAssertTest::test_equal_size_should_pass_matrix PASSED
chex/_src/asserts_test.py::EqualSizeAssertTest::test_equal_size_should_pass_scalar_vector_matrix PASSED
chex/_src/asserts_test.py::EqualSizeAssertTest::test_equal_size_should_pass_vector_matrix PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_ellipsis_should_pass_multiple_ellipsis PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_ellipsis_should_pass_single_ellipsis PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_pytypes_pass PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_size_should_fail_some_wrong_size PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_size_should_fail_some_wrong_size_set PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_size_should_fail_wrong_common_shape PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_size_should_fail_wrong_common_shape_2 PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_size_should_fail_wrong_length_not_enough_sizes PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_size_should_fail_wrong_length_too_many_sizes PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_size_should_fail_wrong_size PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_size_should_pass_common_size_set PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_size_should_pass_matrices PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_size_should_pass_scalars PASSED
chex/_src/asserts_test.py::SizeAssertTest::test_size_should_pass_vectors PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_at_dims_should_fail_first_dim PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_at_dims_should_fail_last_dim PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_at_dims_should_fail_last_dim_neg PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_at_dims_should_fail_multiple_dims PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_at_dims_should_pass_first_and_last PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_at_dims_should_pass_first_and_last_neg PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_at_dims_should_pass_first_dim PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_at_dims_should_pass_first_few_dims PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_at_dims_should_pass_last_dim PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_prefix_should_fail_scalars PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_prefix_should_fail_vectors PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_prefix_should_pass_scalars PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_prefix_should_pass_vectors PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_should_fail_not_scalar PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_should_fail_wrong_length PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_should_fail_wrong_rank PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_should_pass_matrices PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_should_pass_scalars PASSED
chex/_src/asserts_test.py::EqualShapeAssertTest::test_equal_shape_should_pass_vectors PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_fail_inner_bad_prefix PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_fail_inner_bad_suffix PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_fail_inner_both_bad PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_fail_prefix PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_fail_short_rank_inner PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_fail_short_rank_prefix PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_fail_short_rank_suffix PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_fail_suffix PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_pass_inner_0 PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_pass_inner_1 PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_pass_inner_2 PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_pass_prefix_0 PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_pass_prefix_1 PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_pass_prefix_2 PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_pass_suffix_0 PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_pass_suffix_1 PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_ellipsis_should_pass_suffix_2 PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_multiple_ellipses_prefix_and_suffix PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_pytypes_pass_shape_set PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_pytypes_pass_suffix PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_pytypes_pass_variable_shape PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_fail_some_wrong_shape PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_fail_some_wrong_shape_set PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_fail_wrong_common_shape PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_fail_wrong_common_shape_2 PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_fail_wrong_length_not_enough_shapes PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_fail_wrong_length_too_many_shapes PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_fail_wrong_rank PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_fail_wrong_shape PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_pass_common_shape_set PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_pass_matrices PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_pass_matrices_variable_shape PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_pass_scalars PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_pass_variable_common_shape PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_pass_vectors PASSED
chex/_src/asserts_test.py::ShapeAssertTest::test_shape_should_pass_vectors_common_shape PASSED
chex/_src/asserts_test.py::BroadcastAssertTest::test_shapes_are_broadcastable0 PASSED
chex/_src/asserts_test.py::BroadcastAssertTest::test_shapes_are_broadcastable1 PASSED
chex/_src/asserts_test.py::BroadcastAssertTest::test_shapes_are_broadcastable2 PASSED
chex/_src/asserts_test.py::BroadcastAssertTest::test_shapes_are_broadcastable3 PASSED
chex/_src/asserts_test.py::BroadcastAssertTest::test_shapes_are_broadcastable4 PASSED
chex/_src/asserts_test.py::BroadcastAssertTest::test_shapes_are_broadcastable5 PASSED
chex/_src/asserts_test.py::BroadcastAssertTest::test_shapes_are_broadcastable6 PASSED
chex/_src/asserts_test.py::BroadcastAssertTest::test_shapes_are_not_broadcastable0 PASSED
chex/_src/asserts_test.py::BroadcastAssertTest::test_shapes_are_not_broadcastable1 PASSED
chex/_src/asserts_test.py::BroadcastAssertTest::test_shapes_are_not_broadcastable2 PASSED
chex/_src/asserts_test.py::BroadcastAssertTest::test_shapes_are_not_broadcastable3 PASSED
chex/_src/asserts_test.py::BroadcastAssertTest::test_shapes_are_not_broadcastable4 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_assert_rank_should_fail_sequence_wrong_1 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_assert_rank_should_fail_sequence_wrong_2 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_assert_rank_should_fail_sequence_wrong_3 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_assert_rank_should_fail_sequence_wrong_4 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_fail_array_expectations PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_fail_single_rank_1 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_fail_single_rank_2 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_fail_single_rank_3 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_fail_wrong_expectation_structure PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_fail_wrong_length_not_enough_ranks PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_fail_wrong_length_too_many_ranks PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_pass_multiple_options_seq_options_1 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_pass_multiple_options_seq_options_2 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_pass_multiple_options_single_option PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_pass_repeated_input_rank_1 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_pass_repeated_input_rank_2 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_pass_repeated_input_rank_3 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_pass_single_input_rank_1 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_pass_single_input_rank_2 PASSED
chex/_src/asserts_test.py::RankAssertTest::test_rank_should_pass_single_input_rank_3 PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_array_bfloat16_array__with_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_array_bfloat16_array__without_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_array_float32_array__with_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_array_float32_array__without_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_array_int8_array__with_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_array_int8_array__without_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_array_one_float_array__with_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_array_one_float_array__without_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_array_one_int_array__with_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_array_one_int_array__without_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_mixed PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_scalar_many_floats PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_scalar_many_floats_verbose PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_scalar_one_bool_as_float PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_scalar_one_bool_as_int PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_scalar_one_float PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_scalar_one_float_as_bool PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_scalar_one_int PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_scalar_one_int_as_bool PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_wrong_length_not_enough_types PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_fail_wrong_length_too_many_types PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_array_one_bool_array__with_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_array_one_bool_array__without_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_array_one_float_array__with_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_array_one_float_array__without_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_array_one_int_array__with_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_array_one_int_array__without_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_array_one_integer_array__with_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_array_one_integer_array__without_device PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_mixed PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_scalar_many_floats PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_scalar_many_floats_verbose PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_scalar_one_bool PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_scalar_one_float PASSED
chex/_src/asserts_test.py::TypeAssertTest::test_type_should_pass_scalar_one_int PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_axis_invalid PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_fail PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_gt_axis_invalid PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_gt_fail PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_gt_pass PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_gteq_axis_invalid PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_gteq_fail PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_gteq_pass PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_lt_axis_invalid PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_lt_fail PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_lt_pass PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_lteq_axis_invalid PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_lteq_fail PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_lteq_pass PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_pass PASSED
chex/_src/asserts_test.py::AxisDimensionAssertionsTest::test_assert_axis_dimension_string_tensor PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_has_only_ndarrays PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_is_on_device FAILED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_is_on_host FAILED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_is_sharded FAILED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_no_nones PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_mismatched_should_fail_matches_nothing PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_mismatched_should_fail_matches_y PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_mismatched_should_fail_matches_z PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_mismatched_should_pass_prefix PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_prefix_matrices PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_prefix_scalars PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_prefix_vectors PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_should_fail_ints PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_should_fail_none PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_should_fail_prefix PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_should_fail_suffix PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_should_pass_ints PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_should_pass_none PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_should_pass_prefix1 PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_should_pass_prefix2 PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_should_pass_prefix3 PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_should_pass_suffix1 PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_should_pass_suffix2 PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_should_pass_suffix3 PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_suffix_long_suffix PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_suffix_matching_matrices PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_suffix_matching_scalars PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_suffix_matching_vectors PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_suffix_mismatch_bad_suffix_leaf_1 PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_shape_suffix_mismatch_bad_suffix_leaf_2 PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_bfloat16 PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_fails_different_structure PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_fails_values_differ PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_passes_same_tree PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_passes_values_close_but_not_equal PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_passes_values_equal PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_ulp_bfloat16_fails_values_gt_maxulp_apart PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_ulp_bfloat16_passes_values_maxulp_apart PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_ulp_bfloat16_passes_values_within_maxulp PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_ulp_fails_values_gt_maxulp_apart PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_ulp_jittable_raises_valueerror PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_ulp_passes_same_tree PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_ulp_passes_values_equal PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_ulp_passes_values_maxulp_apart PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_close_ulp_passes_values_within_maxulp PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_equal_dtypes PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_equal_fail_values_close_but_not_equal PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_equal_none PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_equal_passes_same_tree PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_equal_passes_values_equal PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_equal_prng_keys PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_equal_shapes PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_equal_shapes_and_dtypes PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_equal_sizes PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_equal_strict_mode PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_equal_structs PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_trees_all_equal_wrong_usage PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_leaf_shape_should_fail_wrong_length PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_tree_all_finite_passes_finite PASSED
chex/_src/asserts_test.py::TreeAssertionsTest::test_tree_all_finite_should_fail_inf PASSED
chex/_src/asserts_test.py::DevicesAssertTest::test_cpu_assert PASSED
chex/_src/asserts_test.py::DevicesAssertTest::test_gpu_assert PASSED
chex/_src/asserts_test.py::DevicesAssertTest::test_not_less_than0 PASSED
chex/_src/asserts_test.py::DevicesAssertTest::test_not_less_than1 PASSED
chex/_src/asserts_test.py::DevicesAssertTest::test_not_less_than2 PASSED
chex/_src/asserts_test.py::DevicesAssertTest::test_tpu_assert PASSED
chex/_src/asserts_test.py::DevicesAssertTest::test_unsupported_device PASSED
chex/_src/asserts_test.py::NumericalGradsAssertTest::test_easy0 PASSED
chex/_src/asserts_test.py::NumericalGradsAssertTest::test_easy1 PASSED
chex/_src/asserts_test.py::NumericalGradsAssertTest::test_easy2 PASSED
chex/_src/asserts_test.py::NumericalGradsAssertTest::test_easy_with_stop_gradient0 PASSED
chex/_src/asserts_test.py::NumericalGradsAssertTest::test_easy_with_stop_gradient1 PASSED
chex/_src/asserts_test.py::NumericalGradsAssertTest::test_easy_with_stop_gradient2 PASSED
chex/_src/asserts_test.py::NumericalGradsAssertTest::test_hard0 PASSED
chex/_src/asserts_test.py::NumericalGradsAssertTest::test_hard1 PASSED
chex/_src/asserts_test.py::NumericalGradsAssertTest::test_hard2 PASSED
chex/_src/asserts_test.py::NumericalGradsAssertTest::test_hard_with_stop_gradient0 PASSED
chex/_src/asserts_test.py::NumericalGradsAssertTest::test_hard_with_stop_gradient1 PASSED
chex/_src/asserts_test.py::NumericalGradsAssertTest::test_hard_with_stop_gradient2 PASSED
chex/_src/asserts_test.py::EqualAssertionsTest::test_assert_equal_fail_arrays PASSED
chex/_src/asserts_test.py::EqualAssertionsTest::test_assert_equal_fail_dicts1 PASSED
chex/_src/asserts_test.py::EqualAssertionsTest::test_assert_equal_fail_dicts2 PASSED
chex/_src/asserts_test.py::EqualAssertionsTest::test_assert_equal_fail_dicts3 PASSED
chex/_src/asserts_test.py::EqualAssertionsTest::test_assert_equal_fail_dicts4 PASSED
chex/_src/asserts_test.py::EqualAssertionsTest::test_assert_equal_fail_dtypes PASSED
chex/_src/asserts_test.py::EqualAssertionsTest::test_assert_equal_fail_lists PASSED
chex/_src/asserts_test.py::EqualAssertionsTest::test_assert_equal_fail_lists2 PASSED
chex/_src/asserts_test.py::EqualAssertionsTest::test_assert_equal_pass_dicts PASSED
chex/_src/asserts_test.py::EqualAssertionsTest::test_assert_equal_pass_dtypes PASSED
chex/_src/asserts_test.py::EqualAssertionsTest::test_assert_equal_pass_lists PASSED
chex/_src/asserts_test.py::EqualAssertionsTest::test_assert_equal_pass_on_arrays PASSED
chex/_src/asserts_test.py::IsDivisibleTest::test_assert_is_divisible PASSED
chex/_src/asserts_test.py::IsDivisibleTest::test_assert_is_divisible_fail PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testFlattenAndUnflatten_chex PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testFlattenAndUnflatten_original PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testFlattenUpTo_chex PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testFlattenUpTo_original PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testFlattenWithPathUpTo_chex PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testFlattenWithPathUpTo_original PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testFlattenWithPath_chex PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testFlattenWithPath_original PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testIsDataclass_chex PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testIsDataclass_original PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testMapStructureUpTo_chex PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testMapStructureUpTo_original PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testMapStructureWithPathUpTo_chex PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testMapStructureWithPathUpTo_original PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testMapStructureWithPath_chex PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testMapStructureWithPath_original PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testMapStructure_chex PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testMapStructure_original PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testTraverse_chex PASSED
chex/_src/dataclass_test.py::MappableDataclassTest::testTraverse_original PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_dataclass_instance_fields0 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_dataclass_instance_fields1 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_dataclass_mappable_dataclass_false PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_dataclass_replace0 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_dataclass_replace1 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_dataclass_requires_kwargs_by_default PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_dataclass_tree_leaves0 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_dataclass_tree_leaves1 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_dataclass_tree_map0 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_dataclass_tree_map1 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_decorator_alias PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_disallowed_fields PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_flatten_is_leaf0 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_flatten_is_leaf1 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_flatten_respects_post_init PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_flatten_roundtrip_ordering0 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_flatten_roundtrip_ordering1 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_frozen_dataclass_raise_error PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_generic_dataclass_mappable PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_generic_dataclass_not_mappable PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_get_and_set_state_frozen PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_get_and_set_state_mutable PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_inheritance_from_empty_frozen_base PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_inheritance_frozen PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_inheritance_is_possible_thanks_to_kw_only PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_inheritance_mutable PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_keys_and_values_override0 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_keys_and_values_override1 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_keys_and_values_type0 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_keys_and_values_type1 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_mappable_eq_override PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_roundtrip_serialization0 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_roundtrip_serialization1 PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_tree_flatten_with_keys PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_tree_map_with_keys PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_tree_map_with_keys_traversal_order PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_tuple_conversion PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_tuple_rev_conversion_frozen PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_tuple_rev_conversion_mutable PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_unexpected_kwargs PASSED
chex/_src/dataclass_test.py::DataclassesTest::test_unfrozen_dataclass_is_mutable PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_docstring_examples **********************************************************************
File "/build/python-chex/src/chex-0.1.91/chex/_src/dimensions.py", line 108, in NoName
Failed example:
w = y * x # Cannot broadcast (3, 5, 7) with (3, 5)
Expected:
Traceback (most recent call last):
...
ValueError: Incompatible shapes for broadcasting: ((3, 5, 7), (1, 3, 5))
Got:
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/jax/_src/lax/lax.py", line 215, in _broadcast_shapes_uncached
return _try_broadcast_shapes(*rank_promoted_shapes, name='broadcast_shapes')
File "/usr/lib/python3.14/site-packages/jax/_src/lax/lax.py", line 130, in _try_broadcast_shapes
raise TypeError(f'{name} got incompatible shapes for broadcasting: '
f'{", ".join(map(str, map(tuple, shapes)))}.')
TypeError: broadcast_shapes got incompatible shapes for broadcasting: (3, 5, 7), (1, 3, 5).
<BLANKLINE>
The above exception was the direct cause of the following exception:
<BLANKLINE>
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/jax/_src/lax/lax.py", line 193, in broadcast_shapes
return _broadcast_shapes_cached(*shapes)
File "/usr/lib/python3.14/site-packages/jax/_src/util.py", line 301, in wrapper
return cached(trace_context(), *args, **kwargs)
File "/usr/lib/python3.14/site-packages/jax/_src/util.py", line 295, in cached
return f(*args, **kwargs)
File "/usr/lib/python3.14/site-packages/jax/_src/lax/lax.py", line 199, in _broadcast_shapes_cached
return _broadcast_shapes_uncached(*shapes)
File "/usr/lib/python3.14/site-packages/jax/_src/lax/lax.py", line 218, in _broadcast_shapes_uncached
raise ValueError(f"Incompatible shapes for broadcasting: shapes={list(shapes)}") from err
ValueError: Incompatible shapes for broadcasting: shapes=[(3, 5, 7), (3, 5)]
<BLANKLINE>
During handling of the above exception, another exception occurred:
<BLANKLINE>
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/jax/_src/lax/lax.py", line 215, in _broadcast_shapes_uncached
return _try_broadcast_shapes(*rank_promoted_shapes, name='broadcast_shapes')
File "/usr/lib/python3.14/site-packages/jax/_src/lax/lax.py", line 130, in _try_broadcast_shapes
raise TypeError(f'{name} got incompatible shapes for broadcasting: '
f'{", ".join(map(str, map(tuple, shapes)))}.')
TypeError: broadcast_shapes got incompatible shapes for broadcasting: (3, 5, 7), (1, 3, 5).
<BLANKLINE>
The above exception was the direct cause of the following exception:
<BLANKLINE>
Traceback (most recent call last):
File "<doctest NoName[15]>", line 1, in <module>
w = y * x # Cannot broadcast (3, 5, 7) with (3, 5)
~~^~~
File "/usr/lib/python3.14/site-packages/jax/_src/numpy/array_methods.py", line 609, in deferring_binary_op
return binary_op(*args)
File "/usr/lib/python3.14/site-packages/jax/_src/numpy/ufunc_api.py", line 182, in __call__
return call(*args)
File "/usr/lib/python3.14/site-packages/jax/_src/numpy/ufuncs.py", line 1280, in multiply
x, y = promote_args("multiply", x, y)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/jax/_src/numpy/util.py", line 222, in promote_args
return promote_shapes(fun_name, *promote_dtypes(*args))
File "/usr/lib/python3.14/site-packages/jax/_src/numpy/util.py", line 60, in promote_shapes
result_rank = len(lax.broadcast_shapes(*shapes))
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
ValueError: Incompatible shapes for broadcasting: shapes=[(3, 5, 7), (3, 5)]
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_fail_empty_end PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_fail_empty_mid PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_fail_empty_solo PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_fail_empty_start PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_fail_neg_sized_dim PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_fail_nested PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_fail_unmatched_closed PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_fail_unmatched_open PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_fail_wildcard_asterisk PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_fail_wildcard_named PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_fail_zero_sized_dim PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_ok_all PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_ok_end PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_ok_mid PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_ok_multiple PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_ok_start PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_ok_trivial_end PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_ok_trivial_mid PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_flatten_ok_trivial_start PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_get_exception_bad_key_string PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_get_exception_bad_key_type PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_get_literals PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_get_wildcard PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_set_exception_bad_key_string PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_set_exception_bad_key_type PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_set_exception_iterator PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_set_exception_len_mismatch PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_set_exception_non_integer_size PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_set_exception_scalar PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_set_ok_case_sensitive PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_set_ok_list PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_set_ok_numpy_array PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_set_ok_scalar PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_set_ok_vector PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_set_wildcard PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_size_fail_wildcard_asterisk PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_size_fail_wildcard_named PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_size_fail_wildcard_negative PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_size_fail_wildcard_zero PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_size_ok_nonscalar PASSED
chex/_src/dimensions_test.py::DimensionsTest::test_size_ok_scalar PASSED
chex/_src/fake_set_n_cpu_devices_test.py::DevicesSetterTest::test_set_n_cpu_devices SKIPPED
chex/_src/fake_test.py::PmapFakeTest::test_assert_jitted PASSED
chex/_src/fake_test.py::PmapFakeTest::test_assert_pmapped PASSED
chex/_src/fake_test.py::PmapFakeTest::test_fake_jit_faked_jit PASSED
chex/_src/fake_test.py::PmapFakeTest::test_fake_jit_plain_jit PASSED
chex/_src/fake_test.py::PmapFakeTest::test_fake_parallel_axis PASSED
chex/_src/fake_test.py::PmapFakeTest::test_fake_pmap__faked_pmap PASSED
chex/_src/fake_test.py::PmapFakeTest::test_fake_pmap__faked_pmap_but_jit PASSED
chex/_src/fake_test.py::PmapFakeTest::test_fake_pmap__plain_pmap PASSED
chex/_src/fake_test.py::PmapFakeTest::test_fake_pmap__plain_pmap_but_jit PASSED
chex/_src/fake_test.py::PmapFakeTest::test_fake_pmap_axis_name PASSED
chex/_src/fake_test.py::PmapFakeTest::test_parallel_ops_equivalence PASSED
chex/_src/fake_test.py::PmapFakeTest::test_pmap_and_jit_fake_both PASSED
chex/_src/fake_test.py::PmapFakeTest::test_pmap_and_jit_fake_jit PASSED
chex/_src/fake_test.py::PmapFakeTest::test_pmap_and_jit_fake_nothing PASSED
chex/_src/fake_test.py::PmapFakeTest::test_pmap_and_jit_fake_pmap PASSED
chex/_src/fake_test.py::PmapFakeTest::test_pmap_with_complex_static_broadcasted_object0 PASSED
chex/_src/fake_test.py::PmapFakeTest::test_pmap_with_complex_static_broadcasted_object1 PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_default_params_fake_both PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_default_params_fake_jit PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_default_params_fake_nothing PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_default_params_fake_pmap PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_kwargs_fake_both PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_kwargs_fake_jit PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_kwargs_fake_nothing PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_kwargs_fake_pmap PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_partial_fake_both PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_partial_fake_jit PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_partial_fake_nothing PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_partial_fake_pmap PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_static_broadcasted_argnums_fake_nothing PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_static_broadcasted_argnums_fake_nothing_no_static_args PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_static_broadcasted_argnums_fake_pmap PASSED
chex/_src/fake_test.py::PmapFakeTest::test_with_static_broadcasted_argnums_fake_pmap_no_static_args PASSED
chex/_src/fake_test.py::OnCallOfTransformedFunctionTest::test_on_call_of_transformed_function PASSED
chex/_src/restrict_backends_test.py::RestrictBackendsTest::test_detects_explicitly_forbidden_cpu_computation SKIPPED
chex/_src/restrict_backends_test.py::RestrictBackendsTest::test_detects_explicitly_forbidden_tpu_computation SKIPPED
chex/_src/restrict_backends_test.py::RestrictBackendsTest::test_detects_implicitly_forbidden_cpu_computation SKIPPED
chex/_src/restrict_backends_test.py::RestrictBackendsTest::test_detects_implicitly_forbidden_tpu_computation SKIPPED
chex/_src/restrict_backends_test.py::RestrictBackendsTest::test_ignores_explicitly_allowed_cpu_computation SKIPPED
chex/_src/restrict_backends_test.py::RestrictBackendsTest::test_ignores_explicitly_allowed_tpu_computation SKIPPED
chex/_src/restrict_backends_test.py::RestrictBackendsTest::test_ignores_implicitly_allowed_cpu_computation SKIPPED
chex/_src/restrict_backends_test.py::RestrictBackendsTest::test_ignores_implicitly_allowed_tpu_computation SKIPPED
chex/_src/restrict_backends_test.py::RestrictBackendsTest::test_raises_if_contradictory_restrictions_specified SKIPPED
chex/_src/restrict_backends_test.py::RestrictBackendsTest::test_raises_if_no_restrictions_specified SKIPPED
chex/_src/variants_test.py::ParamsProductTest::test_product PASSED
chex/_src/variants_test.py::FailedTestsTest::test_useful_errors PASSED
chex/_src/variants_test.py::FailedTestsTest::test_useful_failures PASSED
chex/_src/variants_test.py::OneFailedVariantTest::test_useful_failure PASSED
chex/_src/variants_test.py::WrongBaseClassTest::test_wrong_base_class PASSED
chex/_src/variants_test.py::BaseClassesTest::test_inheritance_parameterized PASSED
chex/_src/variants_test.py::BaseClassesTest::test_inheritance_variants PASSED
chex/_src/variants_test.py::BaseClassesTest::test_inheritance_variants_and_parameterized PASSED
chex/_src/variants_test.py::VariantsTestCaseWithParameterizedTest::test_should_pass PASSED
chex/_src/variants_test.py::WrongWrappersOrderTest::test_incorrect_wrapping_order_all_variants PASSED
chex/_src/variants_test.py::WrongWrappersOrderTest::test_incorrect_wrapping_order_named_all_variants PASSED
chex/_src/variants_test.py::WrongWrappersOrderTest::test_incorrect_wrapping_order_named_some_variants PASSED
chex/_src/variants_test.py::WrongWrappersOrderTest::test_incorrect_wrapping_order_some_variants PASSED
chex/_src/variants_test.py::UnusedVariantTest::test_unused_variant PASSED
chex/_src/variants_test.py::NoVariantsTest::test_no_variants PASSED
chex/_src/variants_test.py::UnknownVariantArgumentsTest::test_unknown_argument PASSED
chex/_src/variants_test.py::VariantTypesTest::test_consistency PASSED
chex/_src/variants_test.py::VariantTypesTest::test_var_type_fetch PASSED
chex/_src/variants_test.py::CountVariantsTest::test_counters PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_all_variants__with_device PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_all_variants__with_jit PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_all_variants__with_pmap SKIPPED
chex/_src/variants_test.py::MultipleVariantsTest::test_all_variants__without_device PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_all_variants__without_jit PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_all_variants_no_parens__with_device PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_all_variants_no_parens__with_jit PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_all_variants_no_parens__with_pmap SKIPPED
chex/_src/variants_test.py::MultipleVariantsTest::test_all_variants_no_parens__without_device PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_all_variants_no_parens__without_jit PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_many_variants_case_0__with_device PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_many_variants_case_0__with_jit PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_many_variants_case_0__without_device PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_many_variants_case_0__without_jit PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_many_variants_case_1__with_device PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_many_variants_case_1__with_jit PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_many_variants_case_1__without_device PASSED
chex/_src/variants_test.py::MultipleVariantsTest::test_many_variants_case_1__without_jit PASSED
chex/_src/variants_test.py::VmappedFunctionTest::test_vmapped_fn_named_params_case_0__with_device PASSED
chex/_src/variants_test.py::VmappedFunctionTest::test_vmapped_fn_named_params_case_0__with_jit PASSED
chex/_src/variants_test.py::VmappedFunctionTest::test_vmapped_fn_named_params_case_0__with_pmap SKIPPED
chex/_src/variants_test.py::VmappedFunctionTest::test_vmapped_fn_named_params_case_0__without_device PASSED
chex/_src/variants_test.py::VmappedFunctionTest::test_vmapped_fn_named_params_case_0__without_jit PASSED
chex/_src/variants_test.py::VmappedFunctionTest::test_vmapped_fn_named_params_case_1__with_device PASSED
chex/_src/variants_test.py::VmappedFunctionTest::test_vmapped_fn_named_params_case_1__with_jit PASSED
chex/_src/variants_test.py::VmappedFunctionTest::test_vmapped_fn_named_params_case_1__with_pmap SKIPPED
chex/_src/variants_test.py::VmappedFunctionTest::test_vmapped_fn_named_params_case_1__without_device PASSED
chex/_src/variants_test.py::VmappedFunctionTest::test_vmapped_fn_named_params_case_1__without_jit PASSED
chex/_src/variants_test.py::WithoutJitTest::test_called_variant__without_jit PASSED
chex/_src/variants_test.py::WithoutJitTest::test_named_scalar_parameters_case_0__without_jit PASSED
chex/_src/variants_test.py::WithoutJitTest::test_named_scalar_parameters_case_1__without_jit PASSED
chex/_src/variants_test.py::WithoutJitTest::test_ndarray_named_parameters_case_0__without_jit PASSED
chex/_src/variants_test.py::WithoutJitTest::test_ndarray_named_parameters_case_1__without_jit PASSED
chex/_src/variants_test.py::WithoutJitTest::test_ndarray_parameters_(1, 2, 1)__without_jit PASSED
chex/_src/variants_test.py::WithoutJitTest::test_ndarray_parameters_(4, 6, 2)__without_jit PASSED
chex/_src/variants_test.py::WithoutJitTest::test_scalar_parameters_(1, 2, 1)__without_jit PASSED
chex/_src/variants_test.py::WithoutJitTest::test_scalar_parameters_(4, 6, 2)__without_jit PASSED
chex/_src/variants_test.py::WithoutJitTest::test_with_kwargs__without_jit PASSED
chex/_src/variants_test.py::WithoutJitTest::test_with_ndarray_args__without_jit PASSED
chex/_src/variants_test.py::WithoutJitTest::test_with_scalar_args__without_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_called_variant__with_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_different_jit_kwargs_(1, 2, 1)__with_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_different_jit_kwargs_(4, 6, 2)__with_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_named_scalar_parameters_case_0__with_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_named_scalar_parameters_case_1__with_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_ndarray_named_parameters_case_0__with_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_ndarray_named_parameters_case_1__with_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_ndarray_parameters_(1, 2, 1)__with_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_ndarray_parameters_(4, 6, 2)__with_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_scalar_parameters_(1, 2, 1)__with_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_scalar_parameters_(4, 6, 2)__with_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_with_kwargs__with_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_with_ndarray_args__with_jit PASSED
chex/_src/variants_test.py::WithJitTest::test_with_scalar_args__with_jit PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_called_variant__without_device PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_emplace_case_0__without_device PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_emplace_case_1__without_device PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_named_scalar_parameters_case_0__without_device PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_named_scalar_parameters_case_1__without_device PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_ndarray_named_parameters_case_0__without_device PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_ndarray_named_parameters_case_1__without_device PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_ndarray_parameters_(1, 2, 1)__without_device PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_ndarray_parameters_(4, 6, 2)__without_device PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_scalar_parameters_(1, 2, 1)__without_device PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_scalar_parameters_(4, 6, 2)__without_device PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_with_kwargs__without_device PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_with_ndarray_args__without_device PASSED
chex/_src/variants_test.py::WithoutDeviceTest::test_with_scalar_args__without_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_called_variant__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_emplace_case_0__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_emplace_case_1__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_ignore_argnums_case_0__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_ignore_argnums_case_1__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_named_scalar_parameters_case_0__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_named_scalar_parameters_case_1__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_ndarray_named_parameters_case_0__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_ndarray_named_parameters_case_1__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_ndarray_parameters_(1, 2, 1)__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_ndarray_parameters_(4, 6, 2)__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_scalar_parameters_(1, 2, 1)__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_scalar_parameters_(4, 6, 2)__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_with_kwargs__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_with_ndarray_args__with_device PASSED
chex/_src/variants_test.py::WithDeviceTest::test_with_scalar_args__with_device PASSED
chex/_src/variants_test.py::WithPmapSingleDeviceTest::test_called_variant__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapSingleDeviceTest::test_named_scalar_parameters_case_0__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapSingleDeviceTest::test_named_scalar_parameters_case_1__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapSingleDeviceTest::test_ndarray_named_parameters_case_0__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapSingleDeviceTest::test_ndarray_named_parameters_case_1__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapSingleDeviceTest::test_ndarray_parameters_(1, 2, 1)__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapSingleDeviceTest::test_ndarray_parameters_(4, 6, 2)__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapSingleDeviceTest::test_scalar_parameters_(1, 2, 1)__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapSingleDeviceTest::test_scalar_parameters_(4, 6, 2)__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapSingleDeviceTest::test_with_kwargs__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapSingleDeviceTest::test_with_ndarray_args__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapSingleDeviceTest::test_with_scalar_args__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapAllAvailableDeviceTest::test_pmap_(1, 2, 1)__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapAllAvailableDeviceTest::test_pmap_(4, 6, 2)__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapAllAvailableDeviceTest::test_pmap_in_axes__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapAllAvailableDeviceTest::test_pmap_static_argnums_(1, 2, 1)__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapAllAvailableDeviceTest::test_pmap_static_argnums_(4, 6, 2)__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapAllAvailableDeviceTest::test_pmap_static_argnums_zero__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapAllAvailableDeviceTest::test_pmap_vmapped_fn_(1, 2, 1)__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapAllAvailableDeviceTest::test_pmap_vmapped_fn_(4, 6, 2)__with_pmap SKIPPED
chex/_src/variants_test.py::WithPmapAllAvailableDeviceTest::test_pmap_wrong_axis_size__with_pmap SKIPPED
chex/_src/warnings_test.py::WarningsTest::test_create_deprecated_function_alias PASSED
chex/_src/warnings_test.py::WarningsTest::test_warn_deprecated_function PASSED
chex/_src/warnings_test.py::WarningsTest::test_warn_deprecated_function_no_replacement PASSED
chex/_src/warnings_test.py::WarningsTest::test_warn_only_n_pos_args_in_future PASSED
chex/chex_test.py::ChexTest::test_import PASSED
=================================== FAILURES ===================================
_______________ TreeAssertionsTest.test_assert_tree_is_on_device _______________
self = <chex._src.asserts_test.TreeAssertionsTest testMethod=test_assert_tree_is_on_device>
def test_assert_tree_is_on_device(self):
# Check CPU platform.
cpu = jax.local_devices(backend='cpu')[0]
to_cpu = lambda x: jax.device_put(x, cpu)
cpu_tree = {'a': to_cpu(np.zeros(1)), 'b': to_cpu(np.ones(3))}
asserts.assert_tree_is_on_device(cpu_tree, device=cpu)
asserts.assert_tree_is_on_device(cpu_tree, platform='cpu')
asserts.assert_tree_is_on_device(cpu_tree, platform=['cpu'])
asserts.assert_tree_is_on_device(cpu_tree, device=cpu, platform='')
with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'a\' resides on \'cpu\'')):
asserts.assert_tree_is_on_device(cpu_tree, platform='tpu')
with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'b\' resides on \'cpu\'')):
asserts.assert_tree_is_on_device(cpu_tree, platform=('tpu', 'gpu'))
# Check TPU platform (if available).
if _num_devices_available('tpu') > 1:
tpu_1, tpu_2 = jax.devices('tpu')[:2]
to_tpu_1 = lambda x: jax.device_put(x, tpu_1)
to_tpu_2 = lambda x: jax.device_put(x, tpu_2)
tpu_1_tree = {'a': to_tpu_1(np.zeros(1)), 'b': to_tpu_1(np.ones(3))}
tpu_2_tree = {'a': to_tpu_2(np.zeros(1)), 'b': to_tpu_2(np.ones(3))}
tpu_1_2_tree = {'a': to_tpu_1(np.zeros(1)), 'b': to_tpu_2(np.ones(3))}
# Device asserts.
asserts.assert_tree_is_on_device(tpu_1_tree, device=tpu_1)
asserts.assert_tree_is_on_device(tpu_2_tree, device=tpu_2)
with self.assertRaisesRegex(
AssertionError, _get_err_regex(r"'a' resides on.*TpuDevice\(id=0")
):
asserts.assert_tree_is_on_device(tpu_1_tree, device=tpu_2)
with self.assertRaisesRegex(
AssertionError, _get_err_regex(r"'a' resides on.*TpuDevice\(id=1")
):
asserts.assert_tree_is_on_device(tpu_2_tree, device=tpu_1)
with self.assertRaisesRegex(
AssertionError, _get_err_regex("'a' resides on .*Cpu")
):
asserts.assert_tree_is_on_device(cpu_tree, device=tpu_2)
# Platform asserts.
asserts.assert_tree_is_on_device(tpu_1_tree, platform='tpu')
asserts.assert_tree_is_on_device(tpu_2_tree, platform='tpu')
with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'a\' resides on \'tpu\'')):
asserts.assert_tree_is_on_device(tpu_1_tree, platform='cpu')
with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'a\' resides on \'tpu\'')):
asserts.assert_tree_is_on_device(tpu_2_tree, platform='gpu')
# Mixed cases.
asserts.assert_tree_is_on_device(tpu_1_2_tree, platform='tpu')
asserts.assert_tree_is_on_device((tpu_1_2_tree, cpu_tree),
platform=('cpu', 'tpu'))
with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'1/a\' resides on \'cpu\'')):
asserts.assert_tree_is_on_device((tpu_1_2_tree, cpu_tree),
platform='tpu')
with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'0/a\' resides on \'tpu\'')):
asserts.assert_tree_is_on_device((tpu_1_2_tree, cpu_tree),
platform=('cpu', 'gpu'))
# Check incorrect inputs.
with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'b\' is not an ndarray')):
asserts.assert_tree_is_on_device({'a': np.zeros(1), 'b': 1})
with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'b\' has unexpected type')):
asserts.assert_tree_is_on_device({'a': jnp.zeros(1), 'b': np.ones(3)})
> with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'a\' is a ShardedDeviceArra')):
E AssertionError: AssertionError not raised
chex/_src/asserts_test.py:1318: AssertionError
________________ TreeAssertionsTest.test_assert_tree_is_on_host ________________
AssertionError: [Chex] Assertion assert_tree_is_on_host failed: Tree leaf 'a' resides on {CpuDevice(id=0)} (CPU devices are disallowed).
During handling of the above exception, another exception occurred:
self = <chex._src.asserts_test.TreeAssertionsTest testMethod=test_assert_tree_is_on_host>
def test_assert_tree_is_on_host(self):
cpu = jax.local_devices(backend='cpu')[0]
# Check Numpy arrays.
for flag in (False, True):
asserts.assert_tree_is_on_host({'a': np.zeros(1), 'b': np.ones(3)},
allow_cpu_device=flag)
asserts.assert_tree_is_on_host(np.zeros(4), allow_cpu_device=flag)
asserts.assert_tree_is_on_host(
jax.device_get(jax.device_put(np.ones(3))), allow_cpu_device=flag)
asserts.assert_tree_is_on_host((), allow_cpu_device=flag)
# Check DeviceArray (for platforms other than CPU).
with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'a\' resides on')):
asserts.assert_tree_is_on_host({'a': jnp.zeros(1)},
allow_cpu_device=False)
with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'a\' resides on')):
asserts.assert_tree_is_on_host({'a': jax.device_put(np.zeros(1))},
allow_cpu_device=False)
# Check Jax arrays on CPU.
cpu_arr = jax.device_put(np.ones(5), cpu)
asserts.assert_tree_is_on_host({'a': cpu_arr})
asserts.assert_tree_is_on_host({'a': np.zeros(1), 'b': cpu_arr})
# Check sharded Jax arrays on CPUs.
asserts.assert_tree_is_on_host(
{'a': jax.device_put_replicated(np.zeros(1), (cpu,))},
allow_cpu_device=True,
allow_sharded_arrays=True,
)
# Disallow JAX arrays on CPU.
with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'a\' resides on.*CPU')):
asserts.assert_tree_is_on_host({'a': cpu_arr},
allow_cpu_device=False)
with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'b\' resides on.*CPU')):
asserts.assert_tree_is_on_host({'a': np.zeros(1), 'b': cpu_arr},
allow_cpu_device=False)
# Check incorrect inputs.
with self.assertRaisesRegex(AssertionError,
_get_err_regex('\'b\' is not an ndarray')):
asserts.assert_tree_is_on_host({'a': np.zeros(1), 'b': 1})
# ShardedArrays are disallowed.
> with self.assertRaisesRegex(
AssertionError, _get_err_regex('sharded arrays are disallowed')
):
E AssertionError: "\[Chex\]\ [\s\S]*sharded arrays are disallowed" does not match "[Chex] Assertion assert_tree_is_on_host failed: Tree leaf 'a' resides on {CpuDevice(id=0)} (CPU devices are disallowed)."
chex/_src/asserts_test.py:1219: AssertionError
________________ TreeAssertionsTest.test_assert_tree_is_sharded ________________
self = <chex._src.asserts_test.TreeAssertionsTest testMethod=test_assert_tree_is_sharded>
def test_assert_tree_is_sharded(self):
np_tree = {'a': np.zeros(1), 'b': np.ones(3)}
def _format(*devs):
return re.escape(f'{devs}')
# Check single-device case.
cpu = jax.local_devices(backend='cpu')[0]
cpu_tree = jax.device_put_replicated(np_tree, (cpu,))
> asserts.assert_tree_is_sharded(cpu_tree, devices=(cpu,))
chex/_src/asserts_test.py:1334:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chex/_src/asserts_internal.py:279: in _chex_assert_fn
host_assertion_fn(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
custom_message = None, custom_message_format_vars = ()
include_default_message = True, exception_type = <class 'AssertionError'>
args = ({'a': Array([[0.]], dtype=float32), 'b': Array([[1., 1., 1.]], dtype=float32)},)
kwargs = {'devices': (CpuDevice(id=0),)}
assertion_exc = AssertionError("Tree leaf 'a' is not sharded (devices={CpuDevice(id=0)}).\nTree leaf 'b' is not sharded (devices={CpuDevice(id=0)}).")
value_exc = None
error_msg = "[Chex] Assertion assert_tree_is_sharded failed: Tree leaf 'a' is not sharded (devices={CpuDevice(id=0)}).\nTree leaf 'b' is not sharded (devices={CpuDevice(id=0)})."
default_msg = 'Assertion assert_tree_is_sharded failed: '
def _assert_on_host(*args,
custom_message: Optional[str] = None,
custom_message_format_vars: Sequence[Any] = (),
include_default_message: bool = True,
exception_type: Type[Exception] = AssertionError,
**kwargs) -> None:
# Format error's stack trace to remove Chex' internal frames.
assertion_exc = None
value_exc = None
try:
assert_fn(*args, **kwargs)
except AssertionError as e:
assertion_exc = e
except ValueError as e:
value_exc = e
finally:
if value_exc is not None:
raise ValueError(str(value_exc))
if assertion_exc is not None:
# Format the exception message.
error_msg = str(assertion_exc)
# Include only the name of the outermost chex assertion.
if error_msg.startswith(ERR_PREFIX):
error_msg = error_msg[error_msg.find("failed:") + len("failed:"):]
# Whether to include the default error message.
default_msg = (f"Assertion {name} failed: "
if include_default_message else "")
error_msg = f"{ERR_PREFIX}{default_msg}{error_msg}"
# Whether to include a custom error message.
if custom_message:
if custom_message_format_vars:
custom_message = custom_message.format(*custom_message_format_vars)
error_msg = f"{error_msg} [{custom_message}]"
> raise exception_type(error_msg)
E AssertionError: [Chex] Assertion assert_tree_is_sharded failed: Tree leaf 'a' is not sharded (devices={CpuDevice(id=0)}).
E Tree leaf 'b' is not sharded (devices={CpuDevice(id=0)}).
chex/_src/asserts_internal.py:197: AssertionError
=============================== warnings summary ===============================
chex/_src/asserts_chexify_test.py::AssertsChexifyTestSuite::test_log_abs_fn_jitted_main
/build/python-chex/src/chex-0.1.91/chex/_src/asserts_chexify_test.py:404: DeprecationWarning: jax.device_put_replicated is deprecated; use jax.device_put instead.
(x_pos, x_with_neg) = jax.device_put_replicated((x_pos, x_with_neg),
chex/_src/asserts_test.py: 20 warnings
/build/python-chex/src/chex-0.1.91/chex/_src/asserts.py:831: DeprecationWarning: Implicit conversion of an array to a dtype is deprecated; rather than dtype=arr use dtype=arr.dtype. In the future this will result in an error.
dtype = np.result_type(x)
chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_is_on_device
/build/python-chex/src/chex-0.1.91/chex/_src/asserts.py:1061: DeprecationWarning: jax.sharding.PmapSharding is deprecated; use jax.sharding.NamedSharding instead.
if isinstance(x.sharding, jax.sharding.PmapSharding):
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_is_on_device
FAILED chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_is_on_host
FAILED chex/_src/asserts_test.py::TreeAssertionsTest::test_assert_tree_is_sharded
====== 3 failed, 582 passed, 85 skipped, 22 warnings in 79.20s (0:01:19) =======
==> ERROR: A failure occurred in check().
Aborting...Editor is loading...
Leave a Comment