<86>Apr 27 09:14:32 userdel[2781169]: delete user 'rooter' <86>Apr 27 09:14:32 userdel[2781169]: removed group 'rooter' owned by 'rooter' <86>Apr 27 09:14:32 userdel[2781169]: removed shadow group 'rooter' owned by 'rooter' <86>Apr 27 09:14:32 groupadd[2781226]: group added to /etc/group: name=rooter, GID=1847 <86>Apr 27 09:14:32 groupadd[2781226]: group added to /etc/gshadow: name=rooter <86>Apr 27 09:14:32 groupadd[2781226]: new group: name=rooter, GID=1847 <86>Apr 27 09:14:32 useradd[2781268]: new user: name=rooter, UID=1847, GID=1847, home=/root, shell=/bin/bash, from=none <86>Apr 27 09:14:32 userdel[2781340]: delete user 'builder' <86>Apr 27 09:14:32 userdel[2781340]: removed group 'builder' owned by 'builder' <86>Apr 27 09:14:32 userdel[2781340]: removed shadow group 'builder' owned by 'builder' <86>Apr 27 09:14:32 groupadd[2781394]: group added to /etc/group: name=builder, GID=1848 <86>Apr 27 09:14:32 groupadd[2781394]: group added to /etc/gshadow: name=builder <86>Apr 27 09:14:32 groupadd[2781394]: new group: name=builder, GID=1848 <86>Apr 27 09:14:32 useradd[2781452]: new user: name=builder, UID=1848, GID=1848, home=/usr/src, shell=/bin/bash, from=none <13>Apr 27 09:14:35 rpmi: libmpdec3-2.5.1-alt3 sisyphus+314490.500.5.1 1675432033 installed <13>Apr 27 09:14:35 rpmi: libgdbm-1.8.3-alt10 sisyphus+278100.1600.1.1 1626059138 installed <13>Apr 27 09:14:35 rpmi: libexpat-2.5.0-alt1 sisyphus+309227.100.1.1 1667075766 installed <13>Apr 27 09:14:35 rpmi: libb2-0.98.1-alt1_1 sisyphus+291614.100.1.1 1638962878 installed <13>Apr 27 09:14:35 rpmi: libp11-kit-1:0.25.3-alt2 sisyphus+336533.100.1.1 1702645575 installed <13>Apr 27 09:14:35 rpmi: libtasn1-4.19.0-alt3 sisyphus+327816.100.1.1 1692802618 installed <13>Apr 27 09:14:35 rpmi: rpm-macros-alternatives-0.5.2-alt2 sisyphus+315270.200.2.1 1676457367 installed <13>Apr 27 09:14:35 rpmi: alternatives-0.5.2-alt2 sisyphus+315270.200.2.1 1676457367 installed <13>Apr 27 09:14:35 rpmi: ca-certificates-2024.02.24-alt1 sisyphus+341362.100.1.1 1708791001 installed <13>Apr 27 09:14:35 rpmi: ca-trust-0.2.0-alt1 sisyphus+344843.100.1.1 1712743326 installed <13>Apr 27 09:14:35 rpmi: p11-kit-trust-1:0.25.3-alt2 sisyphus+336533.100.1.1 1702645575 installed <13>Apr 27 09:14:35 rpmi: libcrypto3-3.1.5-alt2 sisyphus+343320.140.3.1 1711982452 installed <13>Apr 27 09:14:35 rpmi: libssl3-3.1.5-alt2 sisyphus+343320.140.3.1 1711982452 installed <13>Apr 27 09:14:35 rpmi: python3-3.12.2-alt1 sisyphus+341702.200.1.1 1709232959 installed <13>Apr 27 09:14:36 rpmi: python3-base-3.12.2-alt1 sisyphus+341702.200.1.1 1709232959 installed <13>Apr 27 09:14:36 rpmi: python3-module-py3dephell-0.1.0-alt2 sisyphus+328191.600.5.1 1693609196 installed <13>Apr 27 09:14:36 rpmi: python3-module-pyproject-installer-0.5.3-alt1 sisyphus+344989.100.3.1 1713974805 installed <13>Apr 27 09:14:36 rpmi: rpm-macros-pyproject-0.0.5-alt1 sisyphus+344989.500.3.1 1713974843 installed <13>Apr 27 09:14:36 rpmi: tests-for-installed-python3-pkgs-0.1.25-alt1 sisyphus+344685.100.1.1 1712595070 installed <13>Apr 27 09:14:36 rpmi: rpm-build-python3-0.1.25-alt1 sisyphus+344685.100.1.1 1712595070 installed <13>Apr 27 09:14:36 rpmi: rpm-build-pyproject-0.0.5-alt1 sisyphus+344989.500.3.1 1713974843 installed <13>Apr 27 09:14:39 rpmi: python3-module-packaging-24.0-alt1 sisyphus+342487.100.2.1 1710407438 installed <13>Apr 27 09:14:39 rpmi: python3-module-typing_extensions-4.11.0-alt2 sisyphus+345650.100.1.1 1713793625 installed <13>Apr 27 09:14:39 rpmi: python3-module-click-8.1.7-alt1 sisyphus+327424.100.2.1 1695395098 installed <13>Apr 27 09:14:39 rpmi: python3-module-natsort-8.4.0-alt2 sisyphus+339213.100.1.1 1706453992 installed <13>Apr 27 09:14:39 rpmi: python3-module-domdf-python-tools-3.8.0.post2-alt1 sisyphus+337326.100.1.1 1703662255 installed <13>Apr 27 09:14:39 rpmi: python3-module-attrs-23.2.0-alt1 sisyphus+338876.100.1.2 1706109385 installed <13>Apr 27 09:14:39 rpmi: python3-module-urllib3-2:2.2.1-alt1 sisyphus+341073.200.1.1 1708356525 installed <13>Apr 27 09:14:39 rpmi: python3-module-platformdirs-4.2.1-alt1 sisyphus+345768.100.2.1 1713977860 installed <13>Apr 27 09:14:39 rpmi: python3-module-idna-3.7-alt1 sisyphus+345659.100.1.1 1713798399 installed <13>Apr 27 09:14:39 rpmi: python3-module-apeye-core-1.1.5-alt1 sisyphus+340182.200.2.1 1707484287 installed <13>Apr 27 09:14:39 rpmi: python3-module-sdjson-0.4.0-alt2 sisyphus+320174.1240.4.1 1689945271 installed <13>Apr 27 09:14:39 rpmi: python3-module-deprecation-2.1.0-alt2 sisyphus+307624.100.1.1 1664516496 installed <13>Apr 27 09:14:39 rpmi: python3-module-deprecation-alias-0.3.2-alt1 sisyphus+326259.100.1.1 1690954481 installed <13>Apr 27 09:14:39 rpmi: python3-module-zipp-3.18.1-alt1 sisyphus+342979.100.2.1 1710837966 installed <13>Apr 27 09:14:39 rpmi: python3-module-editables-0.5-alt1 sisyphus+325524.100.1.1 1690277257 installed <13>Apr 27 09:14:39 rpmi: python3-module-tomli-2.0.1-alt2 sisyphus+305000.3300.2.1 1660575675 installed <13>Apr 27 09:14:39 rpmi: python3-module-dom-toml-2.0.0-alt1 sisyphus+344922.100.1.1 1712828221 installed <13>Apr 27 09:14:39 rpmi: python3-module-pluggy-1.5.0-alt1 sisyphus+345632.100.2.1 1713864244 installed <13>Apr 27 09:14:39 rpmi: python3-module-iniconfig-2.0.0-alt1 sisyphus+314076.200.3.1 1674737275 installed <13>Apr 27 09:14:39 rpmi: python3-module-pytest-8.0.2-alt1 sisyphus+341429.100.2.1 1709025013 installed <13>Apr 27 09:14:39 rpmi: python3-module-pytest-datadir-1.5.0-alt1 sisyphus+330926.100.1.1 1696404893 installed <13>Apr 27 09:14:39 rpmi: python3-module-ruamel-yaml-0.18.5-alt1 sisyphus+339392.100.1.1 1706614902 installed <13>Apr 27 09:14:39 rpmi: python3-module-msgpack-1.0.7-alt1 sisyphus+340996.100.2.1 1708285631 installed <13>Apr 27 09:14:39 rpmi: python3-module-charset-normalizer-2.1.1-alt1 sisyphus+311047.100.1.1 1669992940 installed <13>Apr 27 09:14:39 rpmi: python3-module-requests-2.31.0-alt1 sisyphus+321663.100.2.1 1684917021 installed <13>Apr 27 09:14:39 rpmi: python3-module-cachecontrol-0.14.0-alt1 sisyphus+339611.100.1.1 1706868856 installed <13>Apr 27 09:14:39 rpmi: python3-module-Pygments-2.17.2-alt1 sisyphus+334864.100.2.1 1701773787 installed <13>Apr 27 09:14:39 rpmi: python3-module-mistletoe-1.3.0-alt1 sisyphus+340456.100.1.1 1707727223 installed <13>Apr 27 09:14:39 rpmi: libyaml2-0.2.5-alt1 sisyphus+278391.100.1.1 1626094932 installed <13>Apr 27 09:14:39 rpmi: python3-module-yaml-6.0.1-alt1.1 sisyphus+333513.45640.73.1 1704640302 installed <13>Apr 27 09:14:39 rpmi: python3-module-pytest-regressions-2.5.0-alt3 sisyphus+337017.100.1.1 1703225022 installed <13>Apr 27 09:14:39 rpmi: python3-module-coincidence-0.6.6-alt1 sisyphus+342029.100.1.1 1709628632 installed <13>Apr 27 09:14:39 rpmi: python3-module-consolekit-1.7.0-alt1 sisyphus+344096.100.1.1 1711961785 installed <13>Apr 27 09:14:39 rpmi: python3-module-handy-archives-0.2.0-alt1.1 sisyphus+339276.100.1.1 1706530801 installed <13>Apr 27 09:14:39 rpmi: python3-module-dist-meta-0.8.0-alt1 sisyphus+320174.454.4.1 1689945022 installed <13>Apr 27 09:14:39 rpmi: python3-module-apeye-1.4.1-alt1 sisyphus+327436.100.1.1 1692359012 installed <13>Apr 27 09:14:39 rpmi: python3-module-shippinglabel-1.7.1-alt1 sisyphus+340454.100.1.1 1707726849 installed <13>Apr 27 09:14:39 rpmi: python3-module-pyproject-parser-0.11.0-alt1 sisyphus+344922.200.1.1 1712828260 installed <13>Apr 27 09:14:39 rpmi: python3-module-whey-0.1.0-alt1 sisyphus+344922.300.1.1 1712828288 installed <13>Apr 27 09:14:39 rpmi: python3-module-pytest-randomly-3.15.0-alt1 sisyphus+327307.200.1.1 1692263387 installed <13>Apr 27 09:14:39 rpmi: python3-module-pytest-rerunfailures-14.0-alt1 sisyphus+344262.100.1.1 1712135421 installed <13>Apr 27 09:14:39 rpmi: python3-module-pytest-timeout-2.3.1-alt1 sisyphus+342480.100.2.1 1710234858 installed <13>Apr 27 09:14:39 rpmi: python3-module-importlib-metadata-7.1.0-alt1 sisyphus+343253.100.1.1 1711017097 installed <13>Apr 27 09:14:39 rpmi: python3-module-pytz-1:2023.3.post1-alt1 sisyphus+335112.100.1.1 1700900843 installed Building target platforms: i586 Building for target i586 Wrote: /usr/src/in/nosrpm/python3-module-sdjson-0.4.0-alt2.nosrc.rpm (w1.gzdio) Installing python3-module-sdjson-0.4.0-alt2.src.rpm Building target platforms: i586 Building for target i586 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.53512 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf python3-module-sdjson-0.4.0 + echo 'Source #0 (python3-module-sdjson-0.4.0.tar):' Source #0 (python3-module-sdjson-0.4.0.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/python3-module-sdjson-0.4.0.tar + cd python3-module-sdjson-0.4.0 + /bin/chmod -c -Rf u+rwX,go-w . + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show pep518 + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify pep518 + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show pep517 + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify pep517 + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show metadata + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify metadata INFO : Building metadata INFO : Building metadata with prepare_metadata_for_build_wheel INFO : Source tree: /usr/src/RPM/BUILD/python3-module-sdjson-0.4.0 INFO : Output dir: /usr/src/tmp/tmppue03idr INFO : Fallback to building metadata with build_wheel INFO : Source tree: /usr/src/RPM/BUILD/python3-module-sdjson-0.4.0 INFO : Output dir: /usr/src/tmp/tmp7t1ikg9g + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show check + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify check + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.62943 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-sdjson-0.4.0 + export 'CFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export 'CXXFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export 'FFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + /usr/bin/python3 -m pyproject_installer -v build INFO : pyproject_installer.build_cmd._build : Building wheel INFO : pyproject_installer.build_cmd._build : Source tree: /usr/src/RPM/BUILD/python3-module-sdjson-0.4.0 INFO : pyproject_installer.build_cmd._build : Output dir: /usr/src/RPM/BUILD/python3-module-sdjson-0.4.0/dist DEBUG : pyproject_installer.lib.build_backend : Validating source path DEBUG : pyproject_installer.lib.build_backend : Checking for PEP517 spec DEBUG : pyproject_installer.lib.build_backend : Parsing configuration file: /usr/src/RPM/BUILD/python3-module-sdjson-0.4.0/pyproject.toml INFO : backend_caller.py : Calling hook build_wheel in subprocess INFO : backend_caller.py : Build backend: whey INFO : backend_caller.py : Hook args: ['/usr/src/RPM/BUILD/python3-module-sdjson-0.4.0/dist'] INFO : backend_caller.py : Hook kwargs: {'config_settings': None} Copying /usr/src/RPM/BUILD/python3-module-sdjson-0.4.0/sdjson/py.typed -> sdjson/py.typed Copying /usr/src/RPM/BUILD/python3-module-sdjson-0.4.0/sdjson/__init__.py -> sdjson/__init__.py Copying /usr/src/RPM/BUILD/python3-module-sdjson-0.4.0/sdjson/__init__.pyi -> sdjson/__init__.pyi Writing sdjson-0.4.0.dist-info/LICENSE Writing sdjson-0.4.0.dist-info/entry_points.txt Writing sdjson-0.4.0.dist-info/METADATA Writing sdjson-0.4.0.dist-info/WHEEL Writing sdjson-0.4.0.dist-info/RECORD Wheel created at /usr/src/RPM/BUILD/python3-module-sdjson-0.4.0/dist/sdjson-0.4.0-py3-none-any.whl INFO : pyproject_installer.build_cmd._build : Built wheel: sdjson-0.4.0-py3-none-any.whl + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.98411 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-sdjson-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python3-module-sdjson-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/usr/bin:/bin:/usr/local/bin:/usr/games + cd python3-module-sdjson-0.4.0 + /usr/bin/python3 -m pyproject_installer -v install --destdir=/usr/src/tmp/python3-module-sdjson-buildroot INFO : pyproject_installer.install_cmd._install : Installing wheel INFO : pyproject_installer.install_cmd._install : Wheel directory: /usr/src/RPM/BUILD/python3-module-sdjson-0.4.0/dist INFO : pyproject_installer.install_cmd._install : Wheel filename: sdjson-0.4.0-py3-none-any.whl INFO : pyproject_installer.install_cmd._install : Destination: /usr/src/tmp/python3-module-sdjson-buildroot DEBUG : pyproject_installer.lib.wheel : Parsing wheel filename DEBUG : pyproject_installer.lib.wheel : Validating wheel file DEBUG : pyproject_installer.lib.wheel : Validating wheel spec version DEBUG : pyproject_installer.lib.wheel : Parsing wheel spec metadata DEBUG : pyproject_installer.lib.wheel : Validating RECORD INFO : pyproject_installer.install_cmd._install : Wheel installation root: /usr/src/tmp/python3-module-sdjson-buildroot/usr/lib/python3/site-packages INFO : pyproject_installer.install_cmd._install : Extracting wheel DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: sdjson-0.4.0.dist-info/LICENSE DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: sdjson-0.4.0.dist-info/WHEEL DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: sdjson-0.4.0.dist-info/RECORD INFO : pyproject_installer.install_cmd._install : Generating entrypoints scripts INFO : pyproject_installer.install_cmd._install : Wheel was installed + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python3-module-sdjson-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python3-module-sdjson-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/python3-module-sdjson-buildroot/ (default) Compressing files in /usr/src/tmp/python3-module-sdjson-buildroot (auto) Adjusting library links in /usr/src/tmp/python3-module-sdjson-buildroot ./usr/lib: (from :0) Verifying ELF objects in /usr/src/tmp/python3-module-sdjson-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Splitting links to aliased files under /{,s}bin in /usr/src/tmp/python3-module-sdjson-buildroot Bytecompiling python3 modules in /usr/src/tmp/python3-module-sdjson-buildroot using /usr/bin/python3 compile /usr/src/tmp/python3-module-sdjson-buildroot/usr/lib/python3/site-packages/sdjson/__init__.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python3-module-sdjson-buildroot using /usr/bin/python3 -O compile /usr/src/tmp/python3-module-sdjson-buildroot/usr/lib/python3/site-packages/sdjson/__init__.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python3-module-sdjson-buildroot using /usr/bin/python3 -OO compile /usr/src/tmp/python3-module-sdjson-buildroot/usr/lib/python3/site-packages/sdjson/__init__.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-312.pyc' Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.98411 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-sdjson-0.4.0 + export 'CFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export 'CXXFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export 'FFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export NO_INTERNET=YES + NO_INTERNET=YES + /usr/bin/python3 -m pyproject_installer run -- python3 -m pytest -vra -k 'not test_protocols.py' INFO : Creating venv INFO : Installing console scripts INFO : Installing package: /usr/src/RPM/BUILD/python3-module-sdjson-0.4.0/dist/sdjson-0.4.0-py3-none-any.whl INFO : Running command: ['/usr/src/RPM/BUILD/python3-module-sdjson-0.4.0/.run_venv/bin/python3', '-m', 'pyproject_installer', 'install', '/usr/src/RPM/BUILD/python3-module-sdjson-0.4.0/dist/sdjson-0.4.0-py3-none-any.whl'] INFO : Running command: ['python3', '-m', 'pytest', '-vra', '-k', 'not test_protocols.py'] ============================= test session starts ============================== platform linux -- Python 3.12.2, pytest-8.0.2, pluggy-1.5.0 -- /usr/src/RPM/BUILD/python3-module-sdjson-0.4.0/.run_venv/bin/python3 cachedir: .pytest_cache Using --randomly-seed=1650201804 Test session started at 09:14:45 rootdir: /usr/src/RPM/BUILD/python3-module-sdjson-0.4.0 configfile: tox.ini plugins: timeout-2.3.1, rerunfailures-14.0, randomly-3.15.0, regressions-2.5.0, datadir-1.5.0 timeout: 300.0s timeout method: signal timeout func_only: False collecting ... collected 155 items / 1 deselected / 154 selected tests/test_unregister.py::test_unregister PASSED [ 0%] tests/test_overloading.py::test_overloading PASSED [ 1%] tests/stdlib_tests/test_float.py::test_allow_nan PASSED [ 1%] tests/stdlib_tests/test_float.py::test_out_of_range PASSED [ 2%] tests/stdlib_tests/test_float.py::test_ints PASSED [ 3%] tests/stdlib_tests/test_float.py::test_floats PASSED [ 3%] tests/stdlib_tests/test_encode_basestring_ascii.py::test_sorted_dict PASSED [ 4%] tests/stdlib_tests/test_encode_basestring_ascii.py::test_ordered_dict PASSED [ 5%] tests/stdlib_tests/test_dump.py::test_encode_truefalse[data1-{"false": 1, "2": 3.0, "4.0": 5, "6": true}] PASSED [ 5%] tests/stdlib_tests/test_dump.py::test_dump PASSED [ 6%] tests/stdlib_tests/test_dump.py::test_encode_evil_dict PASSED [ 7%] tests/stdlib_tests/test_dump.py::test_encode_mutated PASSED [ 7%] tests/stdlib_tests/test_dump.py::test_dumps PASSED [ 8%] tests/stdlib_tests/test_dump.py::test_encode_truefalse[data0-{"false": true, "true": false}] PASSED [ 9%] tests/stdlib_tests/test_dump.py::test_dump_skipkeys PASSED [ 9%] tests/test_load.py::test_tuple_failure XFAIL [ 10%] tests/test_load.py::test_write_then_read[tuple] PASSED [ 11%] tests/test_load.py::test_write_then_read[dict] PASSED [ 11%] tests/test_load.py::test_int[-1234] PASSED [ 12%] tests/test_load.py::test_int[12340000000] PASSED [ 12%] tests/test_load.py::test_float[12340000000.0] PASSED [ 13%] tests/test_load.py::test_float[-1234.0] PASSED [ 14%] tests/test_load.py::test_float[-12340000000.0] PASSED [ 14%] tests/test_load.py::test_write_then_read[list] PASSED [ 15%] tests/test_load.py::test_float[1.0] PASSED [ 16%] tests/test_load.py::test_write_then_read[egg and bacon-egg and bacon] PASSED [ 16%] tests/test_load.py::test_float[1234.005] PASSED [ 17%] tests/test_load.py::test_float[-12340000000.005] PASSED [ 18%] tests/test_load.py::test_float[-1.005] PASSED [ 18%] tests/test_load.py::test_int[-1] PASSED [ 19%] tests/test_load.py::test_write_then_read[egg bacon and spam-egg bacon and spam] PASSED [ 20%] tests/test_load.py::test_write_then_read[egg sausage and bacon-egg sausage and bacon] PASSED [ 20%] tests/test_load.py::test_float[-1.0] PASSED [ 21%] tests/test_load.py::test_write_then_read[egg and spam-egg and spam] PASSED [ 22%] tests/test_load.py::test_int[-12340000000] PASSED [ 22%] tests/test_load.py::test_dict_failure[dictionary1] XFAIL [ 23%] tests/test_load.py::test_bools PASSED [ 24%] tests/test_load.py::test_float[1.005] PASSED [ 24%] tests/test_load.py::test_float[12340000000.005] PASSED [ 25%] tests/test_load.py::test_dict_failure[dictionary0] XFAIL [ 25%] tests/test_load.py::test_none PASSED [ 26%] tests/test_load.py::test_float[1234.0] PASSED [ 27%] tests/test_load.py::test_float[-1234.005] PASSED [ 27%] tests/test_load.py::test_int[1] PASSED [ 28%] tests/test_load.py::test_int[1234] PASSED [ 29%] tests/stdlib_tests/test_decode.py::test_decoder_optimizations PASSED [ 29%] tests/stdlib_tests/test_decode.py::test_keys_reuse PASSED [ 30%] tests/stdlib_tests/test_decode.py::test_invalid_input_type PASSED [ 31%] tests/stdlib_tests/test_decode.py::test_invalid_escape PASSED [ 31%] tests/stdlib_tests/test_decode.py::test_string_with_utf8_bom PASSED [ 32%] tests/stdlib_tests/test_decode.py::test_object_pairs_hook PASSED [ 33%] tests/stdlib_tests/test_decode.py::test_negative_index PASSED [ 33%] tests/stdlib_tests/test_decode.py::test_float PASSED [ 34%] tests/stdlib_tests/test_decode.py::test_empty_objects PASSED [ 35%] tests/stdlib_tests/test_decode.py::test_decimal PASSED [ 35%] tests/stdlib_tests/test_decode.py::test_extra_data PASSED [ 36%] tests/stdlib_tests/test_separators.py::test_separators PASSED [ 37%] tests/stdlib_tests/test_separators.py::test_illegal_separators PASSED [ 37%] tests/stdlib_tests/test_fail.py::test_unexpected_data[{,-Expecting property name enclosed in double quotes-1] PASSED [ 38%] tests/stdlib_tests/test_fail.py::test_truncated_input[-Expecting value-0] PASSED [ 38%] tests/stdlib_tests/test_fail.py::test_extra_data["spam",42-Extra data-6] PASSED [ 39%] tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam":42,}-Expecting property name enclosed in double quotes-11] PASSED [ 40%] tests/stdlib_tests/test_fail.py::test_truncated_input[{"spam":42,-Expecting property name enclosed in double quotes-11] PASSED [ 40%] tests/stdlib_tests/test_fail.py::test_linecol[\n!-2-1-1] PASSED [ 41%] tests/stdlib_tests/test_fail.py::test_unexpected_data[["spam",]-Expecting value-8] PASSED [ 42%] tests/stdlib_tests/test_fail.py::test_unexpected_data[[{"spam":]-Expecting value-9] PASSED [ 42%] tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam":}-Expecting value-8] PASSED [ 43%] tests/stdlib_tests/test_fail.py::test_unexpected_data[[42,]-Expecting value-4] PASSED [ 44%] tests/stdlib_tests/test_fail.py::test_unexpected_data[["]-Unterminated string starting at-1] PASSED [ 44%] tests/stdlib_tests/test_fail.py::test_truncated_input[[-Expecting value-1] PASSED [ 45%] tests/stdlib_tests/test_fail.py::test_extra_data[{},{}-Extra data-2] PASSED [ 46%] tests/stdlib_tests/test_fail.py::test_truncated_input[["spam-Unterminated string starting at-1] PASSED [ 46%] tests/stdlib_tests/test_fail.py::test_extra_data[[]]-Extra data-2] PASSED [ 47%] tests/stdlib_tests/test_fail.py::test_unexpected_data[[42 "spam"-Expecting ',' delimiter-4] PASSED [ 48%] tests/stdlib_tests/test_fail.py::test_unexpected_data[{:-Expecting property name enclosed in double quotes-1] PASSED [ 48%] tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam":[}-Expecting value-9] PASSED [ 49%] tests/stdlib_tests/test_fail.py::test_unexpected_data[[,-Expecting value-1] PASSED [ 50%] tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam"}-Expecting ':' delimiter-7] PASSED [ 50%] tests/stdlib_tests/test_fail.py::test_truncated_input[["-Unterminated string starting at-1] PASSED [ 51%] tests/stdlib_tests/test_fail.py::test_extra_data[[],[]-Extra data-2] PASSED [ 51%] tests/stdlib_tests/test_fail.py::test_linecol[ !-1-2-1] PASSED [ 52%] tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam":[42}-Expecting ',' delimiter-11] PASSED [ 53%] tests/stdlib_tests/test_fail.py::test_unexpected_data[["spam":-Expecting ',' delimiter-7] PASSED [ 53%] tests/stdlib_tests/test_fail.py::test_extra_data[{}}-Extra data-2] PASSED [ 54%] tests/stdlib_tests/test_fail.py::test_truncated_input[{"spam-Unterminated string starting at-1] PASSED [ 55%] tests/stdlib_tests/test_fail.py::test_linecol[!-1-1-0] PASSED [ 55%] tests/stdlib_tests/test_fail.py::test_truncated_input[["spam"-Expecting ',' delimiter-7] PASSED [ 56%] tests/stdlib_tests/test_fail.py::test_truncated_input[{"spam":-Expecting value-8] PASSED [ 57%] tests/stdlib_tests/test_fail.py::test_unexpected_data[[{"spam":42]-Expecting ',' delimiter-11] PASSED [ 57%] tests/stdlib_tests/test_fail.py::test_truncated_input[{"spam":42-Expecting ',' delimiter-10] PASSED [ 58%] tests/stdlib_tests/test_fail.py::test_truncated_input[{"-Unterminated string starting at-1] PASSED [ 59%] tests/stdlib_tests/test_fail.py::test_truncated_input["-Unterminated string starting at-0] PASSED [ 59%] tests/stdlib_tests/test_fail.py::test_truncated_input["spam-Unterminated string starting at-0] PASSED [ 60%] tests/stdlib_tests/test_fail.py::test_truncated_input[[42,-Expecting value-4] PASSED [ 61%] tests/stdlib_tests/test_fail.py::test_truncated_input[{"spam"-Expecting ':' delimiter-7] PASSED [ 61%] tests/stdlib_tests/test_fail.py::test_unexpected_data[[{"spam"]-Expecting ':' delimiter-8] PASSED [ 62%] tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam":42 "ham"-Expecting ',' delimiter-11] PASSED [ 62%] tests/stdlib_tests/test_fail.py::test_truncated_input[["spam",-Expecting value-8] PASSED [ 63%] tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam",-Expecting ':' delimiter-7] PASSED [ 64%] tests/stdlib_tests/test_fail.py::test_failures PASSED [ 64%] tests/stdlib_tests/test_fail.py::test_unexpected_data[{42-Expecting property name enclosed in double quotes-1] PASSED [ 65%] tests/stdlib_tests/test_fail.py::test_truncated_input[[42-Expecting ',' delimiter-3] PASSED [ 66%] tests/stdlib_tests/test_fail.py::test_unexpected_data[[42:-Expecting ',' delimiter-3] PASSED [ 66%] tests/stdlib_tests/test_fail.py::test_non_string_keys_dict PASSED [ 67%] tests/stdlib_tests/test_fail.py::test_truncated_input[{-Expecting property name enclosed in double quotes-1] PASSED [ 68%] tests/stdlib_tests/test_fail.py::test_unexpected_data[[{]-Expecting property name enclosed in double quotes-2] PASSED [ 68%] tests/stdlib_tests/test_fail.py::test_extra_data[42,"spam"-Extra data-2] PASSED [ 69%] tests/stdlib_tests/test_fail.py::test_not_serializable PASSED [ 70%] tests/stdlib_tests/test_fail.py::test_linecol[\n \n\n !-4-6-10] PASSED [ 70%] tests/stdlib_tests/test_enum.py::test_dict_keys PASSED [ 71%] tests/stdlib_tests/test_enum.py::test_ints PASSED [ 72%] tests/stdlib_tests/test_enum.py::test_dict_values PASSED [ 72%] tests/stdlib_tests/test_enum.py::test_floats PASSED [ 73%] tests/stdlib_tests/test_enum.py::test_list PASSED [ 74%] tests/stdlib_tests/test_enum.py::test_weird_floats PASSED [ 74%] tests/test_custom_class.py::test_custom_class PASSED [ 75%] tests/stdlib_tests/test_indent.py::test_indent0 PASSED [ 75%] tests/stdlib_tests/test_indent.py::test_indent PASSED [ 76%] tests/stdlib_tests/test_passes.py::test_parse_pass_2 PASSED [ 77%] tests/stdlib_tests/test_passes.py::test_parse_pass_1 PASSED [ 77%] tests/stdlib_tests/test_passes.py::test_parse_pass_3 PASSED [ 78%] tests/stdlib_tests/test_recursion.py::test_listrecursion PASSED [ 79%] tests/stdlib_tests/test_recursion.py::test_highly_nested_objects_decoding PASSED [ 79%] tests/stdlib_tests/test_recursion.py::test_highly_nested_objects_encoding PASSED [ 80%] tests/stdlib_tests/test_recursion.py::test_dictrecursion PASSED [ 81%] tests/stdlib_tests/test_recursion.py::test_endless_recursion PASSED [ 81%] tests/stdlib_tests/test_recursion.py::test_defaultrecursion PASSED [ 82%] tests/stdlib_tests/test_unicode.py::test_encoding4 PASSED [ 83%] tests/stdlib_tests/test_unicode.py::test_big_unicode_encode PASSED [ 83%] tests/stdlib_tests/test_unicode.py::test_encoding5 PASSED [ 84%] tests/stdlib_tests/test_unicode.py::test_encoding3 PASSED [ 85%] tests/stdlib_tests/test_unicode.py::test_bytes_decode PASSED [ 85%] tests/stdlib_tests/test_unicode.py::test_unicode_decode PASSED [ 86%] tests/stdlib_tests/test_unicode.py::test_big_unicode_decode PASSED [ 87%] tests/stdlib_tests/test_unicode.py::test_encoding6 PASSED [ 87%] tests/stdlib_tests/test_unicode.py::test_bytes_encode PASSED [ 88%] tests/stdlib_tests/test_unicode.py::test_object_pairs_hook_with_unicode PASSED [ 88%] tests/stdlib_tests/test_unicode.py::test_unicode_preservation PASSED [ 89%] tests/test_multiple_files.py::test_multiple_files PASSED [ 90%] tests/test_custom_encoders.py::test_decimal_float PASSED [ 90%] tests/test_custom_encoders.py::test_time_str PASSED [ 91%] tests/test_custom_encoders.py::test_date_str PASSED [ 92%] tests/test_custom_encoders.py::test_timedelta_float PASSED [ 92%] tests/test_custom_encoders.py::test_named_tuple XFAIL (Not implement...) [ 93%] tests/test_custom_encoders.py::test_fraction_float PASSED [ 94%] tests/test_custom_encoders.py::test_datetime_tuple PASSED [ 94%] tests/test_custom_encoders.py::test_decimal_str PASSED [ 95%] tests/test_custom_encoders.py::test_datetime_str PASSED [ 96%] tests/test_custom_encoders.py::test_time_tuple PASSED [ 96%] tests/test_custom_encoders.py::test_time_float PASSED [ 97%] tests/test_custom_encoders.py::test_datetime_float PASSED [ 98%] tests/test_custom_encoders.py::test_fraction_str PASSED [ 98%] tests/test_custom_encoders.py::test_date_tuple PASSED [ 99%] tests/stdlib_tests/test_default.py::test_default PASSED [100%] ================================== XFAILURES =================================== ______________________________ test_tuple_failure ______________________________ tmp_pathplus = PosixPathPlus('/usr/src/tmp/pytest-of-builder/pytest-0/test_tuple_failure0') @pytest.mark.xfail def test_tuple_failure(tmp_pathplus: PathPlus) -> None:  """  This test will fail because the tuple gets loaded back in as a list  """  > assert write_then_read((True, False, 1, 2.5, "spam"), tmp_pathplus) == (True, False, 1, 2.5, "spam") E AssertionError: assert [True, False, 1, 2.5, 'spam'] == (True, False, 1, 2.5, 'spam') E  E Full diff: E - ( E + [ E   True, E   False, E   1,... E  E ...Full output truncated (4 lines hidden), use '-vv' to show tests/test_load.py:110: AssertionError ________________________ test_dict_failure[dictionary1] ________________________ tmp_pathplus = PosixPathPlus('/usr/src/tmp/pytest-of-builder/pytest-0/test_dict_failure_dictionary1_0') dictionary = {False: 1, 2: 3.0, 4.0: 5, 6: True} @pytest.mark.xfail @pytest.mark.parametrize("dictionary", [ {True: False, False: True}, {2: 3.0, 4.0: 5, False: 1, 6: True}, ]) def test_dict_failure(tmp_pathplus: PathPlus, dictionary: Dict) -> None:  """  This test will fail because the boolean dictionary keys get read back in a lowercase strings  """  > assert write_then_read(dictionary, tmp_pathplus) == dictionary E AssertionError: assert {'2': 3.0, '4...e, 'false': 1} == {False: 1, 2:...0: 5, 6: True} E  E Left contains 4 more items: E {'2': 3.0, '4.0': 5, '6': True, 'false': 1} E Right contains 4 more items: E {False: 1, 2: 3.0, 4.0: 5, 6: True} E  E Full diff:... E  E ...Full output truncated (13 lines hidden), use '-vv' to show tests/test_load.py:101: AssertionError ________________________ test_dict_failure[dictionary0] ________________________ tmp_pathplus = PosixPathPlus('/usr/src/tmp/pytest-of-builder/pytest-0/test_dict_failure_dictionary0_0') dictionary = {False: True, True: False} @pytest.mark.xfail @pytest.mark.parametrize("dictionary", [ {True: False, False: True}, {2: 3.0, 4.0: 5, False: 1, 6: True}, ]) def test_dict_failure(tmp_pathplus: PathPlus, dictionary: Dict) -> None:  """  This test will fail because the boolean dictionary keys get read back in a lowercase strings  """  > assert write_then_read(dictionary, tmp_pathplus) == dictionary E AssertionError: assert {'false': True, 'true': False} == {False: True, True: False} E  E Left contains 2 more items: E {'false': True, 'true': False} E Right contains 2 more items: E {False: True, True: False} E  E Full diff:... E  E ...Full output truncated (10 lines hidden), use '-vv' to show tests/test_load.py:101: AssertionError _______________________________ test_named_tuple _______________________________ @pytest.mark.xfail(reason="Not implemented in CPython yet.") def test_named_tuple() -> None: # Ref: https://bugs.python.org/issue30343 # https://github.com/python/cpython/pull/1558  Student = collections.namedtuple("Student", "name, age, teacher")  try:  @sdjson.encoders.register(Student) def encode_student(obj): return { "name": obj.name, "age": obj.age, "teacher": obj.teacher, }  > assert sdjson.dumps(Student("Alice", 12, "Sue")) == '{"name": "Alice", "age": 12, "teacher": "Sue"}' E assert '["Alice", 12, "Sue"]' == '{"name": "Al...cher": "Sue"}' E  E - {"name": "Alice", "age": 12, "teacher": "Sue"} E + ["Alice", 12, "Sue"] tests/test_custom_encoders.py:218: AssertionError ============================= slowest 25 durations ============================= 0.09s call tests/stdlib_tests/test_unicode.py::test_unicode_decode 0.05s call tests/stdlib_tests/test_recursion.py::test_highly_nested_objects_encoding 0.04s call tests/test_load.py::test_dict_failure[dictionary1] 0.04s call tests/test_load.py::test_tuple_failure (21 durations < 0.005s hidden. Use -vv to show these durations.) =========================== short test summary info ============================ XFAIL tests/test_load.py::test_tuple_failure XFAIL tests/test_load.py::test_dict_failure[dictionary1] XFAIL tests/test_load.py::test_dict_failure[dictionary0] XFAIL tests/test_custom_encoders.py::test_named_tuple - Not implemented in CPython yet. ================= 150 passed, 1 deselected, 4 xfailed in 0.56s ================= INFO : Command's result: OK + exit 0 Processing files: python3-module-sdjson-0.4.0-alt2 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.55736 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-sdjson-0.4.0 + DOCDIR=/usr/src/tmp/python3-module-sdjson-buildroot/usr/share/doc/python3-module-sdjson-0.4.0 + export DOCDIR + rm -rf /usr/src/tmp/python3-module-sdjson-buildroot/usr/share/doc/python3-module-sdjson-0.4.0 + /bin/mkdir -p /usr/src/tmp/python3-module-sdjson-buildroot/usr/share/doc/python3-module-sdjson-0.4.0 + cp -prL LICENSE README.rst /usr/src/tmp/python3-module-sdjson-buildroot/usr/share/doc/python3-module-sdjson-0.4.0 + chmod -R go-w /usr/src/tmp/python3-module-sdjson-buildroot/usr/share/doc/python3-module-sdjson-0.4.0 + chmod -R a+rX /usr/src/tmp/python3-module-sdjson-buildroot/usr/share/doc/python3-module-sdjson-0.4.0 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.Z5KkMg find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.BxzrWo find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) py3prov: detected potential module:sdjson py3prov: detected potential module:sdjson py3req:/usr/src/tmp/python3-module-sdjson-buildroot/usr/lib/python3/site-packages/sdjson/__init__.py: skipping "sys" lines:[117] py3req:/usr/src/tmp/python3-module-sdjson-buildroot/usr/lib/python3/site-packages/sdjson/__init__.py: "typing_extensions" lines:[[126]]: Ignore for REQ:slight py3req:/usr/src/tmp/python3-module-sdjson-buildroot/usr/lib/python3/site-packages/sdjson/__init__.py: "typing" lines:[[129]]: Ignore for REQ:slight Provides: python3(sdjson) Requires: python3-module-domdf-python-tools, python3-module-typing-extensions, /usr/lib/python3/site-packages, python3(domdf_python_tools.doctools) < 0, python3(functools) < 0, python3(json) < 0, python3(typing) < 0 Wrote: /usr/src/RPM/RPMS/noarch/python3-module-sdjson-0.4.0-alt2.noarch.rpm (w2.lzdio) 3.77user 0.86system 0:06.30elapsed 73%CPU (0avgtext+0avgdata 42980maxresident)k 0inputs+0outputs (0major+163454minor)pagefaults 0swaps 4.75user 2.80system 0:20.60elapsed 36%CPU (0avgtext+0avgdata 133440maxresident)k 1352inputs+0outputs (0major+282719minor)pagefaults 0swaps --- python3-module-sdjson-0.4.0-alt2.noarch.rpm.repo 2023-07-21 13:14:32.000000000 +0000 +++ python3-module-sdjson-0.4.0-alt2.noarch.rpm.hasher 2024-04-27 09:14:49.301293528 +0000 @@ -7,5 +7,5 @@ /usr/lib/python3/site-packages/sdjson/__pycache__ 40755 root:root -/usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-311.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-311.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-311.pyc 100644 root:root +/usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-312.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-312.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-312.pyc 100644 root:root /usr/lib/python3/site-packages/sdjson/py.typed 100644 root:root @@ -26,3 +26,3 @@ File: /usr/lib/python3/site-packages/sdjson-0.4.0.dist-info 40755 root:root -File: /usr/lib/python3/site-packages/sdjson-0.4.0.dist-info/METADATA 100644 root:root 79d69a46b0c969fc8ceb86fc14dc2870 +File: /usr/lib/python3/site-packages/sdjson-0.4.0.dist-info/METADATA 100644 root:root 7f90504c453e17ab2b085cb34cf528d7 File: /usr/lib/python3/site-packages/sdjson-0.4.0.dist-info/entry_points.txt 100644 root:root @@ -31,5 +31,5 @@ File: /usr/lib/python3/site-packages/sdjson/__pycache__ 40755 root:root -File: /usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-311.opt-1.pyc 100644 root:root d0e7de7a40ce2360217064edaf410d68 -File: /usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-311.opt-2.pyc 100644 root:root b3e9fc0cea88836cb1af1372cac03dd5 -File: /usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-311.pyc 100644 root:root d0e7de7a40ce2360217064edaf410d68 +File: /usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-312.opt-1.pyc 100644 root:root f959628175c643878941de6ed68cf69e +File: /usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-312.opt-2.pyc 100644 root:root d30263bf2346a1cefff70c3375e13cd0 +File: /usr/lib/python3/site-packages/sdjson/__pycache__/__init__.cpython-312.pyc 100644 root:root f959628175c643878941de6ed68cf69e File: /usr/lib/python3/site-packages/sdjson/py.typed 100644 root:root @@ -38,2 +38,2 @@ File: /usr/share/doc/python3-module-sdjson-0.4.0/README.rst 100644 root:root 4bd87d981b3614c018af4393075df90b -RPMIdentity: ee76423873ebfed56970b084c05aa062283f361d7bc52aaaa261089cf97aa64732c2c0bbd9c0ca3526495a56a1716987d347942d82e1b303766caa2c0c75c623 +RPMIdentity: 331316b6a531baf63659ff3793701307717ddf41b9930561e1bf789b7f854c21eb12a9158f8b56648ba2a266c5266c1b17db84bb4c99a38c9471f2ee3a60df8e