D: [iurt_root_command] chroot Building target platforms: noarch Building for target noarch sh: line 4: [: -j8: integer expression expected sh: line 4: [: -j8: integer expression expected sh: line 4: [: -j8: integer expression expected Installing /home/pterjan/rpmbuild/SRPMS/python-traitlets-5.14.3-1.mga10.src.rpm Executing(%mkbuilddir): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.zYsLH2 + umask 022 + cd /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build + test -d /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build + /usr/bin/rm -rf /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build + /usr/bin/mkdir -p /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build + /usr/bin/mkdir -p /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 sh: line 4: [: -j8: integer expression expected Executing(%prep): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.qaUlbm + umask 022 + cd /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + cd /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build + rm -rf traitlets-5.14.3 + /usr/lib/rpm/rpmuncompress -x /home/pterjan/rpmbuild/SOURCES/traitlets-5.14.3.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd traitlets-5.14.3 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 sh: line 4: [: -j8: integer expression expected Executing(%generate_buildrequires): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.1NSUf3 + umask 022 + cd /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build + cd traitlets-5.14.3 + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + : + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + true + for f in pyproject.toml setup.py setup.cfg + '[' -f pyproject.toml ']' + sed -i -E -e '/^requires/s/(['\''"]\s*flit_core\s*>=\s*[0-9]+(\.[0-9]+)+)\s*,\s*<\s*[0-9]+(\.[0-9]+)*(\s*['\''"])/\1\4/' pyproject.toml + sed -i -E -e '/python_requires/s/(['\''"]?\s*\S*\s*>=\s*[0-9]+(\.[0-9]+)*)\s*(,\s*(<|!=)\s*[0-9]+(\.[0-9]+)*(\.\*)*)+(\s*['\''"]?)/\1\7/' pyproject.toml + sed -i -E -e 's/(['\''"]?\s*\S*\s*>=\s*[0-9]+(\.[0-9a-z]+)*)\s*,\s*(<|!=|<=)\s*[0-9]+(\.[0-9a-z]+)*(-?dev[0-9]*)?(\.\*)*(\s*['\''"]?)/\1\7/g' pyproject.toml + sed -i -E -e 's/(['\''"]\w+\s*)!=(\s*([0-9])+(\.[0-9]+)*\s*['\''"])/\1>\2/g' pyproject.toml + sed -i -E -e 's/(['\''"]\s*>=\s*[0-9]+(\.[0-9]+)*)\s*,\s*(<|!=)\s*[0-9]+(\.[0-9]+)*(\s*['\''"])/\1\5/g' pyproject.toml + sed -i -E -e 's/(['\''"]?\s*\S*\s*>=\s*[0-9]+(\.[0-9]+)*)\s*(,\s*(<|!=)\s*[0-9]+(\.[0-9]+)*(\.\*)*)+(\s*['\''"]?)/\1\7/g' pyproject.toml + sed -i -E -e 's/(['\''"]\s*)\^(\s*[0-9]+(\.[0-9]+)*\s*['\''"])/\1>=\2/g' pyproject.toml + sed -i -e 's/~=/>=/g' pyproject.toml + sed -i -E -e 's/(['\''"]\s*\S*\s*)==(\s*[0-9]+(\.[0-9]+)*)\.\*(\s*['\''"])/\1>=\2\4/g' pyproject.toml + sed -i -E -e 's/(['\''"]?\w*\s*>=\s*[0-9]+(\.[0-9]+)*)\s*,\s*(<|!=)[0-9]+(\.[0-9]+)*\s*(['\''"]?)/\1\5/g' pyproject.toml + for f in pyproject.toml setup.py setup.cfg + '[' -f setup.py ']' + for f in pyproject.toml setup.py setup.cfg + '[' -f setup.cfg ']' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3/.pyproject-builddir + echo -n + CFLAGS='-O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full' + LDFLAGS='-Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-z,now -Wl,-O1 -Wl,--build-id=sha1 -Wl,--enable-new-dtags -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + TMPDIR=/home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3/pyproject-wheeldir --output /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/python-traitlets-5.14.3-1.mga10.noarch-pyproject-buildrequires -w -x test Handling hatchling >=1.5 from build-system.requires Requirement satisfied: hatchling >=1.5 (installed: hatchling 1.25.0) Handling pip >= 19 from %pyproject_buildrequires -w Requirement satisfied: pip >= 19 (installed: pip 24.3.1) Processing /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: traitlets Building wheel for traitlets (pyproject.toml): started Running command Building wheel for traitlets (pyproject.toml) Building wheel for traitlets (pyproject.toml): finished with status 'done' Created wheel for traitlets: filename=traitlets-5.14.3-py3-none-any.whl size=85197 sha256=d749ba372b391129ce4c53ae84ea22644b40917156ccb9de9a80de5e430ee678 Stored in directory: /home/pterjan/.cache/pip/wheels/22/22/a6/69d0129361c14704b316101fe7f379db67c1305a9fdc491023 Successfully built traitlets Reading metadata from /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3/pyproject-wheeldir/traitlets-5.14.3-py3-none-any.whl Handling myst-parser; extra == 'docs' from built wheel metadata: Requires-Dist (traitlets) Ignoring alien requirement: myst-parser; extra == 'docs' Handling pydata-sphinx-theme; extra == 'docs' from built wheel metadata: Requires-Dist (traitlets) Ignoring alien requirement: pydata-sphinx-theme; extra == 'docs' Handling sphinx; extra == 'docs' from built wheel metadata: Requires-Dist (traitlets) Ignoring alien requirement: sphinx; extra == 'docs' Handling argcomplete>=3.0.3; extra == 'test' from built wheel metadata: Requires-Dist (traitlets) Requirement satisfied: argcomplete>=3.0.3; extra == 'test' (installed: argcomplete 3.5.0) Handling mypy>=1.7.0; extra == 'test' from built wheel metadata: Requires-Dist (traitlets) Requirement satisfied: mypy>=1.7.0; extra == 'test' (installed: mypy 1.11.0) Handling pre-commit; extra == 'test' from built wheel metadata: Requires-Dist (traitlets) Requirement satisfied: pre-commit; extra == 'test' (installed: pre-commit 2.20.0) Handling pytest-mock; extra == 'test' from built wheel metadata: Requires-Dist (traitlets) Requirement satisfied: pytest-mock; extra == 'test' (installed: pytest-mock 3.14.0) Handling pytest-mypy-testing; extra == 'test' from built wheel metadata: Requires-Dist (traitlets) Requirement satisfied: pytest-mypy-testing; extra == 'test' (installed: pytest-mypy-testing 0.1.1) Handling pytest>=7.0; extra == 'test' from built wheel metadata: Requires-Dist (traitlets) Requirement satisfied: pytest>=7.0; extra == 'test' (installed: pytest 8.3.4) + cat /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/python-traitlets-5.14.3-1.mga10.noarch-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 sh: line 4: [: -j8: integer expression expected Executing(%build): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.RXFga1 + umask 022 + cd /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build + cd traitlets-5.14.3 + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + mkdir -p /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3/.pyproject-builddir + CFLAGS='-O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full' + LDFLAGS='-Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-z,now -Wl,-O1 -Wl,--build-id=sha1 -Wl,--enable-new-dtags -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + TMPDIR=/home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3/pyproject-wheeldir Processing /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: traitlets Building wheel for traitlets (pyproject.toml): started Running command Building wheel for traitlets (pyproject.toml) Building wheel for traitlets (pyproject.toml): finished with status 'done' Created wheel for traitlets: filename=traitlets-5.14.3-py3-none-any.whl size=85197 sha256=d749ba372b391129ce4c53ae84ea22644b40917156ccb9de9a80de5e430ee678 Stored in directory: /home/pterjan/.cache/pip/wheels/22/22/a6/69d0129361c14704b316101fe7f379db67c1305a9fdc491023 Successfully built traitlets + RPM_EC=0 ++ jobs -p + exit 0 sh: line 4: [: -j8: integer expression expected sh: line 4: [: -j8: integer expression expected Executing(%install): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.QLW2L8 + umask 022 + cd /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build + '[' 1 -eq 1 ']' + '[' /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT '!=' / ']' + rm -rf /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT ++ dirname /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT + mkdir -p /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build + mkdir /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT + cd traitlets-5.14.3 + '[' 1 -eq 1 ']' ++ ls /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3/pyproject-wheeldir/traitlets-5.14.3-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=traitlets==5.14.3 + '[' -z traitlets==5.14.3 ']' + TMPDIR=/home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3/.pyproject-builddir + /usr/bin/python3 -m pip install --root /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3/pyproject-wheeldir traitlets==5.14.3 Using pip 24.3.1 from /usr/lib/python3.12/site-packages/pip (python 3.12) Looking in links: /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3/pyproject-wheeldir Processing ./pyproject-wheeldir/traitlets-5.14.3-py3-none-any.whl Installing collected packages: traitlets Successfully installed traitlets-5.14.3 + '[' -d /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/bin ']' + rm -f /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/python-traitlets-5.14.3-1.mga10.noarch-pyproject-ghost-distinfo + site_dirs=() + '[' -d /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/lib/python3.12/site-packages ']' + site_dirs+=("/usr/lib/python3.12/site-packages") + '[' /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/lib64/python3.12/site-packages '!=' /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/lib/python3.12/site-packages ']' + '[' -d /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/lib64/python3.12/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.12/site-packages/traitlets-5.14.3.dist-info' + sed -i s/pip/rpm/ /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/lib/python3.12/site-packages/traitlets-5.14.3.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT --record /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/lib/python3.12/site-packages/traitlets-5.14.3.dist-info/RECORD --output /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/python-traitlets-5.14.3-1.mga10.noarch-pyproject-record + rm -fv /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/lib/python3.12/site-packages/traitlets-5.14.3.dist-info/RECORD removed '/home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/lib/python3.12/site-packages/traitlets-5.14.3.dist-info/RECORD' + rm -fv /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/lib/python3.12/site-packages/traitlets-5.14.3.dist-info/REQUESTED removed '/home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/lib/python3.12/site-packages/traitlets-5.14.3.dist-info/REQUESTED' ++ wc -l /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/python-traitlets-5.14.3-1.mga10.noarch-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_FILES_ESCAPE=4.19 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/python-traitlets-5.14.3-1.mga10.noarch-pyproject-files --output-modules /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/python-traitlets-5.14.3-1.mga10.noarch-pyproject-modules --buildroot /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT --sitelib /usr/lib/python3.12/site-packages --sitearch /usr/lib64/python3.12/site-packages --python-version 3.12 --pyproject-record /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/python-traitlets-5.14.3-1.mga10.noarch-pyproject-record --prefix /usr traitlets + /usr/lib/rpm/check-buildroot + '[' -n '' ']' + /usr/share/spec-helper/clean_files + '[' -n '' ']' + /usr/share/spec-helper/compress_files .xz + '[' -n '' ']' + /usr/share/spec-helper/relink_symlinks + '[' -n '' ']' + /usr/share/spec-helper/clean_perl + '[' -n '' ']' + /usr/share/spec-helper/lib_symlinks + '[' -n '' ']' + /usr/share/spec-helper/gprintify + '[' -n '' ']' + /usr/share/spec-helper/fix_mo + '[' -n '' ']' + /usr/share/spec-helper/fix_pamd + '[' -n '' ']' + /usr/share/spec-helper/remove_info_dir + '[' -n '' ']' + /usr/share/spec-helper/fix_eol + '[' -n '' ']' + /usr/share/spec-helper/check_desktop_files + '[' -n '' ']' + /usr/share/spec-helper/check_elf_files + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/redhat/brp-mangle-shebangs + env -u SOURCE_DATE_EPOCH /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j48 Bytecompiling .py files below /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/lib/python3.12 using python3.12 Not clamping source mtimes, $SOURCE_DATE_EPOCH not set + /usr/lib/rpm/redhat/brp-python-hardlink sh: line 4: [: -j8: integer expression expected Executing(%check): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.jjKGeK + umask 022 + cd /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build + cd traitlets-5.14.3 + '[' 1 -eq 1 ']' + CFLAGS='-O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full' + LDFLAGS='-Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-z,now -Wl,-O1 -Wl,--build-id=sha1 -Wl,--enable-new-dtags -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + PATH=/home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/pterjan/.local/bin:/home/pterjan/bin + PYTHONPATH=/home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/lib64/python3.12/site-packages:/home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/BUILDROOT/usr/lib/python3.12/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=48 + /usr/bin/pytest -v ============================= test session starts ============================== platform linux -- Python 3.12.8, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /home/pterjan/rpmbuild/BUILD/python-traitlets-5.14.3-build/traitlets-5.14.3 configfile: pyproject.toml testpaths: tests, examples plugins: mock-3.14.0, mypy-testing-0.1.1 collecting ... collected 588 items tests/_warnings.py::tests._warnings.all_warnings PASSED [ 0%] tests/_warnings.py::tests._warnings.expected_warnings SKIPPED (all t...) [ 0%] tests/config/test_application.py::TestApplication::test_alias_unrecognized PASSED [ 0%] tests/config/test_application.py::TestApplication::test_aliases PASSED [ 0%] tests/config/test_application.py::TestApplication::test_aliases_help_msg PASSED [ 0%] tests/config/test_application.py::TestApplication::test_aliases_multiple PASSED [ 1%] tests/config/test_application.py::TestApplication::test_app_name_set_via_constructor PASSED [ 1%] tests/config/test_application.py::TestApplication::test_basic PASSED [ 1%] tests/config/test_application.py::TestApplication::test_cli_allow_none PASSED [ 1%] tests/config/test_application.py::TestApplication::test_cli_priority PASSED [ 1%] tests/config/test_application.py::TestApplication::test_config PASSED [ 1%] tests/config/test_application.py::TestApplication::test_config_dict_args PASSED [ 2%] tests/config/test_application.py::TestApplication::test_config_propagation PASSED [ 2%] tests/config/test_application.py::TestApplication::test_config_seq_args PASSED [ 2%] tests/config/test_application.py::TestApplication::test_document_config_option PASSED [ 2%] tests/config/test_application.py::TestApplication::test_extra_args PASSED [ 2%] tests/config/test_application.py::TestApplication::test_flag_clobber PASSED [ 2%] tests/config/test_application.py::TestApplication::test_flags PASSED [ 3%] tests/config/test_application.py::TestApplication::test_flags_help_msg PASSED [ 3%] tests/config/test_application.py::TestApplication::test_flatten_aliases PASSED [ 3%] tests/config/test_application.py::TestApplication::test_flatten_flags PASSED [ 3%] tests/config/test_application.py::TestApplication::test_generate_config_file PASSED [ 3%] tests/config/test_application.py::TestApplication::test_generate_config_file_classes_to_include PASSED [ 3%] tests/config/test_application.py::TestApplication::test_ipython_cli_priority PASSED [ 4%] tests/config/test_application.py::TestApplication::test_loaded_config_files PASSED [ 4%] tests/config/test_application.py::TestApplication::test_log PASSED [ 4%] tests/config/test_application.py::TestApplication::test_log_bad_config PASSED [ 4%] tests/config/test_application.py::TestApplication::test_log_collisions PASSED [ 4%] tests/config/test_application.py::TestApplication::test_mro_discovery PASSED [ 4%] tests/config/test_application.py::TestApplication::test_multi_file PASSED [ 5%] tests/config/test_application.py::TestApplication::test_no_eval_cli_text PASSED [ 5%] tests/config/test_application.py::TestApplication::test_raise_on_bad_config PASSED [ 5%] tests/config/test_application.py::TestApplication::test_subcommands_instantiation PASSED [ 5%] tests/config/test_application.py::TestApplication::test_unicode_argv PASSED [ 5%] tests/config/test_application.py::TestApplication::test_warn_autocorrect PASSED [ 5%] tests/config/test_application.py::test_cli_multi_scalar PASSED [ 6%] tests/config/test_application.py::test_deprecated_notifier PASSED [ 6%] tests/config/test_application.py::test_help_output PASSED [ 6%] tests/config/test_application.py::test_help_all_output PASSED [ 6%] tests/config/test_application.py::test_show_config_cli PASSED [ 6%] tests/config/test_application.py::test_show_config_json_cli PASSED [ 6%] tests/config/test_application.py::test_show_config PASSED [ 7%] tests/config/test_application.py::test_show_config_json PASSED [ 7%] tests/config/test_application.py::test_deep_alias PASSED [ 7%] tests/config/test_application.py::test_logging_config PASSED [ 7%] tests/config/test_application.py::test_get_default_logging_config_pythonw PASSED [ 7%] tests/config/test_application.py::test_logging_teardown_on_error PASSED [ 7%] tests/config/test_argcomplete.py::TestArgcomplete::test_complete_simple_app FAILED [ 8%] tests/config/test_argcomplete.py::TestArgcomplete::test_complete_custom_completers FAILED [ 8%] tests/config/test_argcomplete.py::TestArgcomplete::test_complete_subcommands FAILED [ 8%] tests/config/test_argcomplete.py::TestArgcomplete::test_complete_subcommands_subapp1 FAILED [ 8%] tests/config/test_argcomplete.py::TestArgcomplete::test_complete_subcommands_subapp2 FAILED [ 8%] tests/config/test_argcomplete.py::TestArgcomplete::test_complete_subcommands_main FAILED [ 9%] tests/config/test_configurable.py::TestConfigurable::test_custom PASSED [ 9%] tests/config/test_configurable.py::TestConfigurable::test_default PASSED [ 9%] tests/config/test_configurable.py::TestConfigurable::test_generated_config_enum_comments PASSED [ 9%] tests/config/test_configurable.py::TestConfigurable::test_generated_config_strenum_comments PASSED [ 9%] tests/config/test_configurable.py::TestConfigurable::test_help PASSED [ 9%] tests/config/test_configurable.py::TestConfigurable::test_help_inst PASSED [ 10%] tests/config/test_configurable.py::TestConfigurable::test_inheritance PASSED [ 10%] tests/config/test_configurable.py::TestConfigurable::test_override1 PASSED [ 10%] tests/config/test_configurable.py::TestConfigurable::test_override2 PASSED [ 10%] tests/config/test_configurable.py::TestConfigurable::test_parent PASSED [ 10%] tests/config/test_configurable.py::TestSingletonConfigurable::test_inheritance PASSED [ 10%] tests/config/test_configurable.py::TestSingletonConfigurable::test_instance PASSED [ 11%] tests/config/test_configurable.py::TestLoggingConfigurable::test_parent_logger PASSED [ 11%] tests/config/test_configurable.py::TestLoggingConfigurable::test_parent_not_logging_configurable PASSED [ 11%] tests/config/test_configurable.py::TestParentConfigurable::test_multi_parent PASSED [ 11%] tests/config/test_configurable.py::TestParentConfigurable::test_multi_parent_priority PASSED [ 11%] tests/config/test_configurable.py::TestParentConfigurable::test_parent_config PASSED [ 11%] tests/config/test_configurable.py::TestParentConfigurable::test_parent_inheritance PASSED [ 12%] tests/config/test_configurable.py::TestParentConfigurable::test_parent_priority PASSED [ 12%] tests/config/test_configurable.py::TestConfigContainers::test_append_extend PASSED [ 12%] tests/config/test_configurable.py::TestConfigContainers::test_config_default PASSED [ 12%] tests/config/test_configurable.py::TestConfigContainers::test_config_default_deprecated PASSED [ 12%] tests/config/test_configurable.py::TestConfigContainers::test_dict_update PASSED [ 12%] tests/config/test_configurable.py::TestConfigContainers::test_extend PASSED [ 13%] tests/config/test_configurable.py::TestConfigContainers::test_extend_append PASSED [ 13%] tests/config/test_configurable.py::TestConfigContainers::test_insert PASSED [ 13%] tests/config/test_configurable.py::TestConfigContainers::test_insert_extend PASSED [ 13%] tests/config/test_configurable.py::TestConfigContainers::test_kwarg_config_priority PASSED [ 13%] tests/config/test_configurable.py::TestConfigContainers::test_prepend PASSED [ 13%] tests/config/test_configurable.py::TestConfigContainers::test_prepend_extend PASSED [ 14%] tests/config/test_configurable.py::TestConfigContainers::test_set_update PASSED [ 14%] tests/config/test_configurable.py::TestConfigContainers::test_update_self PASSED [ 14%] tests/config/test_configurable.py::TestConfigContainers::test_update_twice PASSED [ 14%] tests/config/test_configurable.py::TestLogger::test_warn_match PASSED [ 14%] tests/config/test_configurable.py::test_logger_adapter PASSED [ 14%] tests/config/test_loader.py::TestFileCL::test_collision PASSED [ 15%] tests/config/test_loader.py::TestFileCL::test_context_manager PASSED [ 15%] tests/config/test_loader.py::TestFileCL::test_json PASSED [ 15%] tests/config/test_loader.py::TestFileCL::test_json_context_bad_write PASSED [ 15%] tests/config/test_loader.py::TestFileCL::test_python PASSED [ 15%] tests/config/test_loader.py::TestFileCL::test_v2raise PASSED [ 15%] tests/config/test_loader.py::TestArgParseCL::test_add_arguments PASSED [ 16%] tests/config/test_loader.py::TestArgParseCL::test_argv PASSED [ 16%] tests/config/test_loader.py::TestArgParseCL::test_basic PASSED [ 16%] tests/config/test_loader.py::TestArgParseCL::test_list_args PASSED [ 16%] tests/config/test_loader.py::TestKeyValueCL::test_basic PASSED [ 16%] tests/config/test_loader.py::TestKeyValueCL::test_dict PASSED [ 17%] tests/config/test_loader.py::TestKeyValueCL::test_dict_key_traits PASSED [ 17%] tests/config/test_loader.py::TestKeyValueCL::test_eval PASSED [ 17%] tests/config/test_loader.py::TestKeyValueCL::test_expanduser PASSED [ 17%] tests/config/test_loader.py::TestKeyValueCL::test_extra_args PASSED [ 17%] tests/config/test_loader.py::TestKeyValueCL::test_list_append PASSED [ 17%] tests/config/test_loader.py::TestKeyValueCL::test_list_single_item PASSED [ 18%] tests/config/test_loader.py::TestKeyValueCL::test_unicode_args PASSED [ 18%] tests/config/test_loader.py::TestArgParseKVCL::test_basic PASSED [ 18%] tests/config/test_loader.py::TestArgParseKVCL::test_dict PASSED [ 18%] tests/config/test_loader.py::TestArgParseKVCL::test_dict_key_traits PASSED [ 18%] tests/config/test_loader.py::TestArgParseKVCL::test_dict_traits PASSED [ 18%] tests/config/test_loader.py::TestArgParseKVCL::test_eval PASSED [ 19%] tests/config/test_loader.py::TestArgParseKVCL::test_expanduser PASSED [ 19%] tests/config/test_loader.py::TestArgParseKVCL::test_expanduser2 PASSED [ 19%] tests/config/test_loader.py::TestArgParseKVCL::test_extra_args PASSED [ 19%] tests/config/test_loader.py::TestArgParseKVCL::test_int_literals PASSED [ 19%] tests/config/test_loader.py::TestArgParseKVCL::test_list_append PASSED [ 19%] tests/config/test_loader.py::TestArgParseKVCL::test_list_single_item PASSED [ 20%] tests/config/test_loader.py::TestArgParseKVCL::test_mixed_seq_positional PASSED [ 20%] tests/config/test_loader.py::TestArgParseKVCL::test_no_cast_literals PASSED [ 20%] tests/config/test_loader.py::TestArgParseKVCL::test_seq_traits PASSED [ 20%] tests/config/test_loader.py::TestArgParseKVCL::test_seq_traits_single_empty_string PASSED [ 20%] tests/config/test_loader.py::TestArgParseKVCL::test_split_positional PASSED [ 20%] tests/config/test_loader.py::TestArgParseKVCL::test_unicode_alias PASSED [ 21%] tests/config/test_loader.py::TestArgParseKVCL::test_unicode_args PASSED [ 21%] tests/config/test_loader.py::TestConfig::test_auto_section PASSED [ 21%] tests/config/test_loader.py::TestConfig::test_builtin PASSED [ 21%] tests/config/test_loader.py::TestConfig::test_contains PASSED [ 21%] tests/config/test_loader.py::TestConfig::test_deepcopy PASSED [ 21%] tests/config/test_loader.py::TestConfig::test_fromdict PASSED [ 22%] tests/config/test_loader.py::TestConfig::test_fromdictmerge PASSED [ 22%] tests/config/test_loader.py::TestConfig::test_fromdictmerge2 PASSED [ 22%] tests/config/test_loader.py::TestConfig::test_getattr_not_section PASSED [ 22%] tests/config/test_loader.py::TestConfig::test_getattr_private_missing PASSED [ 22%] tests/config/test_loader.py::TestConfig::test_getattr_section PASSED [ 22%] tests/config/test_loader.py::TestConfig::test_getitem_not_section PASSED [ 23%] tests/config/test_loader.py::TestConfig::test_getitem_section PASSED [ 23%] tests/config/test_loader.py::TestConfig::test_lazy_config_repr PASSED [ 23%] tests/config/test_loader.py::TestConfig::test_merge_doesnt_exist PASSED [ 23%] tests/config/test_loader.py::TestConfig::test_merge_exists PASSED [ 23%] tests/config/test_loader.py::TestConfig::test_merge_multi_lazy PASSED [ 23%] tests/config/test_loader.py::TestConfig::test_merge_multi_lazyII PASSED [ 24%] tests/config/test_loader.py::TestConfig::test_merge_multi_lazy_III PASSED [ 24%] tests/config/test_loader.py::TestConfig::test_merge_multi_lazy_IV PASSED [ 24%] tests/config/test_loader.py::TestConfig::test_merge_multi_lazy_update_I PASSED [ 24%] tests/config/test_loader.py::TestConfig::test_merge_multi_lazy_update_II PASSED [ 24%] tests/config/test_loader.py::TestConfig::test_merge_multi_lazy_update_III PASSED [ 25%] tests/config/test_loader.py::TestConfig::test_merge_no_copies PASSED [ 25%] tests/config/test_loader.py::TestConfig::test_pickle_config PASSED [ 25%] tests/config/test_loader.py::TestConfig::test_setget PASSED [ 25%] tests/test_traitlets.py::TestTraitType::test_default_validate PASSED [ 25%] tests/test_traitlets.py::TestTraitType::test_deprecated_dynamic_initializer PASSED [ 25%] tests/test_traitlets.py::TestTraitType::test_deprecated_metadata_access PASSED [ 26%] tests/test_traitlets.py::TestTraitType::test_deprecated_method_warnings PASSED [ 26%] tests/test_traitlets.py::TestTraitType::test_dynamic_initializer PASSED [ 26%] tests/test_traitlets.py::TestTraitType::test_error PASSED [ 26%] tests/test_traitlets.py::TestTraitType::test_get_undefined PASSED [ 26%] tests/test_traitlets.py::TestTraitType::test_info PASSED [ 26%] tests/test_traitlets.py::TestTraitType::test_metadata_localized_instance PASSED [ 27%] tests/test_traitlets.py::TestTraitType::test_set PASSED [ 27%] tests/test_traitlets.py::TestTraitType::test_tag_metadata PASSED [ 27%] tests/test_traitlets.py::TestTraitType::test_trait_types_deprecated PASSED [ 27%] tests/test_traitlets.py::TestTraitType::test_trait_types_dict_deprecated PASSED [ 27%] tests/test_traitlets.py::TestTraitType::test_trait_types_list_deprecated PASSED [ 27%] tests/test_traitlets.py::TestTraitType::test_trait_types_tuple_deprecated PASSED [ 28%] tests/test_traitlets.py::TestTraitType::test_union_default_value PASSED [ 28%] tests/test_traitlets.py::TestTraitType::test_union_metadata PASSED [ 28%] tests/test_traitlets.py::TestTraitType::test_union_trait_default_value PASSED [ 28%] tests/test_traitlets.py::TestTraitType::test_union_validation_priority PASSED [ 28%] tests/test_traitlets.py::TestTraitType::test_validate PASSED [ 28%] tests/test_traitlets.py::TestHasDescriptorsMeta::test_metaclass PASSED [ 29%] tests/test_traitlets.py::TestHasDescriptorsMeta::test_this_class PASSED [ 29%] tests/test_traitlets.py::TestHasDescriptors::test_setup_instance PASSED [ 29%] tests/test_traitlets.py::TestHasTraitsNotify::test_notify_all PASSED [ 29%] tests/test_traitlets.py::TestHasTraitsNotify::test_notify_args PASSED [ 29%] tests/test_traitlets.py::TestHasTraitsNotify::test_notify_one PASSED [ 29%] tests/test_traitlets.py::TestHasTraitsNotify::test_notify_only_once PASSED [ 30%] tests/test_traitlets.py::TestHasTraitsNotify::test_notify_subclass PASSED [ 30%] tests/test_traitlets.py::TestHasTraitsNotify::test_static_notify PASSED [ 30%] tests/test_traitlets.py::TestHasTraitsNotify::test_subclass PASSED [ 30%] tests/test_traitlets.py::TestObserveDecorator::test_notify_all PASSED [ 30%] tests/test_traitlets.py::TestObserveDecorator::test_notify_args PASSED [ 30%] tests/test_traitlets.py::TestObserveDecorator::test_notify_one PASSED [ 31%] tests/test_traitlets.py::TestObserveDecorator::test_notify_only_once PASSED [ 31%] tests/test_traitlets.py::TestObserveDecorator::test_notify_subclass PASSED [ 31%] tests/test_traitlets.py::TestObserveDecorator::test_static_notify PASSED [ 31%] tests/test_traitlets.py::TestObserveDecorator::test_subclass PASSED [ 31%] tests/test_traitlets.py::TestHasTraits::test_init PASSED [ 31%] tests/test_traitlets.py::TestHasTraits::test_positional_args PASSED [ 32%] tests/test_traitlets.py::TestHasTraits::test_trait_has_value PASSED [ 32%] tests/test_traitlets.py::TestHasTraits::test_trait_metadata PASSED [ 32%] tests/test_traitlets.py::TestHasTraits::test_trait_metadata_default PASSED [ 32%] tests/test_traitlets.py::TestHasTraits::test_trait_metadata_deprecated PASSED [ 32%] tests/test_traitlets.py::TestHasTraits::test_trait_names PASSED [ 32%] tests/test_traitlets.py::TestHasTraits::test_traits PASSED [ 33%] tests/test_traitlets.py::TestHasTraits::test_traits_metadata PASSED [ 33%] tests/test_traitlets.py::TestHasTraits::test_traits_metadata_deprecated PASSED [ 33%] tests/test_traitlets.py::TestType::test_allow_none PASSED [ 33%] tests/test_traitlets.py::TestType::test_default PASSED [ 33%] tests/test_traitlets.py::TestType::test_default_options PASSED [ 34%] tests/test_traitlets.py::TestType::test_set_str_klass PASSED [ 34%] tests/test_traitlets.py::TestType::test_str_klass PASSED [ 34%] tests/test_traitlets.py::TestType::test_validate_default PASSED [ 34%] tests/test_traitlets.py::TestType::test_validate_klass PASSED [ 34%] tests/test_traitlets.py::TestType::test_value PASSED [ 34%] tests/test_traitlets.py::TestInstance::test_args_kw PASSED [ 35%] tests/test_traitlets.py::TestInstance::test_bad_default PASSED [ 35%] tests/test_traitlets.py::TestInstance::test_basic PASSED [ 35%] tests/test_traitlets.py::TestInstance::test_default_klass PASSED [ 35%] tests/test_traitlets.py::TestInstance::test_instance PASSED [ 35%] tests/test_traitlets.py::TestInstance::test_unique_default_value PASSED [ 35%] tests/test_traitlets.py::TestThis::test_subclass PASSED [ 36%] tests/test_traitlets.py::TestThis::test_subclass_override PASSED [ 36%] tests/test_traitlets.py::TestThis::test_this_class PASSED [ 36%] tests/test_traitlets.py::TestThis::test_this_in_container PASSED [ 36%] tests/test_traitlets.py::TestThis::test_this_inst PASSED [ 36%] tests/test_traitlets.py::TraitTestBase::test_allow_none PASSED [ 36%] tests/test_traitlets.py::TraitTestBase::test_bad_values PASSED [ 37%] tests/test_traitlets.py::TraitTestBase::test_default_value PASSED [ 37%] tests/test_traitlets.py::TraitTestBase::test_good_values PASSED [ 37%] tests/test_traitlets.py::AnyTraitTest::test_allow_none PASSED [ 37%] tests/test_traitlets.py::AnyTraitTest::test_bad_values PASSED [ 37%] tests/test_traitlets.py::AnyTraitTest::test_default_value PASSED [ 37%] tests/test_traitlets.py::AnyTraitTest::test_good_values PASSED [ 38%] tests/test_traitlets.py::UnionTraitTest::test_allow_none PASSED [ 38%] tests/test_traitlets.py::UnionTraitTest::test_bad_values PASSED [ 38%] tests/test_traitlets.py::UnionTraitTest::test_default_value PASSED [ 38%] tests/test_traitlets.py::UnionTraitTest::test_good_values PASSED [ 38%] tests/test_traitlets.py::CallableTraitTest::test_allow_none PASSED [ 38%] tests/test_traitlets.py::CallableTraitTest::test_bad_values PASSED [ 39%] tests/test_traitlets.py::CallableTraitTest::test_default_value PASSED [ 39%] tests/test_traitlets.py::CallableTraitTest::test_good_values PASSED [ 39%] tests/test_traitlets.py::OrTraitTest::test_allow_none PASSED [ 39%] tests/test_traitlets.py::OrTraitTest::test_bad_values PASSED [ 39%] tests/test_traitlets.py::OrTraitTest::test_default_value PASSED [ 39%] tests/test_traitlets.py::OrTraitTest::test_good_values PASSED [ 40%] tests/test_traitlets.py::TestInt::test_allow_none PASSED [ 40%] tests/test_traitlets.py::TestInt::test_bad_values PASSED [ 40%] tests/test_traitlets.py::TestInt::test_default_value PASSED [ 40%] tests/test_traitlets.py::TestInt::test_good_values PASSED [ 40%] tests/test_traitlets.py::TestCInt::test_allow_none PASSED [ 40%] tests/test_traitlets.py::TestCInt::test_bad_values PASSED [ 41%] tests/test_traitlets.py::TestCInt::test_default_value PASSED [ 41%] tests/test_traitlets.py::TestCInt::test_good_values PASSED [ 41%] tests/test_traitlets.py::TestMinBoundCInt::test_allow_none PASSED [ 41%] tests/test_traitlets.py::TestMinBoundCInt::test_bad_values PASSED [ 41%] tests/test_traitlets.py::TestMinBoundCInt::test_default_value PASSED [ 42%] tests/test_traitlets.py::TestMinBoundCInt::test_good_values PASSED [ 42%] tests/test_traitlets.py::TestLong::test_allow_none PASSED [ 42%] tests/test_traitlets.py::TestLong::test_bad_values PASSED [ 42%] tests/test_traitlets.py::TestLong::test_default_value PASSED [ 42%] tests/test_traitlets.py::TestLong::test_good_values PASSED [ 42%] tests/test_traitlets.py::TestMinBoundLong::test_allow_none PASSED [ 43%] tests/test_traitlets.py::TestMinBoundLong::test_bad_values PASSED [ 43%] tests/test_traitlets.py::TestMinBoundLong::test_default_value PASSED [ 43%] tests/test_traitlets.py::TestMinBoundLong::test_good_values PASSED [ 43%] tests/test_traitlets.py::TestMaxBoundLong::test_allow_none PASSED [ 43%] tests/test_traitlets.py::TestMaxBoundLong::test_bad_values PASSED [ 43%] tests/test_traitlets.py::TestMaxBoundLong::test_default_value PASSED [ 44%] tests/test_traitlets.py::TestMaxBoundLong::test_good_values PASSED [ 44%] tests/test_traitlets.py::TestCLong::test_allow_none PASSED [ 44%] tests/test_traitlets.py::TestCLong::test_bad_values PASSED [ 44%] tests/test_traitlets.py::TestCLong::test_default_value PASSED [ 44%] tests/test_traitlets.py::TestCLong::test_good_values PASSED [ 44%] tests/test_traitlets.py::TestMaxBoundCLong::test_allow_none PASSED [ 45%] tests/test_traitlets.py::TestMaxBoundCLong::test_bad_values PASSED [ 45%] tests/test_traitlets.py::TestMaxBoundCLong::test_default_value PASSED [ 45%] tests/test_traitlets.py::TestMaxBoundCLong::test_good_values PASSED [ 45%] tests/test_traitlets.py::TestInteger::test_allow_none PASSED [ 45%] tests/test_traitlets.py::TestInteger::test_bad_values PASSED [ 45%] tests/test_traitlets.py::TestInteger::test_default_value PASSED [ 46%] tests/test_traitlets.py::TestInteger::test_good_values PASSED [ 46%] tests/test_traitlets.py::TestMinBoundInteger::test_allow_none PASSED [ 46%] tests/test_traitlets.py::TestMinBoundInteger::test_bad_values PASSED [ 46%] tests/test_traitlets.py::TestMinBoundInteger::test_default_value PASSED [ 46%] tests/test_traitlets.py::TestMinBoundInteger::test_good_values PASSED [ 46%] tests/test_traitlets.py::TestMaxBoundInteger::test_allow_none PASSED [ 47%] tests/test_traitlets.py::TestMaxBoundInteger::test_bad_values PASSED [ 47%] tests/test_traitlets.py::TestMaxBoundInteger::test_default_value PASSED [ 47%] tests/test_traitlets.py::TestMaxBoundInteger::test_good_values PASSED [ 47%] tests/test_traitlets.py::TestFloat::test_allow_none PASSED [ 47%] tests/test_traitlets.py::TestFloat::test_bad_values PASSED [ 47%] tests/test_traitlets.py::TestFloat::test_default_value PASSED [ 48%] tests/test_traitlets.py::TestFloat::test_good_values PASSED [ 48%] tests/test_traitlets.py::TestCFloat::test_allow_none PASSED [ 48%] tests/test_traitlets.py::TestCFloat::test_bad_values PASSED [ 48%] tests/test_traitlets.py::TestCFloat::test_default_value PASSED [ 48%] tests/test_traitlets.py::TestCFloat::test_good_values PASSED [ 48%] tests/test_traitlets.py::TestComplex::test_allow_none PASSED [ 49%] tests/test_traitlets.py::TestComplex::test_bad_values PASSED [ 49%] tests/test_traitlets.py::TestComplex::test_default_value PASSED [ 49%] tests/test_traitlets.py::TestComplex::test_good_values PASSED [ 49%] tests/test_traitlets.py::TestBytes::test_allow_none PASSED [ 49%] tests/test_traitlets.py::TestBytes::test_bad_values PASSED [ 50%] tests/test_traitlets.py::TestBytes::test_default_value PASSED [ 50%] tests/test_traitlets.py::TestBytes::test_good_values PASSED [ 50%] tests/test_traitlets.py::TestUnicode::test_allow_none PASSED [ 50%] tests/test_traitlets.py::TestUnicode::test_bad_values PASSED [ 50%] tests/test_traitlets.py::TestUnicode::test_default_value PASSED [ 50%] tests/test_traitlets.py::TestUnicode::test_good_values PASSED [ 51%] tests/test_traitlets.py::TestObjectName::test_allow_none PASSED [ 51%] tests/test_traitlets.py::TestObjectName::test_bad_values PASSED [ 51%] tests/test_traitlets.py::TestObjectName::test_default_value PASSED [ 51%] tests/test_traitlets.py::TestObjectName::test_good_values PASSED [ 51%] tests/test_traitlets.py::TestDottedObjectName::test_allow_none PASSED [ 51%] tests/test_traitlets.py::TestDottedObjectName::test_bad_values PASSED [ 52%] tests/test_traitlets.py::TestDottedObjectName::test_default_value PASSED [ 52%] tests/test_traitlets.py::TestDottedObjectName::test_good_values PASSED [ 52%] tests/test_traitlets.py::TestTCPAddress::test_allow_none PASSED [ 52%] tests/test_traitlets.py::TestTCPAddress::test_bad_values PASSED [ 52%] tests/test_traitlets.py::TestTCPAddress::test_default_value PASSED [ 52%] tests/test_traitlets.py::TestTCPAddress::test_good_values PASSED [ 53%] tests/test_traitlets.py::TestList::test_allow_none PASSED [ 53%] tests/test_traitlets.py::TestList::test_bad_values PASSED [ 53%] tests/test_traitlets.py::TestList::test_default_value PASSED [ 53%] tests/test_traitlets.py::TestList::test_good_values PASSED [ 53%] tests/test_traitlets.py::TestSet::test_allow_none PASSED [ 53%] tests/test_traitlets.py::TestSet::test_bad_values PASSED [ 54%] tests/test_traitlets.py::TestSet::test_default_value PASSED [ 54%] tests/test_traitlets.py::TestSet::test_good_values PASSED [ 54%] tests/test_traitlets.py::TestNoneInstanceList::test_allow_none PASSED [ 54%] tests/test_traitlets.py::TestNoneInstanceList::test_bad_values PASSED [ 54%] tests/test_traitlets.py::TestNoneInstanceList::test_default_value PASSED [ 54%] tests/test_traitlets.py::TestNoneInstanceList::test_good_values PASSED [ 55%] tests/test_traitlets.py::TestInstanceList::test_allow_none PASSED [ 55%] tests/test_traitlets.py::TestInstanceList::test_bad_values PASSED [ 55%] tests/test_traitlets.py::TestInstanceList::test_default_value PASSED [ 55%] tests/test_traitlets.py::TestInstanceList::test_good_values PASSED [ 55%] tests/test_traitlets.py::TestInstanceList::test_klass PASSED [ 55%] tests/test_traitlets.py::TestUnionListTrait::test_allow_none PASSED [ 56%] tests/test_traitlets.py::TestUnionListTrait::test_bad_values PASSED [ 56%] tests/test_traitlets.py::TestUnionListTrait::test_default_value PASSED [ 56%] tests/test_traitlets.py::TestUnionListTrait::test_good_values PASSED [ 56%] tests/test_traitlets.py::TestLenList::test_allow_none PASSED [ 56%] tests/test_traitlets.py::TestLenList::test_bad_values PASSED [ 56%] tests/test_traitlets.py::TestLenList::test_default_value PASSED [ 57%] tests/test_traitlets.py::TestLenList::test_good_values PASSED [ 57%] tests/test_traitlets.py::TestTupleTrait::test_allow_none PASSED [ 57%] tests/test_traitlets.py::TestTupleTrait::test_bad_values PASSED [ 57%] tests/test_traitlets.py::TestTupleTrait::test_default_value PASSED [ 57%] tests/test_traitlets.py::TestTupleTrait::test_good_values PASSED [ 57%] tests/test_traitlets.py::TestTupleTrait::test_invalid_args PASSED [ 58%] tests/test_traitlets.py::TestLooseTupleTrait::test_allow_none PASSED [ 58%] tests/test_traitlets.py::TestLooseTupleTrait::test_bad_values PASSED [ 58%] tests/test_traitlets.py::TestLooseTupleTrait::test_default_value PASSED [ 58%] tests/test_traitlets.py::TestLooseTupleTrait::test_good_values PASSED [ 58%] tests/test_traitlets.py::TestLooseTupleTrait::test_invalid_args PASSED [ 59%] tests/test_traitlets.py::TestMultiTuple::test_allow_none PASSED [ 59%] tests/test_traitlets.py::TestMultiTuple::test_bad_values PASSED [ 59%] tests/test_traitlets.py::TestMultiTuple::test_default_value PASSED [ 59%] tests/test_traitlets.py::TestMultiTuple::test_good_values PASSED [ 59%] tests/test_traitlets.py::test_allow_none_default_value[List] PASSED [ 59%] tests/test_traitlets.py::test_allow_none_default_value[Tuple] PASSED [ 60%] tests/test_traitlets.py::test_allow_none_default_value[Set] PASSED [ 60%] tests/test_traitlets.py::test_allow_none_default_value[Dict] PASSED [ 60%] tests/test_traitlets.py::test_allow_none_default_value[Int] PASSED [ 60%] tests/test_traitlets.py::test_allow_none_default_value[Unicode] PASSED [ 60%] tests/test_traitlets.py::test_default_value[List-default_value0] PASSED [ 60%] tests/test_traitlets.py::test_default_value[Tuple-default_value1] PASSED [ 61%] tests/test_traitlets.py::test_default_value[Set-default_value2] PASSED [ 61%] tests/test_traitlets.py::test_default_value[Dict-default_value3] PASSED [ 61%] tests/test_traitlets.py::test_default_value[Int-0] PASSED [ 61%] tests/test_traitlets.py::test_default_value[Unicode-] PASSED [ 61%] tests/test_traitlets.py::test_subclass_default_value[List-default_value0] PASSED [ 61%] tests/test_traitlets.py::test_subclass_default_value[Tuple-default_value1] PASSED [ 62%] tests/test_traitlets.py::test_subclass_default_value[Set-default_value2] PASSED [ 62%] tests/test_traitlets.py::TestCRegExp::test_allow_none PASSED [ 62%] tests/test_traitlets.py::TestCRegExp::test_bad_values PASSED [ 62%] tests/test_traitlets.py::TestCRegExp::test_default_value PASSED [ 62%] tests/test_traitlets.py::TestCRegExp::test_good_values PASSED [ 62%] tests/test_traitlets.py::test_dict_assignment PASSED [ 63%] tests/test_traitlets.py::TestInstanceUniformlyValueValidatedDict::test_allow_none PASSED [ 63%] tests/test_traitlets.py::TestInstanceUniformlyValueValidatedDict::test_bad_values PASSED [ 63%] tests/test_traitlets.py::TestInstanceUniformlyValueValidatedDict::test_default_value PASSED [ 63%] tests/test_traitlets.py::TestInstanceUniformlyValueValidatedDict::test_good_values PASSED [ 63%] tests/test_traitlets.py::TestInstanceNonuniformlyValueValidatedDict::test_allow_none PASSED [ 63%] tests/test_traitlets.py::TestInstanceNonuniformlyValueValidatedDict::test_bad_values PASSED [ 64%] tests/test_traitlets.py::TestInstanceNonuniformlyValueValidatedDict::test_default_value PASSED [ 64%] tests/test_traitlets.py::TestInstanceNonuniformlyValueValidatedDict::test_good_values PASSED [ 64%] tests/test_traitlets.py::TestInstanceKeyValidatedDict::test_allow_none PASSED [ 64%] tests/test_traitlets.py::TestInstanceKeyValidatedDict::test_bad_values PASSED [ 64%] tests/test_traitlets.py::TestInstanceKeyValidatedDict::test_default_value PASSED [ 64%] tests/test_traitlets.py::TestInstanceKeyValidatedDict::test_good_values PASSED [ 65%] tests/test_traitlets.py::TestInstanceFullyValidatedDict::test_allow_none PASSED [ 65%] tests/test_traitlets.py::TestInstanceFullyValidatedDict::test_bad_values PASSED [ 65%] tests/test_traitlets.py::TestInstanceFullyValidatedDict::test_default_value PASSED [ 65%] tests/test_traitlets.py::TestInstanceFullyValidatedDict::test_good_values PASSED [ 65%] tests/test_traitlets.py::test_dict_default_value PASSED [ 65%] tests/test_traitlets.py::TestValidationHook::test_multiple_validate PASSED [ 66%] tests/test_traitlets.py::TestValidationHook::test_parity_trait PASSED [ 66%] tests/test_traitlets.py::TestValidationHook::test_validate_used PASSED [ 66%] tests/test_traitlets.py::TestLink::test_callbacks PASSED [ 66%] tests/test_traitlets.py::TestLink::test_connect_same PASSED [ 66%] tests/test_traitlets.py::TestLink::test_link_broken_at_source PASSED [ 67%] tests/test_traitlets.py::TestLink::test_link_broken_at_target PASSED [ 67%] tests/test_traitlets.py::TestLink::test_link_different PASSED [ 67%] tests/test_traitlets.py::TestLink::test_tranform PASSED [ 67%] tests/test_traitlets.py::TestLink::test_unlink_link PASSED [ 67%] tests/test_traitlets.py::TestDirectionalLink::test_connect_same PASSED [ 67%] tests/test_traitlets.py::TestDirectionalLink::test_link_different PASSED [ 68%] tests/test_traitlets.py::TestDirectionalLink::test_tranform PASSED [ 68%] tests/test_traitlets.py::TestDirectionalLink::test_unlink_link PASSED [ 68%] tests/test_traitlets.py::test_pickle_hastraits PASSED [ 68%] tests/test_traitlets.py::test_hold_trait_notifications PASSED [ 68%] tests/test_traitlets.py::TestRollback::test_roll_back PASSED [ 68%] tests/test_traitlets.py::test_cache_modification PASSED [ 69%] tests/test_traitlets.py::test_notification_order PASSED [ 69%] tests/test_traitlets.py::TestForwardDeclaredInstanceTrait::test_allow_none PASSED [ 69%] tests/test_traitlets.py::TestForwardDeclaredInstanceTrait::test_bad_values PASSED [ 69%] tests/test_traitlets.py::TestForwardDeclaredInstanceTrait::test_default_value PASSED [ 69%] tests/test_traitlets.py::TestForwardDeclaredInstanceTrait::test_good_values PASSED [ 69%] tests/test_traitlets.py::TestForwardDeclaredTypeTrait::test_allow_none PASSED [ 70%] tests/test_traitlets.py::TestForwardDeclaredTypeTrait::test_bad_values PASSED [ 70%] tests/test_traitlets.py::TestForwardDeclaredTypeTrait::test_default_value PASSED [ 70%] tests/test_traitlets.py::TestForwardDeclaredTypeTrait::test_good_values PASSED [ 70%] tests/test_traitlets.py::TestForwardDeclaredInstanceList::test_allow_none PASSED [ 70%] tests/test_traitlets.py::TestForwardDeclaredInstanceList::test_bad_values PASSED [ 70%] tests/test_traitlets.py::TestForwardDeclaredInstanceList::test_default_value PASSED [ 71%] tests/test_traitlets.py::TestForwardDeclaredInstanceList::test_good_values PASSED [ 71%] tests/test_traitlets.py::TestForwardDeclaredInstanceList::test_klass PASSED [ 71%] tests/test_traitlets.py::TestForwardDeclaredTypeList::test_allow_none PASSED [ 71%] tests/test_traitlets.py::TestForwardDeclaredTypeList::test_bad_values PASSED [ 71%] tests/test_traitlets.py::TestForwardDeclaredTypeList::test_default_value PASSED [ 71%] tests/test_traitlets.py::TestForwardDeclaredTypeList::test_good_values PASSED [ 72%] tests/test_traitlets.py::TestForwardDeclaredTypeList::test_klass PASSED [ 72%] tests/test_traitlets.py::TestDynamicTraits::test_notify_all PASSED [ 72%] tests/test_traitlets.py::test_enum_no_default PASSED [ 72%] tests/test_traitlets.py::test_default_value_repr PASSED [ 72%] tests/test_traitlets.py::test_subclass_compat PASSED [ 72%] tests/test_traitlets.py::test_subclass_override_observer PASSED [ 73%] tests/test_traitlets.py::test_subclass_override_not_registered PASSED [ 73%] tests/test_traitlets.py::test_subclass_add_observer PASSED [ 73%] tests/test_traitlets.py::test_observe_iterables PASSED [ 73%] tests/test_traitlets.py::test_super_args PASSED [ 73%] tests/test_traitlets.py::test_super_bad_args PASSED [ 73%] tests/test_traitlets.py::test_default_mro PASSED [ 74%] tests/test_traitlets.py::test_cls_self_argument PASSED [ 74%] tests/test_traitlets.py::test_override_default PASSED [ 74%] tests/test_traitlets.py::test_override_default_decorator PASSED [ 74%] tests/test_traitlets.py::test_override_default_instance PASSED [ 74%] tests/test_traitlets.py::test_copy_HasTraits PASSED [ 75%] tests/test_traitlets.py::test_unicode_from_string[xyz-xyz] PASSED [ 75%] tests/test_traitlets.py::test_unicode_from_string[1-1] PASSED [ 75%] tests/test_traitlets.py::test_unicode_from_string["xx"-xx] PASSED [ 75%] tests/test_traitlets.py::test_unicode_from_string['abc'-abc] PASSED [ 75%] tests/test_traitlets.py::test_unicode_from_string[None-None] PASSED [ 75%] tests/test_traitlets.py::test_cunicode_from_string[xyz-xyz] PASSED [ 76%] tests/test_traitlets.py::test_cunicode_from_string[1-1] PASSED [ 76%] tests/test_traitlets.py::test_cunicode_from_string["xx"-xx] PASSED [ 76%] tests/test_traitlets.py::test_cunicode_from_string['abc'-abc] PASSED [ 76%] tests/test_traitlets.py::test_cunicode_from_string[None-None] PASSED [ 76%] tests/test_traitlets.py::test_bytes_from_string[xyz-xyz] PASSED [ 76%] tests/test_traitlets.py::test_bytes_from_string[1-1] PASSED [ 77%] tests/test_traitlets.py::test_bytes_from_string[b"xx"-xx] PASSED [ 77%] tests/test_traitlets.py::test_bytes_from_string[b'abc'-abc] PASSED [ 77%] tests/test_traitlets.py::test_bytes_from_string[None-None] PASSED [ 77%] tests/test_traitlets.py::test_cbytes_from_string[xyz-xyz] PASSED [ 77%] tests/test_traitlets.py::test_cbytes_from_string[1-1] PASSED [ 77%] tests/test_traitlets.py::test_cbytes_from_string[b"xx"-xx] PASSED [ 78%] tests/test_traitlets.py::test_cbytes_from_string[b'abc'-abc] PASSED [ 78%] tests/test_traitlets.py::test_cbytes_from_string[None-None] PASSED [ 78%] tests/test_traitlets.py::test_int_from_string[x-ValueError] PASSED [ 78%] tests/test_traitlets.py::test_int_from_string[1-1] PASSED [ 78%] tests/test_traitlets.py::test_int_from_string[123-123] PASSED [ 78%] tests/test_traitlets.py::test_int_from_string[2.0-ValueError] PASSED [ 79%] tests/test_traitlets.py::test_int_from_string[None-None] PASSED [ 79%] tests/test_traitlets.py::test_float_from_string[x-ValueError] PASSED [ 79%] tests/test_traitlets.py::test_float_from_string[1-1.0] PASSED [ 79%] tests/test_traitlets.py::test_float_from_string[123.5-123.5] PASSED [ 79%] tests/test_traitlets.py::test_float_from_string[2.5-2.5] PASSED [ 79%] tests/test_traitlets.py::test_float_from_string[None-None] PASSED [ 80%] tests/test_traitlets.py::test_complex_from_string[x-ValueError] PASSED [ 80%] tests/test_traitlets.py::test_complex_from_string[1-1.0] PASSED [ 80%] tests/test_traitlets.py::test_complex_from_string[123.5-123.5] PASSED [ 80%] tests/test_traitlets.py::test_complex_from_string[2.5-2.5] PASSED [ 80%] tests/test_traitlets.py::test_complex_from_string[1+2j-(1+2j)] PASSED [ 80%] tests/test_traitlets.py::test_complex_from_string[None-None] PASSED [ 81%] tests/test_traitlets.py::test_bool_from_string[true-True] PASSED [ 81%] tests/test_traitlets.py::test_bool_from_string[TRUE-True] PASSED [ 81%] tests/test_traitlets.py::test_bool_from_string[1-True] PASSED [ 81%] tests/test_traitlets.py::test_bool_from_string[0-False] PASSED [ 81%] tests/test_traitlets.py::test_bool_from_string[False-False] PASSED [ 81%] tests/test_traitlets.py::test_bool_from_string[false-False] PASSED [ 82%] tests/test_traitlets.py::test_bool_from_string[1.0-ValueError] PASSED [ 82%] tests/test_traitlets.py::test_bool_from_string[None-None] PASSED [ 82%] tests/test_traitlets.py::test_dict_from_string[{}-expected0] PASSED [ 82%] tests/test_traitlets.py::test_dict_from_string[1-TraitError] PASSED [ 82%] tests/test_traitlets.py::test_dict_from_string[{1: 2}-expected2] PASSED [ 82%] tests/test_traitlets.py::test_dict_from_string[{"key": "value"}-expected3] PASSED [ 83%] tests/test_traitlets.py::test_dict_from_string[x-TraitError] PASSED [ 83%] tests/test_traitlets.py::test_dict_from_string[None-None] PASSED [ 83%] tests/test_traitlets.py::test_list_from_string[[]-expected0] PASSED [ 83%] tests/test_traitlets.py::test_list_from_string[[1, 2, "x"]-expected1] PASSED [ 83%] tests/test_traitlets.py::test_list_from_string[s2-expected2] PASSED [ 84%] tests/test_traitlets.py::test_list_from_string[s3-None] PASSED [ 84%] tests/test_traitlets.py::test_list_items_from_string[s0-expected0-value_trait0] PASSED [ 84%] tests/test_traitlets.py::test_list_items_from_string[s1-ValueError-value_trait1] PASSED [ 84%] tests/test_traitlets.py::test_list_items_from_string[s2-expected2-value_trait2] PASSED [ 84%] tests/test_traitlets.py::test_list_items_from_string[s3-expected3-value_trait3] PASSED [ 84%] tests/test_traitlets.py::test_list_items_from_string[s4-expected4-value_trait4] PASSED [ 85%] tests/test_traitlets.py::test_set_from_string[[]-expected0] PASSED [ 85%] tests/test_traitlets.py::test_set_from_string[[1, 2, "x"]-expected1] PASSED [ 85%] tests/test_traitlets.py::test_set_from_string[{1, 2, "x"}-expected2] PASSED [ 85%] tests/test_traitlets.py::test_set_from_string[s3-expected3] PASSED [ 85%] tests/test_traitlets.py::test_set_from_string[s4-None] PASSED [ 85%] tests/test_traitlets.py::test_set_items_from_string[s0-expected0-value_trait0] PASSED [ 86%] tests/test_traitlets.py::test_set_items_from_string[s1-ValueError-value_trait1] PASSED [ 86%] tests/test_traitlets.py::test_set_items_from_string[s2-expected2-value_trait2] PASSED [ 86%] tests/test_traitlets.py::test_set_items_from_string[s3-expected3-value_trait3] PASSED [ 86%] tests/test_traitlets.py::test_tuple_from_string[[]-expected0] PASSED [ 86%] tests/test_traitlets.py::test_tuple_from_string[()-expected1] PASSED [ 86%] tests/test_traitlets.py::test_tuple_from_string[[1, 2, "x"]-expected2] PASSED [ 87%] tests/test_traitlets.py::test_tuple_from_string[(1, 2, "x")-expected3] PASSED [ 87%] tests/test_traitlets.py::test_tuple_from_string[s4-expected4] PASSED [ 87%] tests/test_traitlets.py::test_tuple_from_string[s5-None] PASSED [ 87%] tests/test_traitlets.py::test_tuple_items_from_string[s0-expected0-value_traits0] PASSED [ 87%] tests/test_traitlets.py::test_tuple_items_from_string[s1-ValueError-value_traits1] PASSED [ 87%] tests/test_traitlets.py::test_tuple_items_from_string[s2-expected2-value_traits2] PASSED [ 88%] tests/test_traitlets.py::test_tuple_items_from_string[s3-expected3-value_traits3] PASSED [ 88%] tests/test_traitlets.py::test_tuple_items_from_string[s4-expected4-value_traits4] PASSED [ 88%] tests/test_traitlets.py::test_object_from_string[x-x] PASSED [ 88%] tests/test_traitlets.py::test_object_from_string[mod.submod-mod.submod] PASSED [ 88%] tests/test_traitlets.py::test_object_from_string[not an identifier-TraitError] PASSED [ 88%] tests/test_traitlets.py::test_object_from_string[1-1] PASSED [ 89%] tests/test_traitlets.py::test_object_from_string[None-None] PASSED [ 89%] tests/test_traitlets.py::test_tcp_from_string[127.0.0.1:8000-expected0] PASSED [ 89%] tests/test_traitlets.py::test_tcp_from_string[host.tld:80-expected1] PASSED [ 89%] tests/test_traitlets.py::test_tcp_from_string[host:notaport-ValueError] PASSED [ 89%] tests/test_traitlets.py::test_tcp_from_string[127.0.0.1-ValueError] PASSED [ 89%] tests/test_traitlets.py::test_tcp_from_string[None-None] PASSED [ 90%] tests/test_traitlets.py::test_union_of_list_and_unicode_from_string[[]-expected0] PASSED [ 90%] tests/test_traitlets.py::test_union_of_list_and_unicode_from_string[{}-{}] PASSED [ 90%] tests/test_traitlets.py::test_union_of_int_and_float_from_string[1-1] PASSED [ 90%] tests/test_traitlets.py::test_union_of_int_and_float_from_string[1.5-1.5] PASSED [ 90%] tests/test_traitlets.py::test_union_of_list_and_dict_from_string[[]-expected0-False] PASSED [ 90%] tests/test_traitlets.py::test_union_of_list_and_dict_from_string[{}-expected1-False] PASSED [ 91%] tests/test_traitlets.py::test_union_of_list_and_dict_from_string[None-TraitError-False] PASSED [ 91%] tests/test_traitlets.py::test_union_of_list_and_dict_from_string[None-None-True] PASSED [ 91%] tests/test_traitlets.py::test_all_attribute PASSED [ 91%] tests/test_traitlets_docstring.py::test_handle_docstring PASSED [ 91%] tests/test_traitlets_enum.py::TestUseEnum::test_assign_all_enum_values PASSED [ 92%] tests/test_traitlets_enum.py::TestUseEnum::test_assign_bad_enum_value_name__raises_error PASSED [ 92%] tests/test_traitlets_enum.py::TestUseEnum::test_assign_bad_enum_value_number__raises_error PASSED [ 92%] tests/test_traitlets_enum.py::TestUseEnum::test_assign_bad_value_with_to_enum_or_none PASSED [ 92%] tests/test_traitlets_enum.py::TestUseEnum::test_assign_enum_name_1 PASSED [ 92%] tests/test_traitlets_enum.py::TestUseEnum::test_assign_enum_value PASSED [ 92%] tests/test_traitlets_enum.py::TestUseEnum::test_assign_enum_value__with_other_enum_raises_error PASSED [ 93%] tests/test_traitlets_enum.py::TestUseEnum::test_assign_enum_value_name PASSED [ 93%] tests/test_traitlets_enum.py::TestUseEnum::test_assign_enum_value_number PASSED [ 93%] tests/test_traitlets_enum.py::TestUseEnum::test_assign_enum_value_number_1 PASSED [ 93%] tests/test_traitlets_enum.py::TestUseEnum::test_assign_none_to_enum_or_none PASSED [ 93%] tests/test_traitlets_enum.py::TestUseEnum::test_assign_none_without_allow_none_resets_to_default_value PASSED [ 93%] tests/test_traitlets_enum.py::TestUseEnum::test_assign_scoped_enum_value_name PASSED [ 94%] tests/test_traitlets_enum.py::TestUseEnum::test_ctor_with_default_value_as_enum_value PASSED [ 94%] tests/test_traitlets_enum.py::TestUseEnum::test_ctor_with_default_value_none_and_allow_none PASSED [ 94%] tests/test_traitlets_enum.py::TestUseEnum::test_ctor_with_default_value_none_and_not_allow_none PASSED [ 94%] tests/test_traitlets_enum.py::TestUseEnum::test_ctor_without_default_value PASSED [ 94%] tests/test_traitlets_enum.py::TestUseEnum::test_info PASSED [ 94%] tests/test_traitlets_enum.py::TestFuzzyEnum::test_assign_other_raises PASSED [ 95%] tests/test_traitlets_enum.py::TestFuzzyEnum::test_ctor_with_default_value PASSED [ 95%] tests/test_traitlets_enum.py::TestFuzzyEnum::test_search_all_prefixes__ctor PASSED [ 95%] tests/test_traitlets_enum.py::TestFuzzyEnum::test_search_all_prefixes__overwrite PASSED [ 95%] tests/test_traitlets_enum.py::TestFuzzyEnum::test_search_substrings__ctor PASSED [ 95%] tests/test_traitlets_enum.py::TestFuzzyEnum::test_search_substrings__overwrite PASSED [ 95%] tests/test_typing.py::[mypy]mypy_decorator_typing PASSED [ 96%] tests/test_typing.py::[mypy]mypy_config_typing PASSED [ 96%] tests/test_typing.py::[mypy]mypy_union_typing PASSED [ 96%] tests/test_typing.py::[mypy]mypy_list_typing PASSED [ 96%] tests/test_typing.py::[mypy]mypy_dict_typing PASSED [ 96%] tests/test_typing.py::[mypy]mypy_type_typing PASSED [ 96%] tests/test_typing.py::[mypy]mypy_unicode_typing PASSED [ 97%] tests/test_typing.py::[mypy]mypy_enum_typing PASSED [ 97%] tests/test_typing.py::[mypy]mypy_set_typing PASSED [ 97%] tests/test_typing.py::[mypy]mypy_any_typing PASSED [ 97%] tests/test_typing.py::[mypy]mypy_bool_typing PASSED [ 97%] tests/test_typing.py::[mypy]mypy_int_typing PASSED [ 97%] tests/test_typing.py::[mypy]mypy_cint_typing PASSED [ 98%] tests/test_typing.py::[mypy]mypy_tcp_typing PASSED [ 98%] tests/test_typing.py::[mypy]mypy_instance_typing PASSED [ 98%] tests/utils/test_bunch.py::test_bunch PASSED [ 98%] tests/utils/test_bunch.py::test_bunch_dir PASSED [ 98%] tests/utils/test_decorators.py::TestExpandSignature::test_duplicate_init PASSED [ 98%] tests/utils/test_decorators.py::TestExpandSignature::test_full_init PASSED [ 99%] tests/utils/test_decorators.py::TestExpandSignature::test_no_init PASSED [ 99%] tests/utils/test_decorators.py::TestExpandSignature::test_no_kwargs PASSED [ 99%] tests/utils/test_decorators.py::TestExpandSignature::test_partial_init PASSED [ 99%] tests/utils/test_importstring.py::TestImportItem::test_bad_input PASSED [ 99%] tests/utils/test_importstring.py::TestImportItem::test_import_unicode PASSED [100%] =================================== FAILURES =================================== ___________________ TestArgcomplete.test_complete_simple_app ___________________ self = argcomplete_on = None def test_complete_simple_app(self, argcomplete_on): app = ArgcompleteApp() expected = [ "--help", "--debug", "--show-config", "--show-config-json", "--log-level", "--Application.", "--ArgcompleteApp.", ] > assert set(self.run_completer(app, "app --")) == set(expected) app = argcomplete_on = None expected = ['--help', '--debug', '--show-config', '--show-config-json', '--log-level', '--Application.', ...] self = tests/config/test_argcomplete.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/config/test_argcomplete.py:127: in run_completer app.initialize() app = cm = command = 'app --' kwargs = {} point = '6' self = strio = <_io.StringIO object at 0x7fdc1c0a9300> traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = () kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = None self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = (None,) kwargs = {} method = traitlets/config/application.py:881: in parse_command_line self.cli_config = deepcopy(loader.load_config()) aliases = {'log-level': 'ArgcompleteApp.log_level'} argv = ['-v'] classes = [, ] flags = {'debug': ({'ArgcompleteApp': {'log_level': 10}}, 'Set log-level to debug, for the most verbose logging.'), 'show-conf...w-config-json': ({'ArgcompleteApp': {'show_config_json': True}}, "Show the application's configuration (json format)")} interpreted_argv = ['-v'] loader = self = traitlets/config/loader.py:894: in load_config self._argcomplete(self.classes, self.subcommands) aliases = None argv = ['-v'] classes = None flags = self = traitlets/config/loader.py:1139: in _argcomplete finder(self.parser, **getattr(self, "_argcomplete_kwargs", {})) argcomplete = argcomplete_config = classes = [, ] finder = self = subcommands = {} /usr/lib/python3.12/site-packages/argcomplete/finders.py:174: in __call__ completions = self._get_completions(comp_words, cword_prefix, cword_prequote, last_wordbreak_pos) always_complete_options = True append_space = None argument_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) comp_line = 'app --' comp_point = 6 comp_words = ['app'] cword_prefix = '--' cword_prequote = '' cword_suffix = '' default_completer = dfs = None exclude = None exit_method = > ifs = '\x0b' last_wordbreak_pos = None output_stream = <_io.StringIO object at 0x7fdc1c0a9300> print_suppressed = False self = start = 0 validator = None traitlets/config/argcomplete_config.py:191: in _get_completions completions = super()._get_completions(comp_words, cword_prefix, *args) # type:ignore[no-untyped-call] __class__ = args = ('', None) comp_words = ['app'] cword_prefix = '--' is_option = True matched_completions = [(, '--Application.'), (, '--ArgcompleteApp.')] prefix_chars = '-' self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:223: in _get_completions completions = self.collect_completions(active_parsers, parsed_args, cword_prefix) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] comp_words = ['app'] cword_prefix = '--' cword_prequote = '' last_wordbreak_pos = None parsed_args = Namespace(_flags=[]) self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:440: in collect_completions completions += self._get_option_completions(active_parser, cword_prefix) active_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] completions = [] cword_prefix = '--' parsed_args = Namespace(_flags=[]) self = traitlets/config/argcomplete_config.py:209: in _get_option_completions completions = super()._get_option_completions(parser, cword_prefix) # type:ignore[no-untyped-call] __class__ = cword_prefix = '--' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:326: in _get_option_completions if not self._action_allowed(action, parser): action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) completer = None cword_prefix = '--' option_completions = [] option_string = '--log-level' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) @staticmethod def _action_allowed(action, parser): # Logic adapted from take_action in ArgumentParser._parse_known_args # (members are saved by vendor._argparse.IntrospectiveArgumentParser) > for conflict_action in parser._action_conflicts.get(action, []): E AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no attribute '_action_conflicts' action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) /usr/lib/python3.12/site-packages/argcomplete/finders.py:336: AttributeError _______________ TestArgcomplete.test_complete_custom_completers ________________ self = argcomplete_on = None def test_complete_custom_completers(self, argcomplete_on): app = ArgcompleteApp() # test pre-defined completers for Bool/Enum > assert set(self.run_completer(app, "app --Application.log_level=")) > {"DEBUG", "INFO"} app = argcomplete_on = None self = tests/config/test_argcomplete.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/config/test_argcomplete.py:127: in run_completer app.initialize() app = cm = command = 'app --Application.log_level=' kwargs = {} point = '28' self = strio = <_io.StringIO object at 0x7fdc1cd32e00> traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = () kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = None self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = (None,) kwargs = {} method = traitlets/config/application.py:881: in parse_command_line self.cli_config = deepcopy(loader.load_config()) aliases = {'log-level': 'ArgcompleteApp.log_level'} argv = ['-v'] classes = [, ] flags = {'debug': ({'ArgcompleteApp': {'log_level': 10}}, 'Set log-level to debug, for the most verbose logging.'), 'show-conf...w-config-json': ({'ArgcompleteApp': {'show_config_json': True}}, "Show the application's configuration (json format)")} interpreted_argv = ['-v'] loader = self = traitlets/config/loader.py:894: in load_config self._argcomplete(self.classes, self.subcommands) aliases = None argv = ['-v'] classes = None flags = self = traitlets/config/loader.py:1139: in _argcomplete finder(self.parser, **getattr(self, "_argcomplete_kwargs", {})) argcomplete = argcomplete_config = classes = [, ] finder = self = subcommands = {} /usr/lib/python3.12/site-packages/argcomplete/finders.py:174: in __call__ completions = self._get_completions(comp_words, cword_prefix, cword_prequote, last_wordbreak_pos) always_complete_options = True append_space = None argument_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) comp_line = 'app --Application.log_level=' comp_point = 28 comp_words = ['app', '--Application.log_level'] cword_prefix = '--Application.log_level=' cword_prequote = '' cword_suffix = '' default_completer = dfs = None exclude = None exit_method = > ifs = '\x0b' last_wordbreak_pos = 23 output_stream = <_io.StringIO object at 0x7fdc1cd32e00> print_suppressed = False self = start = 0 validator = None traitlets/config/argcomplete_config.py:191: in _get_completions completions = super()._get_completions(comp_words, cword_prefix, *args) # type:ignore[no-untyped-call] __class__ = args = ('', 23) comp_words = ['app', '--Application.log_level'] cword_prefix = '--Application.log_level=' is_option = True matched_cls = matched_completions = [(, '--Application.')] prefix_chars = '-' self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:223: in _get_completions completions = self.collect_completions(active_parsers, parsed_args, cword_prefix) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] comp_words = ['app', '--Application.log_level'] cword_prefix = '--Application.log_level=' cword_prequote = '' last_wordbreak_pos = 23 parsed_args = Namespace(_flags=[]) self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:440: in collect_completions completions += self._get_option_completions(active_parser, cword_prefix) active_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] completions = [] cword_prefix = '--Application.log_level=' parsed_args = Namespace(_flags=[]) self = traitlets/config/argcomplete_config.py:209: in _get_option_completions completions = super()._get_option_completions(parser, cword_prefix) # type:ignore[no-untyped-call] __class__ = cword_prefix = '--Application.log_level=' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:326: in _get_option_completions if not self._action_allowed(action, parser): action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) completer = None cword_prefix = '--Application.log_level=' option_completions = [] option_string = '--Application.show_config_json' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) @staticmethod def _action_allowed(action, parser): # Logic adapted from take_action in ArgumentParser._parse_known_args # (members are saved by vendor._argparse.IntrospectiveArgumentParser) > for conflict_action in parser._action_conflicts.get(action, []): E AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no attribute '_action_conflicts' action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) /usr/lib/python3.12/site-packages/argcomplete/finders.py:336: AttributeError __________________ TestArgcomplete.test_complete_subcommands ___________________ self = argcomplete_on = None def test_complete_subcommands(self, argcomplete_on): app = MainApp() > assert set(self.run_completer(app, "app ")) >= {"subapp1", "subapp2"} app = argcomplete_on = None self = tests/config/test_argcomplete.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/config/test_argcomplete.py:127: in run_completer app.initialize() app = cm = command = 'app ' kwargs = {} point = '4' self = strio = <_io.StringIO object at 0x7fdc1c0a9f00> traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = () kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = None self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = (None,) kwargs = {} method = traitlets/config/application.py:881: in parse_command_line self.cli_config = deepcopy(loader.load_config()) aliases = {'log-level': 'MainApp.log_level'} argv = [] classes = [, , ] flags = {'debug': ({'MainApp': {'log_level': 10}}, 'Set log-level to debug, for the most verbose logging.'), 'show-config': ({...), 'show-config-json': ({'MainApp': {'show_config_json': True}}, "Show the application's configuration (json format)")} interpreted_argv = [] loader = self = traitlets/config/loader.py:894: in load_config self._argcomplete(self.classes, self.subcommands) aliases = None argv = [] classes = None flags = self = traitlets/config/loader.py:1139: in _argcomplete finder(self.parser, **getattr(self, "_argcomplete_kwargs", {})) argcomplete = argcomplete_config = classes = [, , ] finder = self = subcommands = {'subapp1': (, 'First subapp'), 'subapp2': (>, 'Second subapp')} /usr/lib/python3.12/site-packages/argcomplete/finders.py:174: in __call__ completions = self._get_completions(comp_words, cword_prefix, cword_prequote, last_wordbreak_pos) always_complete_options = True append_space = None argument_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) comp_line = 'app ' comp_point = 4 comp_words = ['app'] cword_prefix = '' cword_prequote = '' cword_suffix = '' default_completer = dfs = None exclude = None exit_method = > ifs = '\x0b' last_wordbreak_pos = None output_stream = <_io.StringIO object at 0x7fdc1c0a9f00> print_suppressed = False self = start = 0 validator = None traitlets/config/argcomplete_config.py:191: in _get_completions completions = super()._get_completions(comp_words, cword_prefix, *args) # type:ignore[no-untyped-call] __class__ = args = ('', None) comp_words = ['app'] cword_prefix = '' is_option = False prefix_chars = '-' self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:223: in _get_completions completions = self.collect_completions(active_parsers, parsed_args, cword_prefix) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] comp_words = ['app'] cword_prefix = '' cword_prequote = '' last_wordbreak_pos = None parsed_args = Namespace(_flags=[]) self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:440: in collect_completions completions += self._get_option_completions(active_parser, cword_prefix) active_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] completions = [] cword_prefix = '' parsed_args = Namespace(_flags=[]) self = traitlets/config/argcomplete_config.py:209: in _get_option_completions completions = super()._get_option_completions(parser, cword_prefix) # type:ignore[no-untyped-call] __class__ = cword_prefix = '' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:326: in _get_option_completions if not self._action_allowed(action, parser): action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) completer = None cword_prefix = '' option_completions = [] option_string = '--log-level' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) @staticmethod def _action_allowed(action, parser): # Logic adapted from take_action in ArgumentParser._parse_known_args # (members are saved by vendor._argparse.IntrospectiveArgumentParser) > for conflict_action in parser._action_conflicts.get(action, []): E AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no attribute '_action_conflicts' action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) /usr/lib/python3.12/site-packages/argcomplete/finders.py:336: AttributeError ______________ TestArgcomplete.test_complete_subcommands_subapp1 _______________ self = argcomplete_on = None def test_complete_subcommands_subapp1(self, argcomplete_on): # subcommand handling modifies _ARGCOMPLETE env var global state, so # only can test one completion per unit test app = MainApp() try: > assert set(self.run_completer(app, "app subapp1 --Sub")) > { "--SubApp1.show_config", "--SubApp1.log_level", "--SubApp1.log_format", } app = argcomplete_on = None self = tests/config/test_argcomplete.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/config/test_argcomplete.py:127: in run_completer app.initialize() app = cm = command = 'app subapp1 --Sub' kwargs = {} point = '17' self = strio = <_io.StringIO object at 0x7fdc1bdea080> traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = () kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = None self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = (None,) kwargs = {} method = traitlets/config/application.py:857: in parse_command_line return self.initialize_subcommand(subc, subargv) argv = ['subapp1'] self = subargv = [] subc = 'subapp1' traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = ('subapp1', []) kwargs = {} method = traitlets/config/application.py:721: in initialize_subcommand self.subapp.initialize(argv) _ = 'First subapp' argv = [] self = subapp = subc = 'subapp1' val = (, 'First subapp') traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = ([],) kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = [] self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = ([],) kwargs = {} method = traitlets/config/application.py:881: in parse_command_line self.cli_config = deepcopy(loader.load_config()) aliases = {'log-level': 'SubApp1.log_level'} argv = [] classes = [, , ] flags = {'debug': ({'SubApp1': {'log_level': 10}}, 'Set log-level to debug, for the most verbose logging.'), 'show-config': ({...), 'show-config-json': ({'SubApp1': {'show_config_json': True}}, "Show the application's configuration (json format)")} interpreted_argv = [] loader = self = traitlets/config/loader.py:894: in load_config self._argcomplete(self.classes, self.subcommands) aliases = None argv = [] classes = None flags = self = traitlets/config/loader.py:1139: in _argcomplete finder(self.parser, **getattr(self, "_argcomplete_kwargs", {})) argcomplete = argcomplete_config = classes = [, , ] finder = self = subcommands = {} /usr/lib/python3.12/site-packages/argcomplete/finders.py:174: in __call__ completions = self._get_completions(comp_words, cword_prefix, cword_prequote, last_wordbreak_pos) always_complete_options = True append_space = None argument_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) comp_line = 'app subapp1 --Sub' comp_point = 17 comp_words = ['subapp1'] cword_prefix = '--Sub' cword_prequote = '' cword_suffix = '' default_completer = dfs = None exclude = None exit_method = > ifs = '\x0b' last_wordbreak_pos = None output_stream = <_io.StringIO object at 0x7fdc1bdea080> print_suppressed = False self = start = 1 validator = None traitlets/config/argcomplete_config.py:191: in _get_completions completions = super()._get_completions(comp_words, cword_prefix, *args) # type:ignore[no-untyped-call] __class__ = args = ('', None) comp_words = ['subapp1'] cword_prefix = '--Sub' is_option = True matched_cls = matched_completions = [(, '--SubApp1.')] prefix_chars = '-' self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:223: in _get_completions completions = self.collect_completions(active_parsers, parsed_args, cword_prefix) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] comp_words = ['subapp1'] cword_prefix = '--Sub' cword_prequote = '' last_wordbreak_pos = None parsed_args = Namespace(_flags=[]) self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:440: in collect_completions completions += self._get_option_completions(active_parser, cword_prefix) active_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] completions = [] cword_prefix = '--Sub' parsed_args = Namespace(_flags=[]) self = traitlets/config/argcomplete_config.py:209: in _get_option_completions completions = super()._get_option_completions(parser, cword_prefix) # type:ignore[no-untyped-call] __class__ = cword_prefix = '--Sub' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:326: in _get_option_completions if not self._action_allowed(action, parser): action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) completer = None cword_prefix = '--Sub' option_completions = [] option_string = '--SubApp1.show_config_json' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) @staticmethod def _action_allowed(action, parser): # Logic adapted from take_action in ArgumentParser._parse_known_args # (members are saved by vendor._argparse.IntrospectiveArgumentParser) > for conflict_action in parser._action_conflicts.get(action, []): E AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no attribute '_action_conflicts' action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) /usr/lib/python3.12/site-packages/argcomplete/finders.py:336: AttributeError ______________ TestArgcomplete.test_complete_subcommands_subapp2 _______________ self = argcomplete_on = None def test_complete_subcommands_subapp2(self, argcomplete_on): app = MainApp() try: > assert set(self.run_completer(app, "app subapp2 --")) > { "--Application.", "--SubApp2.", } app = argcomplete_on = None self = tests/config/test_argcomplete.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/config/test_argcomplete.py:127: in run_completer app.initialize() app = cm = command = 'app subapp2 --' kwargs = {} point = '14' self = strio = <_io.StringIO object at 0x7fdc1bdeb100> traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = () kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = None self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = (None,) kwargs = {} method = traitlets/config/application.py:857: in parse_command_line return self.initialize_subcommand(subc, subargv) argv = ['subapp2'] self = subargv = [] subc = 'subapp2' traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = ('subapp2', []) kwargs = {} method = traitlets/config/application.py:721: in initialize_subcommand self.subapp.initialize(argv) _ = 'Second subapp' argv = [] self = subapp = > subc = 'subapp2' val = (>, 'Second subapp') traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = ([],) kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = [] self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = ([],) kwargs = {} method = traitlets/config/application.py:881: in parse_command_line self.cli_config = deepcopy(loader.load_config()) aliases = {'log-level': 'SubApp2.log_level'} argv = [] classes = [, , ] flags = {'debug': ({'SubApp2': {'log_level': 10}}, 'Set log-level to debug, for the most verbose logging.'), 'show-config': ({...), 'show-config-json': ({'SubApp2': {'show_config_json': True}}, "Show the application's configuration (json format)")} interpreted_argv = [] loader = self = traitlets/config/loader.py:894: in load_config self._argcomplete(self.classes, self.subcommands) aliases = None argv = [] classes = None flags = self = traitlets/config/loader.py:1139: in _argcomplete finder(self.parser, **getattr(self, "_argcomplete_kwargs", {})) argcomplete = argcomplete_config = classes = [, , ] finder = self = subcommands = {} /usr/lib/python3.12/site-packages/argcomplete/finders.py:174: in __call__ completions = self._get_completions(comp_words, cword_prefix, cword_prequote, last_wordbreak_pos) always_complete_options = True append_space = None argument_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) comp_line = 'app subapp2 --' comp_point = 14 comp_words = ['subapp2'] cword_prefix = '--' cword_prequote = '' cword_suffix = '' default_completer = dfs = None exclude = None exit_method = > ifs = '\x0b' last_wordbreak_pos = None output_stream = <_io.StringIO object at 0x7fdc1bdeb100> print_suppressed = False self = start = 1 validator = None traitlets/config/argcomplete_config.py:191: in _get_completions completions = super()._get_completions(comp_words, cword_prefix, *args) # type:ignore[no-untyped-call] __class__ = args = ('', None) comp_words = ['subapp2'] cword_prefix = '--' is_option = True matched_completions = [(, '--Application.'), (, '--ArgcompleteApp.'), (, '--SubApp2.')] prefix_chars = '-' self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:223: in _get_completions completions = self.collect_completions(active_parsers, parsed_args, cword_prefix) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] comp_words = ['subapp2'] cword_prefix = '--' cword_prequote = '' last_wordbreak_pos = None parsed_args = Namespace(_flags=[]) self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:440: in collect_completions completions += self._get_option_completions(active_parser, cword_prefix) active_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] completions = [] cword_prefix = '--' parsed_args = Namespace(_flags=[]) self = traitlets/config/argcomplete_config.py:209: in _get_option_completions completions = super()._get_option_completions(parser, cword_prefix) # type:ignore[no-untyped-call] __class__ = cword_prefix = '--' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:326: in _get_option_completions if not self._action_allowed(action, parser): action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) completer = None cword_prefix = '--' option_completions = [] option_string = '--log-level' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) @staticmethod def _action_allowed(action, parser): # Logic adapted from take_action in ArgumentParser._parse_known_args # (members are saved by vendor._argparse.IntrospectiveArgumentParser) > for conflict_action in parser._action_conflicts.get(action, []): E AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no attribute '_action_conflicts' action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) /usr/lib/python3.12/site-packages/argcomplete/finders.py:336: AttributeError ________________ TestArgcomplete.test_complete_subcommands_main ________________ self = argcomplete_on = None def test_complete_subcommands_main(self, argcomplete_on): app = MainApp() > completions = set(self.run_completer(app, "app --")) app = argcomplete_on = None self = tests/config/test_argcomplete.py:218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/config/test_argcomplete.py:127: in run_completer app.initialize() app = cm = command = 'app --' kwargs = {} point = '6' self = strio = <_io.StringIO object at 0x7fdc1bde8640> traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = () kwargs = {} method = traitlets/config/application.py:465: in initialize self.parse_command_line(argv) argv = None self = traitlets/config/application.py:118: in inner return method(app, *args, **kwargs) app = args = (None,) kwargs = {} method = traitlets/config/application.py:881: in parse_command_line self.cli_config = deepcopy(loader.load_config()) aliases = {'log-level': 'MainApp.log_level'} argv = [] classes = [, , ] flags = {'debug': ({'MainApp': {'log_level': 10}}, 'Set log-level to debug, for the most verbose logging.'), 'show-config': ({...), 'show-config-json': ({'MainApp': {'show_config_json': True}}, "Show the application's configuration (json format)")} interpreted_argv = [] loader = self = traitlets/config/loader.py:894: in load_config self._argcomplete(self.classes, self.subcommands) aliases = None argv = [] classes = None flags = self = traitlets/config/loader.py:1139: in _argcomplete finder(self.parser, **getattr(self, "_argcomplete_kwargs", {})) argcomplete = argcomplete_config = classes = [, , ] finder = self = subcommands = {'subapp1': (, 'First subapp'), 'subapp2': (>, 'Second subapp')} /usr/lib/python3.12/site-packages/argcomplete/finders.py:174: in __call__ completions = self._get_completions(comp_words, cword_prefix, cword_prequote, last_wordbreak_pos) always_complete_options = True append_space = None argument_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) comp_line = 'app --' comp_point = 6 comp_words = ['app'] cword_prefix = '--' cword_prequote = '' cword_suffix = '' default_completer = dfs = None exclude = None exit_method = > ifs = '\x0b' last_wordbreak_pos = None output_stream = <_io.StringIO object at 0x7fdc1bde8640> print_suppressed = False self = start = 0 validator = None traitlets/config/argcomplete_config.py:191: in _get_completions completions = super()._get_completions(comp_words, cword_prefix, *args) # type:ignore[no-untyped-call] __class__ = args = ('', None) comp_words = ['app'] cword_prefix = '--' is_option = True matched_completions = [(, '--Application.'), (, '--ArgcompleteApp.'), (, '--MainApp.')] prefix_chars = '-' self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:223: in _get_completions completions = self.collect_completions(active_parsers, parsed_args, cword_prefix) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] comp_words = ['app'] cword_prefix = '--' cword_prequote = '' last_wordbreak_pos = None parsed_args = Namespace(_flags=[]) self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:440: in collect_completions completions += self._get_option_completions(active_parser, cword_prefix) active_parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) active_parsers = [MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)] completions = [] cword_prefix = '--' parsed_args = Namespace(_flags=[]) self = traitlets/config/argcomplete_config.py:209: in _get_option_completions completions = super()._get_option_completions(parser, cword_prefix) # type:ignore[no-untyped-call] __class__ = cword_prefix = '--' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = /usr/lib/python3.12/site-packages/argcomplete/finders.py:326: in _get_option_completions if not self._action_allowed(action, parser): action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) completer = None cword_prefix = '--' option_completions = [] option_string = '--log-level' parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) @staticmethod def _action_allowed(action, parser): # Logic adapted from take_action in ArgumentParser._parse_known_args # (members are saved by vendor._argparse.IntrospectiveArgumentParser) > for conflict_action in parser._action_conflicts.get(action, []): E AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no attribute '_action_conflicts' action = IntrospectAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None) parser = MonkeyPatchedIntrospectiveArgumentParser(prog='pytest', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) /usr/lib/python3.12/site-packages/argcomplete/finders.py:336: AttributeError =============================== warnings summary =============================== tests/_warnings.py::tests._warnings.all_warnings :2: RuntimeWarning: bar -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 21.31s call tests/test_typing.py::[mypy]mypy_decorator_typing 0.24s call tests/config/test_application.py::test_show_config_cli 0.23s call tests/config/test_application.py::test_help_all_output 0.21s call tests/config/test_application.py::test_show_config_json_cli 0.21s call tests/config/test_application.py::test_help_output 0.02s teardown tests/test_typing.py::[mypy]mypy_type_typing 0.02s call tests/config/test_loader.py::TestConfig::test_merge_multi_lazy_update_I 0.02s call tests/test_traitlets.py::TestTraitType::test_deprecated_method_warnings 0.02s call tests/config/test_loader.py::TestFileCL::test_context_manager 0.01s call tests/test_traitlets.py::TestTraitType::test_trait_types_tuple_deprecated =========================== short test summary info ============================ SKIPPED [1] ../../../../../../usr/lib/python3.12/site-packages/_pytest/doctest.py:458: all tests skipped by +SKIP option FAILED tests/config/test_argcomplete.py::TestArgcomplete::test_complete_simple_app - AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no at... FAILED tests/config/test_argcomplete.py::TestArgcomplete::test_complete_custom_completers - AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no at... FAILED tests/config/test_argcomplete.py::TestArgcomplete::test_complete_subcommands - AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no at... FAILED tests/config/test_argcomplete.py::TestArgcomplete::test_complete_subcommands_subapp1 - AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no at... FAILED tests/config/test_argcomplete.py::TestArgcomplete::test_complete_subcommands_subapp2 - AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no at... FAILED tests/config/test_argcomplete.py::TestArgcomplete::test_complete_subcommands_main - AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no at... ============= 6 failed, 581 passed, 1 skipped, 1 warning in 24.04s ============= error: Bad exit status from /home/pterjan/rpmbuild/tmp/rpm-tmp.jjKGeK (%check) RPM build errors: Bad exit status from /home/pterjan/rpmbuild/tmp/rpm-tmp.jjKGeK (%check) I: [iurt_root_command] ERROR: chroot