>>> rbtools: Checking sanity of /home/patrycja/aports/community/rbtools/APKBUILD... >>> rbtools: Cleaning up srcdir >>> rbtools: Cleaning up pkgdir >>> rbtools: Cleaning up tmpdir >>> rbtools: Fetching https://files.pythonhosted.org/packages/source/R/RBTools/RBTools-4.1.tar.gz >>> rbtools: Fetching https://files.pythonhosted.org/packages/source/R/RBTools/RBTools-4.1.tar.gz >>> rbtools: Checking sha512sums... RBTools-4.1.tar.gz: OK fix-tests.patch: OK >>> rbtools: Preparing build chroot... (1/126) Installing musl (1.2.5-r0) (2/126) Installing ca-certificates-bundle (20240226-r0) (3/126) Installing libcrypto3 (3.2.1-r2) (4/126) Installing libssl3 (3.2.1-r2) (5/126) Installing zlib (1.3.1-r0) (6/126) Installing apk-tools (2.14.3-r1) (7/126) Installing libattr (2.5.2-r0) (8/126) Installing attr (2.5.2-r0) (9/126) Installing libcap2 (2.69-r1) (10/126) Installing libcap-getcap (2.69-r1) (11/126) Installing fakeroot (1.33-r0) (12/126) Installing scanelf (1.3.7-r2) (13/126) Installing musl-utils (1.2.5-r0) (14/126) Installing libgcc (13.2.1_git20240309-r0) (15/126) Installing libstdc++ (13.2.1_git20240309-r0) (16/126) Installing lzip (1.24.1-r0) (17/126) Installing openssl (3.2.1-r2) (18/126) Installing patch (2.7.6-r10) (19/126) Installing pkgconf (2.2.0-r0) (20/126) Installing libacl (2.3.2-r0) (21/126) Installing tar (1.35-r2) (22/126) Installing busybox (1.36.1-r25) Executing busybox-1.36.1-r25.post-install (23/126) Installing ssl_client (1.36.1-r25) (24/126) Installing busybox-binsh (1.36.1-r25) (25/126) Installing abuild (3.12.0-r5) Executing abuild-3.12.0-r5.pre-install (26/126) Installing abuild-sudo (3.12.0-r5) (27/126) Installing alpine-baselayout-data (3.6.3-r0) (28/126) Installing alpine-baselayout (3.6.3-r0) Executing alpine-baselayout-3.6.3-r0.pre-install Executing alpine-baselayout-3.6.3-r0.post-install (29/126) Installing ifupdown-ng (0.12.1-r5) (30/126) Installing openrc (0.54-r1) Executing openrc-0.54-r1.post-install (31/126) Installing mdev-conf (4.6-r0) (32/126) Installing busybox-mdev-openrc (1.36.1-r25) (33/126) Installing alpine-conf (3.17.2-r0) (34/126) Installing alpine-keys (2.4-r1) (35/126) Installing alpine-release (3.20.0_alpha20240329-r0) (36/126) Installing busybox-openrc (1.36.1-r25) (37/126) Installing busybox-suid (1.36.1-r25) (38/126) Installing alpine-base (3.20.0_alpha20240329-r0) (39/126) Installing jansson (2.14-r4) (40/126) Installing zstd-libs (1.5.6-r0) (41/126) Installing binutils (2.42-r0) (42/126) Installing libmagic (5.45-r1) (43/126) Installing file (5.45-r1) (44/126) Installing libgomp (13.2.1_git20240309-r0) (45/126) Installing libatomic (13.2.1_git20240309-r0) (46/126) Installing gmp (6.3.0-r0) (47/126) Installing isl26 (0.26-r1) (48/126) Installing mpfr4 (4.2.1-r0) (49/126) Installing mpc1 (1.3.1-r1) (50/126) Installing gcc (13.2.1_git20240309-r0) (51/126) Installing libstdc++-dev (13.2.1_git20240309-r0) (52/126) Installing musl-dev (1.2.5-r0) (53/126) Installing g++ (13.2.1_git20240309-r0) (54/126) Installing make (4.4.1-r2) (55/126) Installing fortify-headers (1.1-r3) (56/126) Installing build-base (0.5-r3) (57/126) Installing hiredis (1.2.0-r0) (58/126) Installing libxxhash (0.8.2-r2) (59/126) Installing ccache (4.9.1-r0) (60/126) Installing ca-certificates (20240226-r0) (61/126) Installing brotli-libs (1.1.0-r2) (62/126) Installing c-ares (1.28.1-r0) (63/126) Installing libunistring (1.2-r0) (64/126) Installing libidn2 (2.3.7-r0) (65/126) Installing nghttp2-libs (1.61.0-r0) (66/126) Installing libpsl (0.21.5-r1) (67/126) Installing libcurl (8.7.1-r0) (68/126) Installing libexpat (2.6.2-r0) (69/126) Installing pcre2 (10.43-r0) (70/126) Installing git (2.44.0-r2) (71/126) Installing git-init-template (2.44.0-r2) (72/126) Installing libbz2 (1.0.8-r6) (73/126) Installing libffi (3.4.6-r0) (74/126) Installing gdbm (1.23-r1) (75/126) Installing xz-libs (5.6.1-r2) (76/126) Installing mpdecimal (4.0.0-r0) (77/126) Installing ncurses-terminfo-base (6.4_p20240309-r0) (78/126) Installing libncursesw (6.4_p20240309-r0) (79/126) Installing libpanelw (6.4_p20240309-r0) (80/126) Installing readline (8.2.10-r0) (81/126) Installing sqlite-libs (3.45.2-r0) (82/126) Installing python3 (3.12.2-r0) (83/126) Installing python3-pycache-pyc0 (3.12.2-r0) (84/126) Installing pyc (3.12.2-r0) (85/126) Installing mercurial-pyc (6.7.2-r1) (86/126) Installing python3-pyc (3.12.2-r0) (87/126) Installing mercurial (6.7.2-r1) (88/126) Installing py3-certifi (2024.2.2-r1) (89/126) Installing py3-certifi-pyc (2024.2.2-r1) (90/126) Installing py3-colorama (0.4.6-r5) (91/126) Installing py3-colorama-pyc (0.4.6-r5) (92/126) Installing py3-installer (0.7.0-r2) (93/126) Installing py3-installer-pyc (0.7.0-r2) (94/126) Installing py3-gpep517 (15-r2) (95/126) Installing py3-gpep517-pyc (15-r2) (96/126) Installing py3-kgb (7.1.1-r3) (97/126) Installing py3-kgb-pyc (7.1.1-r3) (98/126) Installing py3-iniconfig (2.0.0-r1) (99/126) Installing py3-iniconfig-pyc (2.0.0-r1) (100/126) Installing py3-parsing (3.1.2-r1) (101/126) Installing py3-parsing-pyc (3.1.2-r1) (102/126) Installing py3-packaging (24.0-r1) (103/126) Installing py3-packaging-pyc (24.0-r1) (104/126) Installing py3-pluggy (1.4.0-r1) (105/126) Installing py3-pluggy-pyc (1.4.0-r1) (106/126) Installing py3-py (1.11.0-r3) (107/126) Installing py3-py-pyc (1.11.0-r3) (108/126) Installing py3-pytest (8.1.1-r1) (109/126) Installing py3-pytest-pyc (8.1.1-r1) (110/126) Installing py3-pytest-env (1.1.3-r1) (111/126) Installing py3-pytest-env-pyc (1.1.3-r1) (112/126) Installing py3-setuptools (69.2.0-r1) (113/126) Installing py3-setuptools-pyc (69.2.0-r1) (114/126) Installing py3-texttable (1.7.0-r1) (115/126) Installing py3-texttable-pyc (1.7.0-r1) (116/126) Installing py3-tqdm (4.66.2-r2) (117/126) Installing py3-tqdm-pyc (4.66.2-r2) (118/126) Installing py3-typing-extensions (4.11.0-r1) (119/126) Installing py3-typing-extensions-pyc (4.11.0-r1) (120/126) Installing py3-wheel (0.42.0-r1) (121/126) Installing py3-wheel-pyc (0.42.0-r1) (122/126) Installing py3-six (1.16.0-r9) (123/126) Installing py3-six-pyc (1.16.0-r9) (124/126) Installing pydiffx (1.1-r3) (125/126) Installing pydiffx-pyc (1.1-r3) (126/126) Installing tini (0.19.0-r3) Executing busybox-1.36.1-r25.trigger Executing ca-certificates-20240226-r0.trigger OK: 320 MiB in 126 packages >>> rbtools: Fetching https://files.pythonhosted.org/packages/source/R/RBTools/RBTools-4.1.tar.gz >>> rbtools: Checking sha512sums... RBTools-4.1.tar.gz: OK fix-tests.patch: OK >>> rbtools: Unpacking /var/cache/distfiles/RBTools-4.1.tar.gz... >>> rbtools: fix-tests.patch patching file rbtools/commands/tests/test_main.py 2024-04-11 10:08:25,278 gpep517 INFO Building wheel via backend setuptools.build_meta:__legacy__ 2024-04-11 10:08:25,348 root INFO running bdist_wheel 2024-04-11 10:08:25,360 root INFO running build 2024-04-11 10:08:25,360 root INFO running build_py 2024-04-11 10:08:25,363 root INFO creating build 2024-04-11 10:08:25,363 root INFO creating build/lib 2024-04-11 10:08:25,363 root INFO creating build/lib/rbtools 2024-04-11 10:08:25,363 root INFO copying rbtools/tests.py -> build/lib/rbtools 2024-04-11 10:08:25,363 root INFO copying rbtools/deprecation.py -> build/lib/rbtools 2024-04-11 10:08:25,363 root INFO copying rbtools/__init__.py -> build/lib/rbtools 2024-04-11 10:08:25,364 root INFO creating build/lib/rbtools/helpers 2024-04-11 10:08:25,364 root INFO copying rbtools/helpers/__init__.py -> build/lib/rbtools/helpers 2024-04-11 10:08:25,364 root INFO copying rbtools/helpers/hgext.py -> build/lib/rbtools/helpers 2024-04-11 10:08:25,364 root INFO creating build/lib/rbtools/commands 2024-04-11 10:08:25,364 root INFO copying rbtools/commands/stamp.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,364 root INFO copying rbtools/commands/status_update.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,364 root INFO copying rbtools/commands/logout.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,365 root INFO copying rbtools/commands/api_get.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,365 root INFO copying rbtools/commands/attach.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,365 root INFO copying rbtools/commands/close.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,365 root INFO copying rbtools/commands/post.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,365 root INFO copying rbtools/commands/patch.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,366 root INFO copying rbtools/commands/status.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,366 root INFO copying rbtools/commands/install.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,366 root INFO copying rbtools/commands/info.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,366 root INFO copying rbtools/commands/clearcache.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,366 root INFO copying rbtools/commands/review.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,366 root INFO copying rbtools/commands/main.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,366 root INFO copying rbtools/commands/diff.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,367 root INFO copying rbtools/commands/land.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,367 root INFO copying rbtools/commands/alias.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,367 root INFO copying rbtools/commands/__init__.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,367 root INFO copying rbtools/commands/setup_repo.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,367 root INFO copying rbtools/commands/login.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,367 root INFO copying rbtools/commands/list_repo_types.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,368 root INFO copying rbtools/commands/publish.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,368 root INFO copying rbtools/commands/setup_completion.py -> build/lib/rbtools/commands 2024-04-11 10:08:25,368 root INFO creating build/lib/rbtools/hooks 2024-04-11 10:08:25,368 root INFO copying rbtools/hooks/git.py -> build/lib/rbtools/hooks 2024-04-11 10:08:25,368 root INFO copying rbtools/hooks/common.py -> build/lib/rbtools/hooks 2024-04-11 10:08:25,368 root INFO copying rbtools/hooks/__init__.py -> build/lib/rbtools/hooks 2024-04-11 10:08:25,368 root INFO creating build/lib/rbtools/diffs 2024-04-11 10:08:25,368 root INFO copying rbtools/diffs/writers.py -> build/lib/rbtools/diffs 2024-04-11 10:08:25,369 root INFO copying rbtools/diffs/__init__.py -> build/lib/rbtools/diffs 2024-04-11 10:08:25,369 root INFO creating build/lib/rbtools/utils 2024-04-11 10:08:25,369 root INFO copying rbtools/utils/diffs.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,369 root INFO copying rbtools/utils/streams.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,369 root INFO copying rbtools/utils/filesystem.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,369 root INFO copying rbtools/utils/appdirs.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,369 root INFO copying rbtools/utils/graphs.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,370 root INFO copying rbtools/utils/match_score.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,370 root INFO copying rbtools/utils/aliases.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,370 root INFO copying rbtools/utils/source_tree.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,370 root INFO copying rbtools/utils/users.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,370 root INFO copying rbtools/utils/repository.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,370 root INFO copying rbtools/utils/encoding.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,370 root INFO copying rbtools/utils/console.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,370 root INFO copying rbtools/utils/commands.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,370 root INFO copying rbtools/utils/testbase.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,370 root INFO copying rbtools/utils/checks.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,371 root INFO copying rbtools/utils/__init__.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,371 root INFO copying rbtools/utils/process.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,371 root INFO copying rbtools/utils/errors.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,371 root INFO copying rbtools/utils/review_request.py -> build/lib/rbtools/utils 2024-04-11 10:08:25,371 root INFO creating build/lib/rbtools/api 2024-04-11 10:08:25,371 root INFO copying rbtools/api/capabilities.py -> build/lib/rbtools/api 2024-04-11 10:08:25,371 root INFO copying rbtools/api/decorators.py -> build/lib/rbtools/api 2024-04-11 10:08:25,371 root INFO copying rbtools/api/utils.py -> build/lib/rbtools/api 2024-04-11 10:08:25,372 root INFO copying rbtools/api/factory.py -> build/lib/rbtools/api 2024-04-11 10:08:25,372 root INFO copying rbtools/api/decode.py -> build/lib/rbtools/api 2024-04-11 10:08:25,372 root INFO copying rbtools/api/request.py -> build/lib/rbtools/api 2024-04-11 10:08:25,372 root INFO copying rbtools/api/client.py -> build/lib/rbtools/api 2024-04-11 10:08:25,372 root INFO copying rbtools/api/__init__.py -> build/lib/rbtools/api 2024-04-11 10:08:25,372 root INFO copying rbtools/api/resource.py -> build/lib/rbtools/api 2024-04-11 10:08:25,372 root INFO copying rbtools/api/errors.py -> build/lib/rbtools/api 2024-04-11 10:08:25,372 root INFO copying rbtools/api/cache.py -> build/lib/rbtools/api 2024-04-11 10:08:25,373 root INFO creating build/lib/rbtools/testing 2024-04-11 10:08:25,373 root INFO copying rbtools/testing/testcase.py -> build/lib/rbtools/testing 2024-04-11 10:08:25,373 root INFO copying rbtools/testing/transport.py -> build/lib/rbtools/testing 2024-04-11 10:08:25,373 root INFO copying rbtools/testing/commands.py -> build/lib/rbtools/testing 2024-04-11 10:08:25,373 root INFO copying rbtools/testing/__init__.py -> build/lib/rbtools/testing 2024-04-11 10:08:25,373 root INFO creating build/lib/rbtools/clients 2024-04-11 10:08:25,373 root INFO copying rbtools/clients/cvs.py -> build/lib/rbtools/clients 2024-04-11 10:08:25,374 root INFO copying rbtools/clients/mercurial.py -> build/lib/rbtools/clients 2024-04-11 10:08:25,374 root INFO copying rbtools/clients/git.py -> build/lib/rbtools/clients 2024-04-11 10:08:25,374 root INFO copying rbtools/clients/tfs.py -> build/lib/rbtools/clients 2024-04-11 10:08:25,374 root INFO copying rbtools/clients/clearcase.py -> build/lib/rbtools/clients 2024-04-11 10:08:25,374 root INFO copying rbtools/clients/svn.py -> build/lib/rbtools/clients 2024-04-11 10:08:25,375 root INFO copying rbtools/clients/perforce.py -> build/lib/rbtools/clients 2024-04-11 10:08:25,375 root INFO copying rbtools/clients/sos.py -> build/lib/rbtools/clients 2024-04-11 10:08:25,375 root INFO copying rbtools/clients/plastic.py -> build/lib/rbtools/clients 2024-04-11 10:08:25,375 root INFO copying rbtools/clients/bazaar.py -> build/lib/rbtools/clients 2024-04-11 10:08:25,375 root INFO copying rbtools/clients/__init__.py -> build/lib/rbtools/clients 2024-04-11 10:08:25,376 root INFO copying rbtools/clients/errors.py -> build/lib/rbtools/clients 2024-04-11 10:08:25,376 root INFO creating build/lib/rbtools/commands/tests 2024-04-11 10:08:25,376 root INFO copying rbtools/commands/tests/test_alias.py -> build/lib/rbtools/commands/tests 2024-04-11 10:08:25,376 root INFO copying rbtools/commands/tests/test_main.py -> build/lib/rbtools/commands/tests 2024-04-11 10:08:25,376 root INFO copying rbtools/commands/tests/test_post.py -> build/lib/rbtools/commands/tests 2024-04-11 10:08:25,377 root INFO copying rbtools/commands/tests/__init__.py -> build/lib/rbtools/commands/tests 2024-04-11 10:08:25,377 root INFO copying rbtools/commands/tests/test_setup_repo.py -> build/lib/rbtools/commands/tests 2024-04-11 10:08:25,377 root INFO creating build/lib/rbtools/diffs/tests 2024-04-11 10:08:25,377 root INFO copying rbtools/diffs/tests/test_apple_diff_tool.py -> build/lib/rbtools/diffs/tests 2024-04-11 10:08:25,377 root INFO copying rbtools/diffs/tests/test_diff_file_result.py -> build/lib/rbtools/diffs/tests 2024-04-11 10:08:25,377 root INFO copying rbtools/diffs/tests/test_gnu_diff_tool.py -> build/lib/rbtools/diffs/tests 2024-04-11 10:08:25,378 root INFO copying rbtools/diffs/tests/__init__.py -> build/lib/rbtools/diffs/tests 2024-04-11 10:08:25,378 root INFO copying rbtools/diffs/tests/test_diff_tools_registry.py -> build/lib/rbtools/diffs/tests 2024-04-11 10:08:25,378 root INFO copying rbtools/diffs/tests/test_unified_diff_writer.py -> build/lib/rbtools/diffs/tests 2024-04-11 10:08:25,378 root INFO creating build/lib/rbtools/diffs/tools 2024-04-11 10:08:25,378 root INFO copying rbtools/diffs/tools/registry.py -> build/lib/rbtools/diffs/tools 2024-04-11 10:08:25,379 root INFO copying rbtools/diffs/tools/__init__.py -> build/lib/rbtools/diffs/tools 2024-04-11 10:08:25,379 root INFO copying rbtools/diffs/tools/errors.py -> build/lib/rbtools/diffs/tools 2024-04-11 10:08:25,379 root INFO creating build/lib/rbtools/diffs/tools/backends 2024-04-11 10:08:25,379 root INFO copying rbtools/diffs/tools/backends/apple.py -> build/lib/rbtools/diffs/tools/backends 2024-04-11 10:08:25,379 root INFO copying rbtools/diffs/tools/backends/gnu.py -> build/lib/rbtools/diffs/tools/backends 2024-04-11 10:08:25,379 root INFO copying rbtools/diffs/tools/backends/__init__.py -> build/lib/rbtools/diffs/tools/backends 2024-04-11 10:08:25,380 root INFO creating build/lib/rbtools/diffs/tools/base 2024-04-11 10:08:25,380 root INFO copying rbtools/diffs/tools/base/diff_tool.py -> build/lib/rbtools/diffs/tools/base 2024-04-11 10:08:25,380 root INFO copying rbtools/diffs/tools/base/__init__.py -> build/lib/rbtools/diffs/tools/base 2024-04-11 10:08:25,380 root INFO copying rbtools/diffs/tools/base/diff_file_result.py -> build/lib/rbtools/diffs/tools/base 2024-04-11 10:08:25,380 root INFO creating build/lib/rbtools/utils/tests 2024-04-11 10:08:25,381 root INFO copying rbtools/utils/tests/test_repository.py -> build/lib/rbtools/utils/tests 2024-04-11 10:08:25,381 root INFO copying rbtools/utils/tests/test_buffered_iterator.py -> build/lib/rbtools/utils/tests 2024-04-11 10:08:25,381 root INFO copying rbtools/utils/tests/test_filesystem.py -> build/lib/rbtools/utils/tests 2024-04-11 10:08:25,381 root INFO copying rbtools/utils/tests/test_console.py -> build/lib/rbtools/utils/tests 2024-04-11 10:08:25,381 root INFO copying rbtools/utils/tests/test_aliases.py -> build/lib/rbtools/utils/tests 2024-04-11 10:08:25,381 root INFO copying rbtools/utils/tests/test_checks.py -> build/lib/rbtools/utils/tests 2024-04-11 10:08:25,382 root INFO copying rbtools/utils/tests/__init__.py -> build/lib/rbtools/utils/tests 2024-04-11 10:08:25,382 root INFO copying rbtools/utils/tests/test_source_tree.py -> build/lib/rbtools/utils/tests 2024-04-11 10:08:25,382 root INFO copying rbtools/utils/tests/test_review_request.py -> build/lib/rbtools/utils/tests 2024-04-11 10:08:25,382 root INFO copying rbtools/utils/tests/test_process.py -> build/lib/rbtools/utils/tests 2024-04-11 10:08:25,382 root INFO creating build/lib/rbtools/api/transport 2024-04-11 10:08:25,382 root INFO copying rbtools/api/transport/sync.py -> build/lib/rbtools/api/transport 2024-04-11 10:08:25,383 root INFO copying rbtools/api/transport/__init__.py -> build/lib/rbtools/api/transport 2024-04-11 10:08:25,383 root INFO creating build/lib/rbtools/api/tests 2024-04-11 10:08:25,383 root INFO copying rbtools/api/tests/base.py -> build/lib/rbtools/api/tests 2024-04-11 10:08:25,383 root INFO copying rbtools/api/tests/test_errors.py -> build/lib/rbtools/api/tests 2024-04-11 10:08:25,383 root INFO copying rbtools/api/tests/test_factory.py -> build/lib/rbtools/api/tests 2024-04-11 10:08:25,384 root INFO copying rbtools/api/tests/test_capabilities.py -> build/lib/rbtools/api/tests 2024-04-11 10:08:25,384 root INFO copying rbtools/api/tests/test_http_request.py -> build/lib/rbtools/api/tests 2024-04-11 10:08:25,384 root INFO copying rbtools/api/tests/__init__.py -> build/lib/rbtools/api/tests 2024-04-11 10:08:25,384 root INFO copying rbtools/api/tests/test_resource.py -> build/lib/rbtools/api/tests 2024-04-11 10:08:25,384 root INFO creating build/lib/rbtools/testing/api 2024-04-11 10:08:25,384 root INFO copying rbtools/testing/api/transport.py -> build/lib/rbtools/testing/api 2024-04-11 10:08:25,384 root INFO copying rbtools/testing/api/__init__.py -> build/lib/rbtools/testing/api 2024-04-11 10:08:25,385 root INFO copying rbtools/testing/api/payloads.py -> build/lib/rbtools/testing/api 2024-04-11 10:08:25,385 root INFO creating build/lib/rbtools/clients/tests 2024-04-11 10:08:25,385 root INFO copying rbtools/clients/tests/test_scmclient_registry.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,385 root INFO copying rbtools/clients/tests/test_clearcase.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,385 root INFO copying rbtools/clients/tests/test_plastic.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,386 root INFO copying rbtools/clients/tests/test_bzr.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,386 root INFO copying rbtools/clients/tests/test_mercurial.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,386 root INFO copying rbtools/clients/tests/test_git.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,386 root INFO copying rbtools/clients/tests/test_cvs.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,386 root INFO copying rbtools/clients/tests/test_tfs.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,386 root INFO copying rbtools/clients/tests/test_p4.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,387 root INFO copying rbtools/clients/tests/__init__.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,387 root INFO copying rbtools/clients/tests/test_scanning.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,387 root INFO copying rbtools/clients/tests/test_base_scmclient.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,387 root INFO copying rbtools/clients/tests/test_sos.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,387 root INFO copying rbtools/clients/tests/test_svn.py -> build/lib/rbtools/clients/tests 2024-04-11 10:08:25,388 root INFO creating build/lib/rbtools/clients/base 2024-04-11 10:08:25,388 root INFO copying rbtools/clients/base/patch.py -> build/lib/rbtools/clients/base 2024-04-11 10:08:25,388 root INFO copying rbtools/clients/base/registry.py -> build/lib/rbtools/clients/base 2024-04-11 10:08:25,388 root INFO copying rbtools/clients/base/scmclient.py -> build/lib/rbtools/clients/base 2024-04-11 10:08:25,388 root INFO copying rbtools/clients/base/repository.py -> build/lib/rbtools/clients/base 2024-04-11 10:08:25,388 root INFO copying rbtools/clients/base/__init__.py -> build/lib/rbtools/clients/base 2024-04-11 10:08:25,389 root INFO running egg_info 2024-04-11 10:08:25,391 root INFO writing RBTools.egg-info/PKG-INFO 2024-04-11 10:08:25,392 root INFO writing dependency_links to RBTools.egg-info/dependency_links.txt 2024-04-11 10:08:25,392 root INFO writing entry points to RBTools.egg-info/entry_points.txt 2024-04-11 10:08:25,393 root INFO writing requirements to RBTools.egg-info/requires.txt 2024-04-11 10:08:25,393 root INFO writing top-level names to RBTools.egg-info/top_level.txt 2024-04-11 10:08:25,399 root INFO reading manifest file 'RBTools.egg-info/SOURCES.txt' 2024-04-11 10:08:25,400 root INFO reading manifest template 'MANIFEST.in' 2024-04-11 10:08:25,400 root WARNING warning: no files found matching '*.txt' under directory 'contrib' 2024-04-11 10:08:25,401 root WARNING warning: no files found matching 'ez_setup.py' 2024-04-11 10:08:25,401 root INFO adding license file 'COPYING' 2024-04-11 10:08:25,401 root INFO adding license file 'AUTHORS' 2024-04-11 10:08:25,403 root INFO writing manifest file 'RBTools.egg-info/SOURCES.txt' /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:207: _Warning: Package 'rbtools.commands.conf' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rbtools.commands.conf' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rbtools.commands.conf' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rbtools.commands.conf' to be distributed and are already explicitly excluding 'rbtools.commands.conf' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) 2024-04-11 10:08:25,404 root INFO creating build/lib/rbtools/commands/conf 2024-04-11 10:08:25,404 root INFO copying rbtools/commands/conf/_rbt-zsh-completion -> build/lib/rbtools/commands/conf 2024-04-11 10:08:25,405 root INFO copying rbtools/commands/conf/rbt-bash-completion -> build/lib/rbtools/commands/conf 2024-04-11 10:08:25,409 wheel INFO installing to build/bdist.linux-x86_64/wheel 2024-04-11 10:08:25,409 root INFO running install 2024-04-11 10:08:25,415 root INFO running install_lib 2024-04-11 10:08:25,417 root INFO creating build/bdist.linux-x86_64 2024-04-11 10:08:25,417 root INFO creating build/bdist.linux-x86_64/wheel 2024-04-11 10:08:25,417 root INFO creating build/bdist.linux-x86_64/wheel/rbtools 2024-04-11 10:08:25,417 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/helpers 2024-04-11 10:08:25,417 root INFO copying build/lib/rbtools/helpers/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/helpers 2024-04-11 10:08:25,417 root INFO copying build/lib/rbtools/helpers/hgext.py -> build/bdist.linux-x86_64/wheel/rbtools/helpers 2024-04-11 10:08:25,417 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,417 root INFO copying build/lib/rbtools/commands/stamp.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,417 root INFO copying build/lib/rbtools/commands/status_update.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,418 root INFO copying build/lib/rbtools/commands/logout.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,418 root INFO copying build/lib/rbtools/commands/api_get.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,418 root INFO copying build/lib/rbtools/commands/attach.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,418 root INFO copying build/lib/rbtools/commands/close.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,418 root INFO copying build/lib/rbtools/commands/post.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,418 root INFO copying build/lib/rbtools/commands/patch.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,418 root INFO copying build/lib/rbtools/commands/status.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,418 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/commands/tests 2024-04-11 10:08:25,418 root INFO copying build/lib/rbtools/commands/tests/test_alias.py -> build/bdist.linux-x86_64/wheel/rbtools/commands/tests 2024-04-11 10:08:25,418 root INFO copying build/lib/rbtools/commands/tests/test_main.py -> build/bdist.linux-x86_64/wheel/rbtools/commands/tests 2024-04-11 10:08:25,419 root INFO copying build/lib/rbtools/commands/tests/test_post.py -> build/bdist.linux-x86_64/wheel/rbtools/commands/tests 2024-04-11 10:08:25,419 root INFO copying build/lib/rbtools/commands/tests/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/commands/tests 2024-04-11 10:08:25,419 root INFO copying build/lib/rbtools/commands/tests/test_setup_repo.py -> build/bdist.linux-x86_64/wheel/rbtools/commands/tests 2024-04-11 10:08:25,419 root INFO copying build/lib/rbtools/commands/install.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,419 root INFO copying build/lib/rbtools/commands/info.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,419 root INFO copying build/lib/rbtools/commands/clearcache.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,419 root INFO copying build/lib/rbtools/commands/review.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,419 root INFO copying build/lib/rbtools/commands/main.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,419 root INFO copying build/lib/rbtools/commands/diff.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,419 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/commands/conf 2024-04-11 10:08:25,420 root INFO copying build/lib/rbtools/commands/conf/rbt-bash-completion -> build/bdist.linux-x86_64/wheel/rbtools/commands/conf 2024-04-11 10:08:25,420 root INFO copying build/lib/rbtools/commands/conf/_rbt-zsh-completion -> build/bdist.linux-x86_64/wheel/rbtools/commands/conf 2024-04-11 10:08:25,420 root INFO copying build/lib/rbtools/commands/land.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,420 root INFO copying build/lib/rbtools/commands/alias.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,420 root INFO copying build/lib/rbtools/commands/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,420 root INFO copying build/lib/rbtools/commands/setup_repo.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,420 root INFO copying build/lib/rbtools/commands/login.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,420 root INFO copying build/lib/rbtools/commands/list_repo_types.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,420 root INFO copying build/lib/rbtools/commands/publish.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,420 root INFO copying build/lib/rbtools/commands/setup_completion.py -> build/bdist.linux-x86_64/wheel/rbtools/commands 2024-04-11 10:08:25,421 root INFO copying build/lib/rbtools/tests.py -> build/bdist.linux-x86_64/wheel/rbtools 2024-04-11 10:08:25,421 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/hooks 2024-04-11 10:08:25,421 root INFO copying build/lib/rbtools/hooks/git.py -> build/bdist.linux-x86_64/wheel/rbtools/hooks 2024-04-11 10:08:25,421 root INFO copying build/lib/rbtools/hooks/common.py -> build/bdist.linux-x86_64/wheel/rbtools/hooks 2024-04-11 10:08:25,421 root INFO copying build/lib/rbtools/hooks/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/hooks 2024-04-11 10:08:25,421 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/diffs 2024-04-11 10:08:25,421 root INFO copying build/lib/rbtools/diffs/writers.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs 2024-04-11 10:08:25,421 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/diffs/tests 2024-04-11 10:08:25,421 root INFO copying build/lib/rbtools/diffs/tests/test_apple_diff_tool.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tests 2024-04-11 10:08:25,421 root INFO copying build/lib/rbtools/diffs/tests/test_diff_file_result.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tests 2024-04-11 10:08:25,422 root INFO copying build/lib/rbtools/diffs/tests/test_gnu_diff_tool.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tests 2024-04-11 10:08:25,422 root INFO copying build/lib/rbtools/diffs/tests/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tests 2024-04-11 10:08:25,422 root INFO copying build/lib/rbtools/diffs/tests/test_diff_tools_registry.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tests 2024-04-11 10:08:25,422 root INFO copying build/lib/rbtools/diffs/tests/test_unified_diff_writer.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tests 2024-04-11 10:08:25,422 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/diffs/tools 2024-04-11 10:08:25,422 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/diffs/tools/backends 2024-04-11 10:08:25,422 root INFO copying build/lib/rbtools/diffs/tools/backends/apple.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tools/backends 2024-04-11 10:08:25,422 root INFO copying build/lib/rbtools/diffs/tools/backends/gnu.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tools/backends 2024-04-11 10:08:25,422 root INFO copying build/lib/rbtools/diffs/tools/backends/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tools/backends 2024-04-11 10:08:25,422 root INFO copying build/lib/rbtools/diffs/tools/registry.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tools 2024-04-11 10:08:25,423 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/diffs/tools/base 2024-04-11 10:08:25,423 root INFO copying build/lib/rbtools/diffs/tools/base/diff_tool.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tools/base 2024-04-11 10:08:25,423 root INFO copying build/lib/rbtools/diffs/tools/base/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tools/base 2024-04-11 10:08:25,423 root INFO copying build/lib/rbtools/diffs/tools/base/diff_file_result.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tools/base 2024-04-11 10:08:25,423 root INFO copying build/lib/rbtools/diffs/tools/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tools 2024-04-11 10:08:25,423 root INFO copying build/lib/rbtools/diffs/tools/errors.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs/tools 2024-04-11 10:08:25,423 root INFO copying build/lib/rbtools/diffs/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/diffs 2024-04-11 10:08:25,423 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,423 root INFO copying build/lib/rbtools/utils/diffs.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,423 root INFO copying build/lib/rbtools/utils/streams.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,423 root INFO copying build/lib/rbtools/utils/filesystem.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,424 root INFO copying build/lib/rbtools/utils/appdirs.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,424 root INFO copying build/lib/rbtools/utils/graphs.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,424 root INFO copying build/lib/rbtools/utils/match_score.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,424 root INFO copying build/lib/rbtools/utils/aliases.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,424 root INFO copying build/lib/rbtools/utils/source_tree.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,424 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/utils/tests 2024-04-11 10:08:25,424 root INFO copying build/lib/rbtools/utils/tests/test_repository.py -> build/bdist.linux-x86_64/wheel/rbtools/utils/tests 2024-04-11 10:08:25,424 root INFO copying build/lib/rbtools/utils/tests/test_buffered_iterator.py -> build/bdist.linux-x86_64/wheel/rbtools/utils/tests 2024-04-11 10:08:25,424 root INFO copying build/lib/rbtools/utils/tests/test_filesystem.py -> build/bdist.linux-x86_64/wheel/rbtools/utils/tests 2024-04-11 10:08:25,424 root INFO copying build/lib/rbtools/utils/tests/test_console.py -> build/bdist.linux-x86_64/wheel/rbtools/utils/tests 2024-04-11 10:08:25,425 root INFO copying build/lib/rbtools/utils/tests/test_aliases.py -> build/bdist.linux-x86_64/wheel/rbtools/utils/tests 2024-04-11 10:08:25,425 root INFO copying build/lib/rbtools/utils/tests/test_checks.py -> build/bdist.linux-x86_64/wheel/rbtools/utils/tests 2024-04-11 10:08:25,425 root INFO copying build/lib/rbtools/utils/tests/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/utils/tests 2024-04-11 10:08:25,425 root INFO copying build/lib/rbtools/utils/tests/test_source_tree.py -> build/bdist.linux-x86_64/wheel/rbtools/utils/tests 2024-04-11 10:08:25,425 root INFO copying build/lib/rbtools/utils/tests/test_review_request.py -> build/bdist.linux-x86_64/wheel/rbtools/utils/tests 2024-04-11 10:08:25,425 root INFO copying build/lib/rbtools/utils/tests/test_process.py -> build/bdist.linux-x86_64/wheel/rbtools/utils/tests 2024-04-11 10:08:25,425 root INFO copying build/lib/rbtools/utils/users.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,425 root INFO copying build/lib/rbtools/utils/repository.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,425 root INFO copying build/lib/rbtools/utils/encoding.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,425 root INFO copying build/lib/rbtools/utils/console.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,426 root INFO copying build/lib/rbtools/utils/commands.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,426 root INFO copying build/lib/rbtools/utils/testbase.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,426 root INFO copying build/lib/rbtools/utils/checks.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,426 root INFO copying build/lib/rbtools/utils/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,426 root INFO copying build/lib/rbtools/utils/process.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,426 root INFO copying build/lib/rbtools/utils/errors.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,426 root INFO copying build/lib/rbtools/utils/review_request.py -> build/bdist.linux-x86_64/wheel/rbtools/utils 2024-04-11 10:08:25,426 root INFO copying build/lib/rbtools/deprecation.py -> build/bdist.linux-x86_64/wheel/rbtools 2024-04-11 10:08:25,426 root INFO copying build/lib/rbtools/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools 2024-04-11 10:08:25,426 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/api 2024-04-11 10:08:25,427 root INFO copying build/lib/rbtools/api/capabilities.py -> build/bdist.linux-x86_64/wheel/rbtools/api 2024-04-11 10:08:25,427 root INFO copying build/lib/rbtools/api/decorators.py -> build/bdist.linux-x86_64/wheel/rbtools/api 2024-04-11 10:08:25,427 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/api/transport 2024-04-11 10:08:25,427 root INFO copying build/lib/rbtools/api/transport/sync.py -> build/bdist.linux-x86_64/wheel/rbtools/api/transport 2024-04-11 10:08:25,427 root INFO copying build/lib/rbtools/api/transport/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/api/transport 2024-04-11 10:08:25,427 root INFO copying build/lib/rbtools/api/utils.py -> build/bdist.linux-x86_64/wheel/rbtools/api 2024-04-11 10:08:25,427 root INFO copying build/lib/rbtools/api/factory.py -> build/bdist.linux-x86_64/wheel/rbtools/api 2024-04-11 10:08:25,427 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/api/tests 2024-04-11 10:08:25,427 root INFO copying build/lib/rbtools/api/tests/base.py -> build/bdist.linux-x86_64/wheel/rbtools/api/tests 2024-04-11 10:08:25,427 root INFO copying build/lib/rbtools/api/tests/test_errors.py -> build/bdist.linux-x86_64/wheel/rbtools/api/tests 2024-04-11 10:08:25,428 root INFO copying build/lib/rbtools/api/tests/test_factory.py -> build/bdist.linux-x86_64/wheel/rbtools/api/tests 2024-04-11 10:08:25,428 root INFO copying build/lib/rbtools/api/tests/test_capabilities.py -> build/bdist.linux-x86_64/wheel/rbtools/api/tests 2024-04-11 10:08:25,428 root INFO copying build/lib/rbtools/api/tests/test_http_request.py -> build/bdist.linux-x86_64/wheel/rbtools/api/tests 2024-04-11 10:08:25,428 root INFO copying build/lib/rbtools/api/tests/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/api/tests 2024-04-11 10:08:25,428 root INFO copying build/lib/rbtools/api/tests/test_resource.py -> build/bdist.linux-x86_64/wheel/rbtools/api/tests 2024-04-11 10:08:25,428 root INFO copying build/lib/rbtools/api/decode.py -> build/bdist.linux-x86_64/wheel/rbtools/api 2024-04-11 10:08:25,428 root INFO copying build/lib/rbtools/api/request.py -> build/bdist.linux-x86_64/wheel/rbtools/api 2024-04-11 10:08:25,428 root INFO copying build/lib/rbtools/api/client.py -> build/bdist.linux-x86_64/wheel/rbtools/api 2024-04-11 10:08:25,428 root INFO copying build/lib/rbtools/api/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/api 2024-04-11 10:08:25,428 root INFO copying build/lib/rbtools/api/resource.py -> build/bdist.linux-x86_64/wheel/rbtools/api 2024-04-11 10:08:25,429 root INFO copying build/lib/rbtools/api/errors.py -> build/bdist.linux-x86_64/wheel/rbtools/api 2024-04-11 10:08:25,429 root INFO copying build/lib/rbtools/api/cache.py -> build/bdist.linux-x86_64/wheel/rbtools/api 2024-04-11 10:08:25,429 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/testing 2024-04-11 10:08:25,429 root INFO copying build/lib/rbtools/testing/testcase.py -> build/bdist.linux-x86_64/wheel/rbtools/testing 2024-04-11 10:08:25,429 root INFO copying build/lib/rbtools/testing/transport.py -> build/bdist.linux-x86_64/wheel/rbtools/testing 2024-04-11 10:08:25,429 root INFO copying build/lib/rbtools/testing/commands.py -> build/bdist.linux-x86_64/wheel/rbtools/testing 2024-04-11 10:08:25,429 root INFO copying build/lib/rbtools/testing/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/testing 2024-04-11 10:08:25,429 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/testing/api 2024-04-11 10:08:25,429 root INFO copying build/lib/rbtools/testing/api/transport.py -> build/bdist.linux-x86_64/wheel/rbtools/testing/api 2024-04-11 10:08:25,429 root INFO copying build/lib/rbtools/testing/api/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/testing/api 2024-04-11 10:08:25,430 root INFO copying build/lib/rbtools/testing/api/payloads.py -> build/bdist.linux-x86_64/wheel/rbtools/testing/api 2024-04-11 10:08:25,430 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/clients 2024-04-11 10:08:25,430 root INFO copying build/lib/rbtools/clients/cvs.py -> build/bdist.linux-x86_64/wheel/rbtools/clients 2024-04-11 10:08:25,430 root INFO copying build/lib/rbtools/clients/mercurial.py -> build/bdist.linux-x86_64/wheel/rbtools/clients 2024-04-11 10:08:25,430 root INFO copying build/lib/rbtools/clients/git.py -> build/bdist.linux-x86_64/wheel/rbtools/clients 2024-04-11 10:08:25,430 root INFO copying build/lib/rbtools/clients/tfs.py -> build/bdist.linux-x86_64/wheel/rbtools/clients 2024-04-11 10:08:25,430 root INFO copying build/lib/rbtools/clients/clearcase.py -> build/bdist.linux-x86_64/wheel/rbtools/clients 2024-04-11 10:08:25,430 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,431 root INFO copying build/lib/rbtools/clients/tests/test_scmclient_registry.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,431 root INFO copying build/lib/rbtools/clients/tests/test_clearcase.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,431 root INFO copying build/lib/rbtools/clients/tests/test_plastic.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,431 root INFO copying build/lib/rbtools/clients/tests/test_bzr.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,431 root INFO copying build/lib/rbtools/clients/tests/test_mercurial.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,431 root INFO copying build/lib/rbtools/clients/tests/test_git.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,431 root INFO copying build/lib/rbtools/clients/tests/test_cvs.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,431 root INFO copying build/lib/rbtools/clients/tests/test_tfs.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,432 root INFO copying build/lib/rbtools/clients/tests/test_p4.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,432 root INFO copying build/lib/rbtools/clients/tests/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,432 root INFO copying build/lib/rbtools/clients/tests/test_scanning.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,432 root INFO copying build/lib/rbtools/clients/tests/test_base_scmclient.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,432 root INFO copying build/lib/rbtools/clients/tests/test_sos.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,432 root INFO copying build/lib/rbtools/clients/tests/test_svn.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/tests 2024-04-11 10:08:25,432 root INFO copying build/lib/rbtools/clients/svn.py -> build/bdist.linux-x86_64/wheel/rbtools/clients 2024-04-11 10:08:25,433 root INFO copying build/lib/rbtools/clients/perforce.py -> build/bdist.linux-x86_64/wheel/rbtools/clients 2024-04-11 10:08:25,433 root INFO copying build/lib/rbtools/clients/sos.py -> build/bdist.linux-x86_64/wheel/rbtools/clients 2024-04-11 10:08:25,433 root INFO copying build/lib/rbtools/clients/plastic.py -> build/bdist.linux-x86_64/wheel/rbtools/clients 2024-04-11 10:08:25,433 root INFO copying build/lib/rbtools/clients/bazaar.py -> build/bdist.linux-x86_64/wheel/rbtools/clients 2024-04-11 10:08:25,433 root INFO creating build/bdist.linux-x86_64/wheel/rbtools/clients/base 2024-04-11 10:08:25,433 root INFO copying build/lib/rbtools/clients/base/patch.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/base 2024-04-11 10:08:25,433 root INFO copying build/lib/rbtools/clients/base/registry.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/base 2024-04-11 10:08:25,433 root INFO copying build/lib/rbtools/clients/base/scmclient.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/base 2024-04-11 10:08:25,434 root INFO copying build/lib/rbtools/clients/base/repository.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/base 2024-04-11 10:08:25,434 root INFO copying build/lib/rbtools/clients/base/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/clients/base 2024-04-11 10:08:25,434 root INFO copying build/lib/rbtools/clients/__init__.py -> build/bdist.linux-x86_64/wheel/rbtools/clients 2024-04-11 10:08:25,434 root INFO copying build/lib/rbtools/clients/errors.py -> build/bdist.linux-x86_64/wheel/rbtools/clients 2024-04-11 10:08:25,434 root INFO running install_egg_info 2024-04-11 10:08:25,436 root INFO Copying RBTools.egg-info to build/bdist.linux-x86_64/wheel/RBTools-4.1-py3.12.egg-info 2024-04-11 10:08:25,436 root INFO running install_scripts 2024-04-11 10:08:25,438 wheel INFO creating build/bdist.linux-x86_64/wheel/RBTools-4.1.dist-info/WHEEL 2024-04-11 10:08:25,438 wheel INFO creating '/home/patrycja/aports/community/rbtools/src/RBTools-4.1/.dist/.tmp-iki0zm4_/RBTools-4.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it 2024-04-11 10:08:25,439 wheel INFO adding 'rbtools/__init__.py' 2024-04-11 10:08:25,439 wheel INFO adding 'rbtools/deprecation.py' 2024-04-11 10:08:25,439 wheel INFO adding 'rbtools/tests.py' 2024-04-11 10:08:25,439 wheel INFO adding 'rbtools/api/__init__.py' 2024-04-11 10:08:25,439 wheel INFO adding 'rbtools/api/cache.py' 2024-04-11 10:08:25,439 wheel INFO adding 'rbtools/api/capabilities.py' 2024-04-11 10:08:25,440 wheel INFO adding 'rbtools/api/client.py' 2024-04-11 10:08:25,440 wheel INFO adding 'rbtools/api/decode.py' 2024-04-11 10:08:25,440 wheel INFO adding 'rbtools/api/decorators.py' 2024-04-11 10:08:25,440 wheel INFO adding 'rbtools/api/errors.py' 2024-04-11 10:08:25,440 wheel INFO adding 'rbtools/api/factory.py' 2024-04-11 10:08:25,440 wheel INFO adding 'rbtools/api/request.py' 2024-04-11 10:08:25,440 wheel INFO adding 'rbtools/api/resource.py' 2024-04-11 10:08:25,440 wheel INFO adding 'rbtools/api/utils.py' 2024-04-11 10:08:25,441 wheel INFO adding 'rbtools/api/tests/__init__.py' 2024-04-11 10:08:25,441 wheel INFO adding 'rbtools/api/tests/base.py' 2024-04-11 10:08:25,441 wheel INFO adding 'rbtools/api/tests/test_capabilities.py' 2024-04-11 10:08:25,441 wheel INFO adding 'rbtools/api/tests/test_errors.py' 2024-04-11 10:08:25,441 wheel INFO adding 'rbtools/api/tests/test_factory.py' 2024-04-11 10:08:25,441 wheel INFO adding 'rbtools/api/tests/test_http_request.py' 2024-04-11 10:08:25,441 wheel INFO adding 'rbtools/api/tests/test_resource.py' 2024-04-11 10:08:25,441 wheel INFO adding 'rbtools/api/transport/__init__.py' 2024-04-11 10:08:25,441 wheel INFO adding 'rbtools/api/transport/sync.py' 2024-04-11 10:08:25,442 wheel INFO adding 'rbtools/clients/__init__.py' 2024-04-11 10:08:25,442 wheel INFO adding 'rbtools/clients/bazaar.py' 2024-04-11 10:08:25,442 wheel INFO adding 'rbtools/clients/clearcase.py' 2024-04-11 10:08:25,442 wheel INFO adding 'rbtools/clients/cvs.py' 2024-04-11 10:08:25,442 wheel INFO adding 'rbtools/clients/errors.py' 2024-04-11 10:08:25,442 wheel INFO adding 'rbtools/clients/git.py' 2024-04-11 10:08:25,443 wheel INFO adding 'rbtools/clients/mercurial.py' 2024-04-11 10:08:25,443 wheel INFO adding 'rbtools/clients/perforce.py' 2024-04-11 10:08:25,443 wheel INFO adding 'rbtools/clients/plastic.py' 2024-04-11 10:08:25,443 wheel INFO adding 'rbtools/clients/sos.py' 2024-04-11 10:08:25,443 wheel INFO adding 'rbtools/clients/svn.py' 2024-04-11 10:08:25,444 wheel INFO adding 'rbtools/clients/tfs.py' 2024-04-11 10:08:25,444 wheel INFO adding 'rbtools/clients/base/__init__.py' 2024-04-11 10:08:25,444 wheel INFO adding 'rbtools/clients/base/patch.py' 2024-04-11 10:08:25,444 wheel INFO adding 'rbtools/clients/base/registry.py' 2024-04-11 10:08:25,444 wheel INFO adding 'rbtools/clients/base/repository.py' 2024-04-11 10:08:25,444 wheel INFO adding 'rbtools/clients/base/scmclient.py' 2024-04-11 10:08:25,444 wheel INFO adding 'rbtools/clients/tests/__init__.py' 2024-04-11 10:08:25,445 wheel INFO adding 'rbtools/clients/tests/test_base_scmclient.py' 2024-04-11 10:08:25,445 wheel INFO adding 'rbtools/clients/tests/test_bzr.py' 2024-04-11 10:08:25,445 wheel INFO adding 'rbtools/clients/tests/test_clearcase.py' 2024-04-11 10:08:25,445 wheel INFO adding 'rbtools/clients/tests/test_cvs.py' 2024-04-11 10:08:25,446 wheel INFO adding 'rbtools/clients/tests/test_git.py' 2024-04-11 10:08:25,446 wheel INFO adding 'rbtools/clients/tests/test_mercurial.py' 2024-04-11 10:08:25,446 wheel INFO adding 'rbtools/clients/tests/test_p4.py' 2024-04-11 10:08:25,446 wheel INFO adding 'rbtools/clients/tests/test_plastic.py' 2024-04-11 10:08:25,446 wheel INFO adding 'rbtools/clients/tests/test_scanning.py' 2024-04-11 10:08:25,446 wheel INFO adding 'rbtools/clients/tests/test_scmclient_registry.py' 2024-04-11 10:08:25,447 wheel INFO adding 'rbtools/clients/tests/test_sos.py' 2024-04-11 10:08:25,447 wheel INFO adding 'rbtools/clients/tests/test_svn.py' 2024-04-11 10:08:25,447 wheel INFO adding 'rbtools/clients/tests/test_tfs.py' 2024-04-11 10:08:25,448 wheel INFO adding 'rbtools/commands/__init__.py' 2024-04-11 10:08:25,448 wheel INFO adding 'rbtools/commands/alias.py' 2024-04-11 10:08:25,448 wheel INFO adding 'rbtools/commands/api_get.py' 2024-04-11 10:08:25,448 wheel INFO adding 'rbtools/commands/attach.py' 2024-04-11 10:08:25,448 wheel INFO adding 'rbtools/commands/clearcache.py' 2024-04-11 10:08:25,448 wheel INFO adding 'rbtools/commands/close.py' 2024-04-11 10:08:25,448 wheel INFO adding 'rbtools/commands/diff.py' 2024-04-11 10:08:25,448 wheel INFO adding 'rbtools/commands/info.py' 2024-04-11 10:08:25,448 wheel INFO adding 'rbtools/commands/install.py' 2024-04-11 10:08:25,448 wheel INFO adding 'rbtools/commands/land.py' 2024-04-11 10:08:25,449 wheel INFO adding 'rbtools/commands/list_repo_types.py' 2024-04-11 10:08:25,449 wheel INFO adding 'rbtools/commands/login.py' 2024-04-11 10:08:25,449 wheel INFO adding 'rbtools/commands/logout.py' 2024-04-11 10:08:25,449 wheel INFO adding 'rbtools/commands/main.py' 2024-04-11 10:08:25,449 wheel INFO adding 'rbtools/commands/patch.py' 2024-04-11 10:08:25,449 wheel INFO adding 'rbtools/commands/post.py' 2024-04-11 10:08:25,449 wheel INFO adding 'rbtools/commands/publish.py' 2024-04-11 10:08:25,449 wheel INFO adding 'rbtools/commands/review.py' 2024-04-11 10:08:25,450 wheel INFO adding 'rbtools/commands/setup_completion.py' 2024-04-11 10:08:25,450 wheel INFO adding 'rbtools/commands/setup_repo.py' 2024-04-11 10:08:25,450 wheel INFO adding 'rbtools/commands/stamp.py' 2024-04-11 10:08:25,450 wheel INFO adding 'rbtools/commands/status.py' 2024-04-11 10:08:25,450 wheel INFO adding 'rbtools/commands/status_update.py' 2024-04-11 10:08:25,450 wheel INFO adding 'rbtools/commands/conf/_rbt-zsh-completion' 2024-04-11 10:08:25,450 wheel INFO adding 'rbtools/commands/conf/rbt-bash-completion' 2024-04-11 10:08:25,450 wheel INFO adding 'rbtools/commands/tests/__init__.py' 2024-04-11 10:08:25,450 wheel INFO adding 'rbtools/commands/tests/test_alias.py' 2024-04-11 10:08:25,450 wheel INFO adding 'rbtools/commands/tests/test_main.py' 2024-04-11 10:08:25,451 wheel INFO adding 'rbtools/commands/tests/test_post.py' 2024-04-11 10:08:25,451 wheel INFO adding 'rbtools/commands/tests/test_setup_repo.py' 2024-04-11 10:08:25,451 wheel INFO adding 'rbtools/diffs/__init__.py' 2024-04-11 10:08:25,451 wheel INFO adding 'rbtools/diffs/writers.py' 2024-04-11 10:08:25,451 wheel INFO adding 'rbtools/diffs/tests/__init__.py' 2024-04-11 10:08:25,451 wheel INFO adding 'rbtools/diffs/tests/test_apple_diff_tool.py' 2024-04-11 10:08:25,451 wheel INFO adding 'rbtools/diffs/tests/test_diff_file_result.py' 2024-04-11 10:08:25,452 wheel INFO adding 'rbtools/diffs/tests/test_diff_tools_registry.py' 2024-04-11 10:08:25,452 wheel INFO adding 'rbtools/diffs/tests/test_gnu_diff_tool.py' 2024-04-11 10:08:25,452 wheel INFO adding 'rbtools/diffs/tests/test_unified_diff_writer.py' 2024-04-11 10:08:25,452 wheel INFO adding 'rbtools/diffs/tools/__init__.py' 2024-04-11 10:08:25,452 wheel INFO adding 'rbtools/diffs/tools/errors.py' 2024-04-11 10:08:25,452 wheel INFO adding 'rbtools/diffs/tools/registry.py' 2024-04-11 10:08:25,452 wheel INFO adding 'rbtools/diffs/tools/backends/__init__.py' 2024-04-11 10:08:25,452 wheel INFO adding 'rbtools/diffs/tools/backends/apple.py' 2024-04-11 10:08:25,452 wheel INFO adding 'rbtools/diffs/tools/backends/gnu.py' 2024-04-11 10:08:25,453 wheel INFO adding 'rbtools/diffs/tools/base/__init__.py' 2024-04-11 10:08:25,453 wheel INFO adding 'rbtools/diffs/tools/base/diff_file_result.py' 2024-04-11 10:08:25,453 wheel INFO adding 'rbtools/diffs/tools/base/diff_tool.py' 2024-04-11 10:08:25,453 wheel INFO adding 'rbtools/helpers/__init__.py' 2024-04-11 10:08:25,453 wheel INFO adding 'rbtools/helpers/hgext.py' 2024-04-11 10:08:25,453 wheel INFO adding 'rbtools/hooks/__init__.py' 2024-04-11 10:08:25,453 wheel INFO adding 'rbtools/hooks/common.py' 2024-04-11 10:08:25,453 wheel INFO adding 'rbtools/hooks/git.py' 2024-04-11 10:08:25,453 wheel INFO adding 'rbtools/testing/__init__.py' 2024-04-11 10:08:25,453 wheel INFO adding 'rbtools/testing/commands.py' 2024-04-11 10:08:25,454 wheel INFO adding 'rbtools/testing/testcase.py' 2024-04-11 10:08:25,454 wheel INFO adding 'rbtools/testing/transport.py' 2024-04-11 10:08:25,454 wheel INFO adding 'rbtools/testing/api/__init__.py' 2024-04-11 10:08:25,454 wheel INFO adding 'rbtools/testing/api/payloads.py' 2024-04-11 10:08:25,454 wheel INFO adding 'rbtools/testing/api/transport.py' 2024-04-11 10:08:25,454 wheel INFO adding 'rbtools/utils/__init__.py' 2024-04-11 10:08:25,454 wheel INFO adding 'rbtools/utils/aliases.py' 2024-04-11 10:08:25,454 wheel INFO adding 'rbtools/utils/appdirs.py' 2024-04-11 10:08:25,455 wheel INFO adding 'rbtools/utils/checks.py' 2024-04-11 10:08:25,455 wheel INFO adding 'rbtools/utils/commands.py' 2024-04-11 10:08:25,455 wheel INFO adding 'rbtools/utils/console.py' 2024-04-11 10:08:25,455 wheel INFO adding 'rbtools/utils/diffs.py' 2024-04-11 10:08:25,455 wheel INFO adding 'rbtools/utils/encoding.py' 2024-04-11 10:08:25,455 wheel INFO adding 'rbtools/utils/errors.py' 2024-04-11 10:08:25,455 wheel INFO adding 'rbtools/utils/filesystem.py' 2024-04-11 10:08:25,455 wheel INFO adding 'rbtools/utils/graphs.py' 2024-04-11 10:08:25,455 wheel INFO adding 'rbtools/utils/match_score.py' 2024-04-11 10:08:25,455 wheel INFO adding 'rbtools/utils/process.py' 2024-04-11 10:08:25,456 wheel INFO adding 'rbtools/utils/repository.py' 2024-04-11 10:08:25,456 wheel INFO adding 'rbtools/utils/review_request.py' 2024-04-11 10:08:25,456 wheel INFO adding 'rbtools/utils/source_tree.py' 2024-04-11 10:08:25,456 wheel INFO adding 'rbtools/utils/streams.py' 2024-04-11 10:08:25,456 wheel INFO adding 'rbtools/utils/testbase.py' 2024-04-11 10:08:25,456 wheel INFO adding 'rbtools/utils/users.py' 2024-04-11 10:08:25,456 wheel INFO adding 'rbtools/utils/tests/__init__.py' 2024-04-11 10:08:25,456 wheel INFO adding 'rbtools/utils/tests/test_aliases.py' 2024-04-11 10:08:25,456 wheel INFO adding 'rbtools/utils/tests/test_buffered_iterator.py' 2024-04-11 10:08:25,457 wheel INFO adding 'rbtools/utils/tests/test_checks.py' 2024-04-11 10:08:25,457 wheel INFO adding 'rbtools/utils/tests/test_console.py' 2024-04-11 10:08:25,457 wheel INFO adding 'rbtools/utils/tests/test_filesystem.py' 2024-04-11 10:08:25,457 wheel INFO adding 'rbtools/utils/tests/test_process.py' 2024-04-11 10:08:25,457 wheel INFO adding 'rbtools/utils/tests/test_repository.py' 2024-04-11 10:08:25,457 wheel INFO adding 'rbtools/utils/tests/test_review_request.py' 2024-04-11 10:08:25,457 wheel INFO adding 'rbtools/utils/tests/test_source_tree.py' 2024-04-11 10:08:25,457 wheel INFO adding 'RBTools-4.1.dist-info/AUTHORS' 2024-04-11 10:08:25,457 wheel INFO adding 'RBTools-4.1.dist-info/COPYING' 2024-04-11 10:08:25,457 wheel INFO adding 'RBTools-4.1.dist-info/METADATA' 2024-04-11 10:08:25,457 wheel INFO adding 'RBTools-4.1.dist-info/WHEEL' 2024-04-11 10:08:25,458 wheel INFO adding 'RBTools-4.1.dist-info/entry_points.txt' 2024-04-11 10:08:25,458 wheel INFO adding 'RBTools-4.1.dist-info/top_level.txt' 2024-04-11 10:08:25,458 wheel INFO adding 'RBTools-4.1.dist-info/RECORD' 2024-04-11 10:08:25,458 wheel INFO removing build/bdist.linux-x86_64/wheel 2024-04-11 10:08:25,462 gpep517 INFO The backend produced .dist/RBTools-4.1-py3-none-any.whl RBTools-4.1-py3-none-any.whl /home/patrycja/aports/community/rbtools/src/RBTools-4.1/.testenv/lib/python3.12/site-packages/rbtools/utils/appdirs.py:101: SyntaxWarning: invalid escape sequence '\D' """Return full path to the user-shared data dir for this application. /home/patrycja/aports/community/rbtools/src/RBTools-4.1/.testenv/lib/python3.12/site-packages/rbtools/utils/appdirs.py:207: SyntaxWarning: invalid escape sequence '\P' """Return full path to the user-shared data dir for this application. ============================= test session starts ============================== platform linux -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0 rootdir: /home/patrycja/aports/community/rbtools/src/RBTools-4.1 configfile: pytest.ini testpaths: rbtools plugins: env-1.1.3, kgb-7.1.1 collected 786 items / 271 deselected / 515 selected rbtools/api/tests/test_capabilities.py ... [ 0%] rbtools/api/tests/test_errors.py ........................ [ 5%] rbtools/api/tests/test_factory.py ...... [ 6%] rbtools/api/tests/test_http_request.py ........ [ 7%] rbtools/api/tests/test_resource.py ................F..F.F.FFFFF.F....... [ 15%] [ 15%] rbtools/clients/tests/test_bzr.py .....F......ssssssssssssssssssss [ 21%] rbtools/clients/tests/test_clearcase.py ..F.ssss................... [ 26%] rbtools/clients/tests/test_plastic.py .F [ 26%] rbtools/clients/tests/test_scmclient_registry.py .......... [ 28%] rbtools/clients/tests/test_sos.py .Fssssssssssssssss..............F... [ 35%] rbtools/clients/tests/test_tfs.py ...ssssF....F.....sss....FF.....sssss. [ 43%] ...F....... [ 45%] rbtools/commands/tests/test_alias.py ....... [ 46%] rbtools/commands/tests/test_main.py ............. [ 49%] rbtools/commands/tests/test_post.py F............F...................... [ 56%] ................................... [ 63%] rbtools/commands/tests/test_setup_repo.py ....... [ 64%] rbtools/diffs/tests/test_diff_file_result.py ........................... [ 69%] ......... [ 71%] rbtools/diffs/tests/test_diff_tools_registry.py .F.FF....FF [ 73%] rbtools/diffs/tests/test_gnu_diff_tool.py ............. [ 76%] rbtools/diffs/tests/test_unified_diff_writer.py ........................ [ 80%] .... [ 81%] rbtools/utils/tests/test_aliases.py ............. [ 84%] rbtools/utils/tests/test_buffered_iterator.py .............. [ 86%] rbtools/utils/tests/test_checks.py ... [ 87%] rbtools/utils/tests/test_filesystem.py ..... [ 88%] rbtools/utils/tests/test_process.py .......FF...F..... [ 91%] rbtools/utils/tests/test_repository.py .... [ 92%] rbtools/utils/tests/test_review_request.py ....................F..... [ 97%] rbtools/utils/tests/test_source_tree.py F..FFFF.F.FF [100%] =================================== FAILURES =================================== ______________________ ResourceFieldDictTests.test_clear _______________________ self = def test_clear(self): """Testing ResourceDictField.clear""" r = create_resource(transport=self.transport, payload=self.item_payload, url='') message = ( 'Attributes cannot be modified directly on this dictionary. To ' 'change values, issue a .update(attr=value, ...) call on the ' 'parent resource.' ) > with self.assertRaisesMessage(AttributeError, message): rbtools/api/tests/test_resource.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'Attributes cannot be modified directly on this dictionary. To change values, issue a .update(attr=value, ...) call on the parent resource.' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'ResourceFieldDictTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _____________ ResourceFieldDictTests.test_getattr_with_invalid_key _____________ self = def test_getattr_with_invalid_key(self): """Testing ResourceDictField.__getattr__ with invalid key""" r = create_resource(transport=self.transport, payload=self.item_payload, url='') field = r.nested_field self.assertIsInstance(field, ResourceDictField) message = ( 'This dictionary resource for ItemResource does not have an ' 'attribute "nestedX".' ) > with self.assertRaisesMessage(AttributeError, message): rbtools/api/tests/test_resource.py:490: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'This dictionary resource for ItemResource does not have an attribute "nestedX".' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'ResourceFieldDictTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _____________ ResourceFieldDictTests.test_getitem_with_invalid_key _____________ self = def test_getitem_with_invalid_key(self): """Testing ResourceDictField.__getitem__ with invalid key""" r = create_resource(transport=self.transport, payload=self.item_payload, url='') field = r.nested_field self.assertIsInstance(field, ResourceDictField) message = ( 'This dictionary resource for ItemResource does not have a ' 'key "nestedX".' ) > with self.assertRaisesMessage(KeyError, message): rbtools/api/tests/test_resource.py:519: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'This dictionary resource for ItemResource does not have a key "nestedX".' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'ResourceFieldDictTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _______________________ ResourceFieldDictTests.test_pop ________________________ self = def test_pop(self): """Testing ResourceDictField.pop""" r = create_resource(transport=self.transport, payload=self.item_payload, url='') message = ( 'Attributes cannot be modified directly on this dictionary. To ' 'change values, issue a .update(attr=value, ...) call on the ' 'parent resource.' ) > with self.assertRaisesMessage(AttributeError, message): rbtools/api/tests/test_resource.py:607: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'Attributes cannot be modified directly on this dictionary. To change values, issue a .update(attr=value, ...) call on the parent resource.' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'ResourceFieldDictTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _____________________ ResourceFieldDictTests.test_popitem ______________________ self = def test_popitem(self): """Testing ResourceDictField.popitem""" r = create_resource(transport=self.transport, payload=self.item_payload, url='') message = ( 'Attributes cannot be modified directly on this dictionary. To ' 'change values, issue a .update(attr=value, ...) call on the ' 'parent resource.' ) > with self.assertRaisesMessage(AttributeError, message): rbtools/api/tests/test_resource.py:622: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'Attributes cannot be modified directly on this dictionary. To change values, issue a .update(attr=value, ...) call on the parent resource.' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'ResourceFieldDictTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError ____________________ ResourceFieldDictTests.test_setdefault ____________________ self = def test_setdefault(self): """Testing ResourceDictField.setdefault""" r = create_resource(transport=self.transport, payload=self.item_payload, url='') message = ( 'Attributes cannot be modified directly on this dictionary. To ' 'change values, issue a .update(attr=value, ...) call on the ' 'parent resource.' ) > with self.assertRaisesMessage(AttributeError, message): rbtools/api/tests/test_resource.py:575: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'Attributes cannot be modified directly on this dictionary. To change values, issue a .update(attr=value, ...) call on the parent resource.' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'ResourceFieldDictTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _____________________ ResourceFieldDictTests.test_setitem ______________________ self = def test_setitem(self): """Testing ResourceDictField.__setitem__""" r = create_resource(transport=self.transport, payload=self.item_payload, url='') message = ( 'Attributes cannot be modified directly on this dictionary. To ' 'change values, issue a .update(attr=value, ...) call on the ' 'parent resource.' ) > with self.assertRaisesMessage(AttributeError, message): rbtools/api/tests/test_resource.py:560: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'Attributes cannot be modified directly on this dictionary. To change values, issue a .update(attr=value, ...) call on the parent resource.' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'ResourceFieldDictTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError ______________________ ResourceFieldDictTests.test_update ______________________ self = def test_update(self): """Testing ResourceDictField.update""" r = create_resource(transport=self.transport, payload=self.item_payload, url='') message = ( 'Attributes cannot be modified directly on this dictionary. To ' 'change values, issue a .update(attr=value, ...) call on the ' 'parent resource.' ) > with self.assertRaisesMessage(AttributeError, message): rbtools/api/tests/test_resource.py:590: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'Attributes cannot be modified directly on this dictionary. To change values, issue a .update(attr=value, ...) call on the parent resource.' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'ResourceFieldDictTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError ___________________ ResourceExtraDataFieldTests.test_setitem ___________________ self = def test_setitem(self): """Testing ResourceExtraDataField.__setitem__""" r = create_resource(transport=self.transport, payload=self.item_payload, url='') message = ( 'extra_data attributes cannot be modified directly on this ' 'dictionary. To make a mutable copy of this and all its contents, ' 'call .copy(). To set or change extra_data state, issue a ' '.update(extra_data_json={...}) for a JSON Merge Patch requst or ' '.update(extra_data_json_patch=[...]) for a JSON Patch request ' 'on the parent resource. See %s for the format for these ' 'operations.' % _EXTRA_DATA_DOCS_URL ) > with self.assertRaisesMessage(AttributeError, message): rbtools/api/tests/test_resource.py:685: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'extra_data attributes cannot be modified directly on this dictionary. To make a mutable copy of this and all its cont....reviewboard.org/docs/manual/4.0/webapi/2.0/extra-data/#storing-merging-json-data for the format for these operations.' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'ResourceExtraDataFieldTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _______ BazaarClientStandaloneTests.test_check_dependencies_with_missing _______ self = def test_check_dependencies_with_missing(self): """Testing BazaarClient.check_dependencies with dependencies missing""" self.spy_on(check_install, op=kgb.SpyOpReturn(False)) client = self.build_client(setup=False, allow_dep_checks=True) message = "Command line tools (one of ('brz', 'bzr')) are missing." > with self.assertRaisesMessage(SCMClientDependencyError, message): rbtools/clients/tests/test_bzr.py:126: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = "Command line tools (one of ('brz', 'bzr')) are missing." def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'BazaarClientStandaloneTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError __________ ClearCaseClientTests.test_check_dependencies_with_missing ___________ self = def test_check_dependencies_with_missing(self): """Testing ClearCaseClient.check_dependencies with dependencies missing """ self.spy_on(check_install, op=kgb.SpyOpReturn(False)) client = self.build_client(setup=False) message = "Command line tools ('cleartool') are missing." > with self.assertRaisesMessage(SCMClientDependencyError, message): rbtools/clients/tests/test_clearcase.py:432: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = "Command line tools ('cleartool') are missing." def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'ClearCaseClientTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError ___________ PlasticClientTests.test_check_dependencies_with_missing ____________ self = def test_check_dependencies_with_missing(self): """Testing PlasticClient.check_dependencies with dependencies missing """ self.spy_on(check_install, op=kgb.SpyOpReturn(False)) client = self.build_client(setup=False) message = "Command line tools ('cm') are missing." > with self.assertRaisesMessage(SCMClientDependencyError, message): rbtools/clients/tests/test_plastic.py:41: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = "Command line tools ('cm') are missing." def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'PlasticClientTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _____________ SOSClientTests.test_check_dependencies_with_missing ______________ self = def test_check_dependencies_with_missing(self): """Testing SOSClient.check_dependencies with dependencies missing """ check_install.unspy() self.spy_on(check_install, op=kgb.SpyOpReturn(False)) client = self.build_client(setup=False) message = "Command line tools ('soscmd') are missing." > with self.assertRaisesMessage(SCMClientDependencyError, message): rbtools/clients/tests/test_sos.py:560: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = "Command line tools ('soscmd') are missing." def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'SOSClientTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _ SOSClientTests.test_parse_revision_spec_with_1_arg_changelist_not_supported __ self = def test_parse_revision_spec_with_1_arg_changelist_not_supported(self): """Testing SOSClient.parse_revision_spec with 1 argument (changelist) and changelists not supported """ message = ( 'SOS requires a revision argument to be a selection in the form ' 'of: "select:". For example: select:-scm' ) client = self.build_client() client._cache['supports_changelists'] = False > with self.assertRaisesMessage(InvalidRevisionSpecError, message): rbtools/clients/tests/test_sos.py:702: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'SOS requires a revision argument to be a selection in the form of: "select:". For example: select:-scm' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'SOSClientTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError ____________ TFExeWrapperTests.test_diff_with_non_working_copy_tip _____________ self = def test_diff_with_non_working_copy_tip(self): """Testing TFExeWrapper.diff with non-working copy tip""" client = self.build_client(allow_dep_checks=False) wrapper = TFExeWrapper() message = ( 'Posting committed changes is not yet supported for TFS when ' 'using the tf.exe wrapper.' ) > with self.assertRaisesMessage(SCMError, message): rbtools/clients/tests/test_tfs.py:683: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'Posting committed changes is not yet supported for TFS when using the tf.exe wrapper.' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'TFExeWrapperTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError ______ TFExeWrapperTests.test_parse_revision_spec_with_no_changeset_found ______ self = def test_parse_revision_spec_with_no_changeset_found(self): """Testing TFExeWrapper.parse_revision_spec with no changeset found""" cwd = os.getcwd() self.spy_on(run_process_exec, op=kgb.SpyOpMatchInOrder([ { 'args': ([ 'tf', 'vc', 'history', '/stopafter:1', '/recursive', '/format:detailed', '/version:W', cwd, '/noprompt', ],), 'op': kgb.SpyOpReturn(( 0, b'', b'', )), }, ])) wrapper = TFExeWrapper() message = '"W" does not appear to be a valid versionspec' > with self.assertRaisesMessage(InvalidRevisionSpecError, message): rbtools/clients/tests/test_tfs.py:372: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = '"W" does not appear to be a valid versionspec' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'TFExeWrapperTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError ____ TFHelperWrapperTests.test_parse_revision_spec_with_no_changeset_found _____ self = def test_parse_revision_spec_with_no_changeset_found(self): """Testing TFHelperWrapper.parse_revision_spec with no changeset found """ self.spy_on(run_process_exec, op=kgb.SpyOpMatchInOrder([ { 'args': ([ 'java', '-Xmx2048M', '-jar', '/path/to/rb-tfs.jar', 'parse-revision', ],), 'op': kgb.SpyOpReturn(( 1, b'', b'"W" does not appear to be a valid versionspec\n', )), }, ])) wrapper = TFHelperWrapper() wrapper.helper_path = '/path/to/rb-tfs.jar' message = '"W" does not appear to be a valid versionspec' > with self.assertRaisesMessage(InvalidRevisionSpecError, message): rbtools/clients/tests/test_tfs.py:981: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = '"W" does not appear to be a valid versionspec' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'TFHelperWrapperTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _ TFHelperWrapperTests.test_parse_revision_spec_with_no_changeset_found_no_error _ self = def test_parse_revision_spec_with_no_changeset_found_no_error(self): """Testing TFHelperWrapper.parse_revision_spec with no changeset found and no error result """ self.spy_on(run_process_exec, op=kgb.SpyOpMatchInOrder([ { 'args': ([ 'java', '-Xmx2048M', '-jar', '/path/to/rb-tfs.jar', 'parse-revision', 'blah', ],), 'op': kgb.SpyOpReturn(( 1, b'', b'', )), }, ])) wrapper = TFHelperWrapper() wrapper.helper_path = '/path/to/rb-tfs.jar' message = "Unexpected error while parsing revision spec ['blah']" > with self.assertRaisesMessage(InvalidRevisionSpecError, message): rbtools/clients/tests/test_tfs.py:1007: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = "Unexpected error while parsing revision spec ['blah']" def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'TFHelperWrapperTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _______ TEEWrapperTests.test_parse_revision_spec_with_no_changeset_found _______ self = def test_parse_revision_spec_with_no_changeset_found(self): """Testing TEEWrapper.parse_revision_spec with no changeset found""" cwd = os.getcwd() self.spy_on(run_process_exec, op=kgb.SpyOpMatchInOrder([ { 'args': ([ 'tf', '-noprompt', 'history', '-stopafter:1', '-recursive', '-format:xml', cwd, ],), 'op': kgb.SpyOpReturn(( 0, # NOTE: We are not sensitive to the root element name, # and at the time of this writing, there is no # public documentation (or local setup) capable # of showing this. is used as a # possibility. b'\n' b'\n' b'\n', b'', )), }, ])) wrapper = TEEWrapper() wrapper.tf = 'tf' message = '"W" does not appear to be a valid versionspec' > with self.assertRaisesMessage(InvalidRevisionSpecError, message): rbtools/clients/tests/test_tfs.py:1691: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = '"W" does not appear to be a valid versionspec' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'TEEWrapperTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError __________ PostCommandTests.test_arg_field_set_again_by_custom_fields __________ self = def test_arg_field_set_again_by_custom_fields(self): """Testing rbt post --field with field name duplicating native argument """ post = self.create_command(args=[ '--field', 'description=test', '--description', 'test', ]) message = ( 'The "description" field was provided by both --description= ' 'and --field description=. Please use --description instead.' ) > with self.assertRaisesMessage(CommandError, message): rbtools/commands/tests/test_post.py:124: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'The "description" field was provided by both --description= and --field description=. Please use --description instead.' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'PostCommandTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError __________________ PostCommandTests.test_wrong_argument_entry __________________ self = def test_wrong_argument_entry(self): """Testing rbt post --field without value""" post = self.create_command(args=['--field', 'description']) message = ( 'The --field argument should be in the form of: ' '--field name=value; got "description" instead.' ) > with self.assertRaisesMessage(CommandError, message): rbtools/commands/tests/test_post.py:96: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'The --field argument should be in the form of: --field name=value; got "description" instead.' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'PostCommandTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError ___________ DiffToolsRegistryTests.test_get_available_and_not_found ____________ self = def test_get_available_and_not_found(self): """Testing DiffToolsRegistry.get_available and no compatible tool found """ self.spy_on(BaseDiffTool.setup, owner=BaseDiffTool, call_original=False) message = ( "A compatible command line diff tool (Apple Diff, GNU Diff) was " "not found on the system. This is required in order to generate " "diffs, and will need to be installed and placed in your system " "path.\n" "\n" "Install by doing a thing.\n" "\n" "If you're running an older version of RBTools, you may also " "need to upgrade." ) > with self.assertRaisesMessage(MissingDiffToolError, message): rbtools/diffs/tests/test_diff_tools_registry.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = "A compatible command line diff tool (Apple Diff, GNU Diff) was not found on the system. This is required in order to ...tem path.\n\nInstall by doing a thing.\n\nIf you're running an older version of RBTools, you may also need to upgrade." def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'DiffToolsRegistryTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _______ DiffToolsRegistryTests.test_get_available_with_ids_and_not_found _______ self = def test_get_available_with_ids_and_not_found(self): """Testing DiffToolsRegistry.get_available with specific IDs and no compatible tool found """ self.spy_on(BaseDiffTool.setup, owner=BaseDiffTool, call_original=False) message = ( "A compatible command line diff tool (xxx) was not found on " "the system. This is required in order to generate diffs, and " "will need to be installed and placed in your system path.\n" "\n" "If you're running an older version of RBTools, you may also " "need to upgrade." ) > with self.assertRaisesMessage(MissingDiffToolError, message): rbtools/diffs/tests/test_diff_tools_registry.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = "A compatible command line diff tool (xxx) was not found on the system. This is required in order to generate diffs, a...talled and placed in your system path.\n\nIf you're running an older version of RBTools, you may also need to upgrade." def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'DiffToolsRegistryTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError __________ DiffToolsRegistryTests.test_get_available_with_setup_error __________ self = def test_get_available_with_setup_error(self): """Testing DiffToolsRegistry.get_available with setup error""" self.spy_on(AppleDiffTool.check_available, owner=AppleDiffTool, op=kgb.SpyOpRaise(TypeError('oh no'))) self.spy_on(GNUDiffTool.check_available, owner=GNUDiffTool, op=kgb.SpyOpRaise(TypeError('oh no'))) message = ( "A compatible command line diff tool (Apple Diff, GNU Diff) was " "not found on the system. This is required in order to generate " "diffs, and will need to be installed and placed in your system " "path.\n" "\n" "Install by doing a thing.\n" "\n" "If you're running an older version of RBTools, you may also " "need to upgrade." ) with self.assertLogs(level='ERROR') as logs: > with self.assertRaisesMessage(MissingDiffToolError, message): rbtools/diffs/tests/test_diff_tools_registry.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = "A compatible command line diff tool (Apple Diff, GNU Diff) was not found on the system. This is required in order to ...tem path.\n\nInstall by doing a thing.\n\nIf you're running an older version of RBTools, you may also need to upgrade." def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'DiffToolsRegistryTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError ______________ DiffToolsRegistryTests.test_register_with_conflict ______________ self = def test_register_with_conflict(self): """Testing DiffToolsRegistry.register with conflicting ID""" class MyDiffTool(BaseDiffTool): diff_tool_id = 'gnu' message = ( 'Another diff tool with ID "gnu" () is already ' 'registered.' ) > with self.assertRaisesMessage(ValueError, message): rbtools/diffs/tests/test_diff_tools_registry.py:170: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'Another diff tool with ID "gnu" () is already registered.' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'DiffToolsRegistryTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _____________ DiffToolsRegistryTests.test_register_with_missing_id _____________ self = def test_register_with_missing_id(self): """Testing DiffToolsRegistry.register with missing diff_tool_id""" class MyDiffTool(BaseDiffTool): pass message = 'MyDiffTool.diff_tool_id must be set.' > with self.assertRaisesMessage(ValueError, message): rbtools/diffs/tests/test_diff_tools_registry.py:156: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'MyDiffTool.diff_tool_id must be set.' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'DiffToolsRegistryTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError __________________ RunProcessTests.test_with_exit_code_non_0 ___________________ self = def test_with_exit_code_non_0(self): """Testing run_process with exit_code != 0""" command = '%s -c "import sys; sys.exit(1)"' % sys.executable message = 'Unexpected error executing the command: %s' % command with self.assertLogs(level='DEBUG') as log_ctx: > with self.assertRaisesMessage(RunProcessError, message) as e_ctx: rbtools/utils/tests/test_process.py:146: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'Unexpected error executing the command: /home/patrycja/aports/community/rbtools/src/RBTools-4.1/.testenv/bin/python3 -c "import sys; sys.exit(1)"' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'RunProcessTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _ RunProcessTests.test_with_exit_code_non_0_and_log_debug_output_on_error_false _ self = def test_with_exit_code_non_0_and_log_debug_output_on_error_false(self): """Testing run_process with exit_code != 0 and log_debug_output_on_error=False """ command = '%s -c "import sys; sys.exit(1)"' % sys.executable message = 'Unexpected error executing the command: %s' % command with self.assertLogs(level='DEBUG') as log_ctx: > with self.assertRaisesMessage(RunProcessError, message) as e_ctx: rbtools/utils/tests/test_process.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'Unexpected error executing the command: /home/patrycja/aports/community/rbtools/src/RBTools-4.1/.testenv/bin/python3 -c "import sys; sys.exit(1)"' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'RunProcessTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _______ RunProcessTests.test_with_ignore_errors_tuple_and_code_not_found _______ self = def test_with_ignore_errors_tuple_and_code_not_found(self): """Testing run_process with ignore_errors=(...) with exit code not found """ message = ( r'Unexpected error executing the command: ' r'%s -c "import sys; print(\"test\"); sys.exit(3)"' % sys.executable ) with self.assertLogs(level='DEBUG') as log_ctx: > with self.assertRaisesMessage(RunProcessError, message) as ctx: rbtools/utils/tests/test_process.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'Unexpected error executing the command: /home/patrycja/aports/community/rbtools/src/RBTools-4.1/.testenv/bin/python3 -c "import sys; print(\\"test\\"); sys.exit(3)"' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'RunProcessTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError _____________ GuessExistingReviewRequestTests.test_with_api_error ______________ self = def test_with_api_error(self): """Testing guess_existing_review_request with APIError when fetching review requests """ class MySCMClient(BaseSCMClient): pass self.spy_on(get_pending_review_requests, op=kgb.SpyOpRaise(APIError())) message = ( 'Error getting review requests for user "test-user": ' 'An error occurred when communicating with Review Board.' ) > with self.assertRaisesMessage(MatchReviewRequestsError, message): rbtools/utils/tests/test_review_request.py:880: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = expected_exception = expected_message = 'Error getting review requests for user "test-user": An error occurred when communicating with Review Board.' def assertRaisesMessage(self, expected_exception, expected_message): """Assert that a call raises an exception with the given message. Args: expected_exception (type): The type of exception that's expected to be raised. expected_message (unicode): The expected exception message. Raises: AssertionError: The assertion failure, if the exception and message isn't raised. """ # This explicitly uses the old name, as opposed to assertRaisesRegex, # because we still need Python 2.7 support. Once we move to Python 3, # we can fix this. > return self.assertRaisesRegexp(expected_exception, re.escape(expected_message)) E AttributeError: 'GuessExistingReviewRequestTests' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? rbtools/testing/testcase.py:297: AttributeError ___________ ScanSCMClientsForPathTests.test_with_check_remote_false ____________ self = def test_with_check_remote_false(self): """Testing scan_scmclients_for_path with check_remote=False""" tempdir = make_tempdir() git_dir = os.path.realpath(os.path.join(tempdir, 'git-repo')) execute(['git', 'init', git_dir]) self.spy_on(MercurialClient.is_remote_only, owner=MercurialClient, op=kgb.SpyOpReturn(True)) self.spy_on(MercurialClient.get_repository_info, owner=MercurialClient, op=kgb.SpyOpReturn(RepositoryInfo( path='xxx'))) scan_result = scan_scmclients_for_path( path=git_dir, scmclient_kwargs={ 'options': {}, }, check_remote=False) self.assertTrue(scan_result.found) self.assertEqual(scan_result.local_path, git_dir) self.assertIsInstance(scan_result.scmclient, GitClient) > self.assertEqual(scan_result.scmclient_errors, {}) E AssertionError: {'mercurial': RunProcessError('Unexpected [40 chars]ig')} != {} E - {'mercurial': RunProcessError('Unexpected error executing the command: hg showconfig')} E + {} rbtools/utils/tests/test_source_tree.py:246: AssertionError ------------------------------ Captured log call ------------------------------- 10:08:35 ERROR rbtools.utils.source_tree -- Unexpected error fetching Mercurial local path information for /tmp/rbtools._w6aarf1/git-repo: Unexpected error executing the command: hg showconfig Traceback (most recent call last): File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/source_tree.py", line 291, in _get_scmclient_candidates local_path = scmclient.get_local_path() ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 297, in get_local_path return self.hg_root ^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 172, in hg_root self._load_hgrc() File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 573, in _load_hgrc for line in execute([self._exe, 'showconfig'], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/process.py", line 638, in execute result = run_process( ^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/process.py", line 418, in run_process raise RunProcessError(run_result) rbtools.utils.process.RunProcessError: Unexpected error executing the command: hg showconfig ______________ ScanSCMClientsForPathTests.test_with_nested_repos _______________ self = def test_with_nested_repos(self): """Testing scan_scmclients_for_path with nested repositories and multiple matches """ tempdir = make_tempdir() hg_dir = os.path.realpath(os.path.join(tempdir, 'hg-repo')) git_dir = os.path.join(hg_dir, 'git-repo') > execute(['hg', 'init', hg_dir]) rbtools/utils/tests/test_source_tree.py:83: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ rbtools/utils/process.py:638: in execute result = run_process( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ command = ['hg', 'init', '/tmp/rbtools.hp2g9w_c/hg-repo'] def run_process( command: Union[AnyStr, List[AnyStr]], *, cwd: Optional[str] = None, env: Optional[Dict[str, str]] = None, encoding: str = 'utf-8', needs_stdout: bool = True, needs_stderr: bool = True, redirect_stderr: bool = False, ignore_errors: Union[bool, Tuple[int, ...]] = False, log_debug_output_on_error: bool = True, ) -> RunProcessResult: """Run a command and return the results. This will run the provided command and its arguments, optionally with the provided environment and working directory, returning a result that can be processed by the caller. Callers have access to the raw byte streams of the process's standard output and error streams, and can use those to decode or further process any results. This is the successor to :py:func:`execute`, which will be removed in a future release. Note that unit tests should not spy on this function. Instead, spy on :py:func:`run_process_exec`. Version Added: 4.0 Args: command (list of str): The command to execute. This should always be passed as a list of strings. It does accept passing a single string, or passing bytes instead of Unicode strings, but this is not recommended and is mainly for backwards-compatibility with :py:func:`execute`. cwd (str, optional): An optional working directory in which to run the command. env (dict, optional): Environment variables to pass to the called executable. These will be combined with the current environment and used for the process. :envvar:`LC_ALL` and :envvar:`LANGUAGE` will added to the final environment, set to ``en_US.UTF-8``. encoding (str, optional): The encoding used to convert any output to Unicode strings. This can usually be left as the default of ``utf-8``. needs_stdout (bool, optional): Whether the caller needs standard output captured. If ``True`` (the default), :py:attr:`RunProcessResult.stdout_bytes` and :py:attr:`RunProcessResult.stdout` will contain any standard output from the process. If ``False``, standard output will be not be captured, and those will contain empty strings. needs_stderr (bool, optional): Whether the caller needs standard error output captured. If ``True`` (the default), :py:attr:`RunProcessResult.stderr_bytes` and :py:attr:`RunProcessResult.stderr` will contain any standard error output from the process. If ``False``, standard error output will be not be captured, and those will contain empty strings. Note that ``redirect_stderr`` takes precedence over this. redirect_stderr (bool, optional): Whether to redirect stderr output to stdout, combining the results into one. If set, :py:attr:`RunProcessResult.stderr_bytes` and :py:attr:`RunProcessResult.stderr` will be empty. Instead, any standard error output (if any) will be set in :py:attr:`RunProcessResult.stdout` (note that this also requires ``needs_stdout=True`` to stay set, which is the default). ignore_errors (bool or tuple, optional): Whether to ignore errors, or specific exit codes to ignore. If ``False`` (the default), non-0 exit codes will raise a :py:class:`RunProcessError`. If ``True``, exit codes will never cause the exception to be raised. If set to a tuple of exit codes, then those codes (including 0) will be ignored, and any other non-0 code will raise the exception. This is a convenience over catching :py:class:`RunProcessError` and accessing :py:attr:`RunProcessError.result`. log_debug_output_on_error (bool, optional): Whether to log the full output and errors of a command if it returns a non-0 exit code. Non-0 error codes will always log a debug message about the result. However, if this is ``True``, the output and errors will also be logged. The default is ``True``. Returns: RunProcessResult: The result of running the process, if no errors in execution were encountered. Raises: Exception: Any unexpected exceptions from running the command. FileNotFoundError: The provided program could not be found. PermissionError: The user didn't have permissions to run the provided program, or the program wasn't executable. RunProcessError: The command returned a non-0 exit code, and that code wasn't ignored. Details of the command and its results will be available as part of the exception. TypeError: The value for ``command`` was not a string, bytes, or list of either. """ assert isinstance(ignore_errors, (bool, tuple)) if isinstance(command, list): command_str = subprocess.list2cmdline( force_unicode(_part) for _part in command ) elif isinstance(command, bytes): command_str = force_unicode(command) elif isinstance(command, str): command_str = command else: raise TypeError('Unsupported type for command: %s' % type(command)) logger.debug('Running: %s', command_str) # Build a new environment for the process, containing any caller-provided # arguments and some default locales. new_env = os.environ.copy() if env: new_env.update(env) # NOTE: This can break on systems that don't have the en_US locale # installed (which isn't very many). Ideally in this case, we could # put something in the config file, but that's not plumbed through to # here. new_env['LC_ALL'] = 'en_US.UTF-8' new_env['LANGUAGE'] = 'en_US.UTF-8' # Run the process. try: exit_code, stdout, stderr = run_process_exec( command, cwd=cwd, env=new_env, needs_stdout=needs_stdout, needs_stderr=needs_stderr, redirect_stderr=redirect_stderr) except FileNotFoundError: logger.debug('Command not found (%s)', command_str) raise except PermissionError as e: logger.debug('Permission denied running command (%s): %s', command_str, e) raise except Exception as e: logger.debug('Unexpected error running command (%s): %s', command_str, e) raise # Process results. We'll build a response, and then determine if we need # to raise an exception. assert isinstance(exit_code, int) assert stdout is None or isinstance(stdout, bytes) assert stderr is None or isinstance(stderr, bytes) assert needs_stderr or not redirect_stderr or stderr in (b'', None) assert needs_stdout or stdout in (b'', None) has_error = (exit_code != 0) ignored_error = ( has_error and ignore_errors is True or (isinstance(ignore_errors, tuple) and exit_code in ignore_errors)) # Convert that into a result for the caller or the exception. run_result = RunProcessResult( command=command_str, encoding=encoding, exit_code=exit_code, ignored_error=ignored_error, stdout=stdout or b'', stderr=stderr or b'') if has_error: # Log some useful information on the result, and possibly raise an # exception. if ignored_error: logger.debug('Command exited with rc=%s (errors ignored): %s', exit_code, run_result.command) else: logger.debug('Command errored with rc=%s: %s', exit_code, run_result.command) if log_debug_output_on_error: logger.debug('Command stdout=%r', stdout) logger.debug('Command stderr=%r', stderr) if not ignored_error: > raise RunProcessError(run_result) E rbtools.utils.process.RunProcessError: Unexpected error executing the command: hg init /tmp/rbtools.hp2g9w_c/hg-repo rbtools/utils/process.py:418: RunProcessError __ ScanSCMClientsForPathTests.test_with_nested_repos_and_scmclient_ids_match ___ self = def test_with_nested_repos_and_scmclient_ids_match(self): """Testing scan_scmclients_for_path with nested repositories and scmclient_ids= with match """ tempdir = make_tempdir() hg_dir = os.path.realpath(os.path.join(tempdir, 'hg-repo')) git_dir = os.path.join(hg_dir, 'git-repo') > execute(['hg', 'init', hg_dir]) rbtools/utils/tests/test_source_tree.py:125: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ rbtools/utils/process.py:638: in execute result = run_process( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ command = ['hg', 'init', '/tmp/rbtools.svmrsgbu/hg-repo'] def run_process( command: Union[AnyStr, List[AnyStr]], *, cwd: Optional[str] = None, env: Optional[Dict[str, str]] = None, encoding: str = 'utf-8', needs_stdout: bool = True, needs_stderr: bool = True, redirect_stderr: bool = False, ignore_errors: Union[bool, Tuple[int, ...]] = False, log_debug_output_on_error: bool = True, ) -> RunProcessResult: """Run a command and return the results. This will run the provided command and its arguments, optionally with the provided environment and working directory, returning a result that can be processed by the caller. Callers have access to the raw byte streams of the process's standard output and error streams, and can use those to decode or further process any results. This is the successor to :py:func:`execute`, which will be removed in a future release. Note that unit tests should not spy on this function. Instead, spy on :py:func:`run_process_exec`. Version Added: 4.0 Args: command (list of str): The command to execute. This should always be passed as a list of strings. It does accept passing a single string, or passing bytes instead of Unicode strings, but this is not recommended and is mainly for backwards-compatibility with :py:func:`execute`. cwd (str, optional): An optional working directory in which to run the command. env (dict, optional): Environment variables to pass to the called executable. These will be combined with the current environment and used for the process. :envvar:`LC_ALL` and :envvar:`LANGUAGE` will added to the final environment, set to ``en_US.UTF-8``. encoding (str, optional): The encoding used to convert any output to Unicode strings. This can usually be left as the default of ``utf-8``. needs_stdout (bool, optional): Whether the caller needs standard output captured. If ``True`` (the default), :py:attr:`RunProcessResult.stdout_bytes` and :py:attr:`RunProcessResult.stdout` will contain any standard output from the process. If ``False``, standard output will be not be captured, and those will contain empty strings. needs_stderr (bool, optional): Whether the caller needs standard error output captured. If ``True`` (the default), :py:attr:`RunProcessResult.stderr_bytes` and :py:attr:`RunProcessResult.stderr` will contain any standard error output from the process. If ``False``, standard error output will be not be captured, and those will contain empty strings. Note that ``redirect_stderr`` takes precedence over this. redirect_stderr (bool, optional): Whether to redirect stderr output to stdout, combining the results into one. If set, :py:attr:`RunProcessResult.stderr_bytes` and :py:attr:`RunProcessResult.stderr` will be empty. Instead, any standard error output (if any) will be set in :py:attr:`RunProcessResult.stdout` (note that this also requires ``needs_stdout=True`` to stay set, which is the default). ignore_errors (bool or tuple, optional): Whether to ignore errors, or specific exit codes to ignore. If ``False`` (the default), non-0 exit codes will raise a :py:class:`RunProcessError`. If ``True``, exit codes will never cause the exception to be raised. If set to a tuple of exit codes, then those codes (including 0) will be ignored, and any other non-0 code will raise the exception. This is a convenience over catching :py:class:`RunProcessError` and accessing :py:attr:`RunProcessError.result`. log_debug_output_on_error (bool, optional): Whether to log the full output and errors of a command if it returns a non-0 exit code. Non-0 error codes will always log a debug message about the result. However, if this is ``True``, the output and errors will also be logged. The default is ``True``. Returns: RunProcessResult: The result of running the process, if no errors in execution were encountered. Raises: Exception: Any unexpected exceptions from running the command. FileNotFoundError: The provided program could not be found. PermissionError: The user didn't have permissions to run the provided program, or the program wasn't executable. RunProcessError: The command returned a non-0 exit code, and that code wasn't ignored. Details of the command and its results will be available as part of the exception. TypeError: The value for ``command`` was not a string, bytes, or list of either. """ assert isinstance(ignore_errors, (bool, tuple)) if isinstance(command, list): command_str = subprocess.list2cmdline( force_unicode(_part) for _part in command ) elif isinstance(command, bytes): command_str = force_unicode(command) elif isinstance(command, str): command_str = command else: raise TypeError('Unsupported type for command: %s' % type(command)) logger.debug('Running: %s', command_str) # Build a new environment for the process, containing any caller-provided # arguments and some default locales. new_env = os.environ.copy() if env: new_env.update(env) # NOTE: This can break on systems that don't have the en_US locale # installed (which isn't very many). Ideally in this case, we could # put something in the config file, but that's not plumbed through to # here. new_env['LC_ALL'] = 'en_US.UTF-8' new_env['LANGUAGE'] = 'en_US.UTF-8' # Run the process. try: exit_code, stdout, stderr = run_process_exec( command, cwd=cwd, env=new_env, needs_stdout=needs_stdout, needs_stderr=needs_stderr, redirect_stderr=redirect_stderr) except FileNotFoundError: logger.debug('Command not found (%s)', command_str) raise except PermissionError as e: logger.debug('Permission denied running command (%s): %s', command_str, e) raise except Exception as e: logger.debug('Unexpected error running command (%s): %s', command_str, e) raise # Process results. We'll build a response, and then determine if we need # to raise an exception. assert isinstance(exit_code, int) assert stdout is None or isinstance(stdout, bytes) assert stderr is None or isinstance(stderr, bytes) assert needs_stderr or not redirect_stderr or stderr in (b'', None) assert needs_stdout or stdout in (b'', None) has_error = (exit_code != 0) ignored_error = ( has_error and ignore_errors is True or (isinstance(ignore_errors, tuple) and exit_code in ignore_errors)) # Convert that into a result for the caller or the exception. run_result = RunProcessResult( command=command_str, encoding=encoding, exit_code=exit_code, ignored_error=ignored_error, stdout=stdout or b'', stderr=stderr or b'') if has_error: # Log some useful information on the result, and possibly raise an # exception. if ignored_error: logger.debug('Command exited with rc=%s (errors ignored): %s', exit_code, run_result.command) else: logger.debug('Command errored with rc=%s: %s', exit_code, run_result.command) if log_debug_output_on_error: logger.debug('Command stdout=%r', stdout) logger.debug('Command stderr=%r', stderr) if not ignored_error: > raise RunProcessError(run_result) E rbtools.utils.process.RunProcessError: Unexpected error executing the command: hg init /tmp/rbtools.svmrsgbu/hg-repo rbtools/utils/process.py:418: RunProcessError _ ScanSCMClientsForPathTests.test_with_nested_repos_and_scmclient_ids_no_match _ self = def test_with_nested_repos_and_scmclient_ids_no_match(self): """Testing scan_scmclients_for_path with nested repositories and scmclient_ids= with no match """ tempdir = make_tempdir() hg_dir = os.path.realpath(os.path.join(tempdir, 'hg-repo')) git_dir = os.path.join(hg_dir, 'git-repo') > execute(['hg', 'init', hg_dir]) rbtools/utils/tests/test_source_tree.py:163: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ rbtools/utils/process.py:638: in execute result = run_process( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ command = ['hg', 'init', '/tmp/rbtools.yiln6hsz/hg-repo'] def run_process( command: Union[AnyStr, List[AnyStr]], *, cwd: Optional[str] = None, env: Optional[Dict[str, str]] = None, encoding: str = 'utf-8', needs_stdout: bool = True, needs_stderr: bool = True, redirect_stderr: bool = False, ignore_errors: Union[bool, Tuple[int, ...]] = False, log_debug_output_on_error: bool = True, ) -> RunProcessResult: """Run a command and return the results. This will run the provided command and its arguments, optionally with the provided environment and working directory, returning a result that can be processed by the caller. Callers have access to the raw byte streams of the process's standard output and error streams, and can use those to decode or further process any results. This is the successor to :py:func:`execute`, which will be removed in a future release. Note that unit tests should not spy on this function. Instead, spy on :py:func:`run_process_exec`. Version Added: 4.0 Args: command (list of str): The command to execute. This should always be passed as a list of strings. It does accept passing a single string, or passing bytes instead of Unicode strings, but this is not recommended and is mainly for backwards-compatibility with :py:func:`execute`. cwd (str, optional): An optional working directory in which to run the command. env (dict, optional): Environment variables to pass to the called executable. These will be combined with the current environment and used for the process. :envvar:`LC_ALL` and :envvar:`LANGUAGE` will added to the final environment, set to ``en_US.UTF-8``. encoding (str, optional): The encoding used to convert any output to Unicode strings. This can usually be left as the default of ``utf-8``. needs_stdout (bool, optional): Whether the caller needs standard output captured. If ``True`` (the default), :py:attr:`RunProcessResult.stdout_bytes` and :py:attr:`RunProcessResult.stdout` will contain any standard output from the process. If ``False``, standard output will be not be captured, and those will contain empty strings. needs_stderr (bool, optional): Whether the caller needs standard error output captured. If ``True`` (the default), :py:attr:`RunProcessResult.stderr_bytes` and :py:attr:`RunProcessResult.stderr` will contain any standard error output from the process. If ``False``, standard error output will be not be captured, and those will contain empty strings. Note that ``redirect_stderr`` takes precedence over this. redirect_stderr (bool, optional): Whether to redirect stderr output to stdout, combining the results into one. If set, :py:attr:`RunProcessResult.stderr_bytes` and :py:attr:`RunProcessResult.stderr` will be empty. Instead, any standard error output (if any) will be set in :py:attr:`RunProcessResult.stdout` (note that this also requires ``needs_stdout=True`` to stay set, which is the default). ignore_errors (bool or tuple, optional): Whether to ignore errors, or specific exit codes to ignore. If ``False`` (the default), non-0 exit codes will raise a :py:class:`RunProcessError`. If ``True``, exit codes will never cause the exception to be raised. If set to a tuple of exit codes, then those codes (including 0) will be ignored, and any other non-0 code will raise the exception. This is a convenience over catching :py:class:`RunProcessError` and accessing :py:attr:`RunProcessError.result`. log_debug_output_on_error (bool, optional): Whether to log the full output and errors of a command if it returns a non-0 exit code. Non-0 error codes will always log a debug message about the result. However, if this is ``True``, the output and errors will also be logged. The default is ``True``. Returns: RunProcessResult: The result of running the process, if no errors in execution were encountered. Raises: Exception: Any unexpected exceptions from running the command. FileNotFoundError: The provided program could not be found. PermissionError: The user didn't have permissions to run the provided program, or the program wasn't executable. RunProcessError: The command returned a non-0 exit code, and that code wasn't ignored. Details of the command and its results will be available as part of the exception. TypeError: The value for ``command`` was not a string, bytes, or list of either. """ assert isinstance(ignore_errors, (bool, tuple)) if isinstance(command, list): command_str = subprocess.list2cmdline( force_unicode(_part) for _part in command ) elif isinstance(command, bytes): command_str = force_unicode(command) elif isinstance(command, str): command_str = command else: raise TypeError('Unsupported type for command: %s' % type(command)) logger.debug('Running: %s', command_str) # Build a new environment for the process, containing any caller-provided # arguments and some default locales. new_env = os.environ.copy() if env: new_env.update(env) # NOTE: This can break on systems that don't have the en_US locale # installed (which isn't very many). Ideally in this case, we could # put something in the config file, but that's not plumbed through to # here. new_env['LC_ALL'] = 'en_US.UTF-8' new_env['LANGUAGE'] = 'en_US.UTF-8' # Run the process. try: exit_code, stdout, stderr = run_process_exec( command, cwd=cwd, env=new_env, needs_stdout=needs_stdout, needs_stderr=needs_stderr, redirect_stderr=redirect_stderr) except FileNotFoundError: logger.debug('Command not found (%s)', command_str) raise except PermissionError as e: logger.debug('Permission denied running command (%s): %s', command_str, e) raise except Exception as e: logger.debug('Unexpected error running command (%s): %s', command_str, e) raise # Process results. We'll build a response, and then determine if we need # to raise an exception. assert isinstance(exit_code, int) assert stdout is None or isinstance(stdout, bytes) assert stderr is None or isinstance(stderr, bytes) assert needs_stderr or not redirect_stderr or stderr in (b'', None) assert needs_stdout or stdout in (b'', None) has_error = (exit_code != 0) ignored_error = ( has_error and ignore_errors is True or (isinstance(ignore_errors, tuple) and exit_code in ignore_errors)) # Convert that into a result for the caller or the exception. run_result = RunProcessResult( command=command_str, encoding=encoding, exit_code=exit_code, ignored_error=ignored_error, stdout=stdout or b'', stderr=stderr or b'') if has_error: # Log some useful information on the result, and possibly raise an # exception. if ignored_error: logger.debug('Command exited with rc=%s (errors ignored): %s', exit_code, run_result.command) else: logger.debug('Command errored with rc=%s: %s', exit_code, run_result.command) if log_debug_output_on_error: logger.debug('Command stdout=%r', stdout) logger.debug('Command stderr=%r', stderr) if not ignored_error: > raise RunProcessError(run_result) E rbtools.utils.process.RunProcessError: Unexpected error executing the command: hg init /tmp/rbtools.yiln6hsz/hg-repo rbtools/utils/process.py:418: RunProcessError ________________ ScanSCMClientsForPathTests.test_with_no_match _________________ self = def test_with_no_match(self): """Testing scan_scmclients_for_path with single match""" tempdir = make_tempdir() scan_result = scan_scmclients_for_path( path=tempdir, scmclient_kwargs={ 'options': {}, }) self.assertFalse(scan_result.found) self.assertIsNone(scan_result.local_path) self.assertIsNone(scan_result.scmclient) self.assertIsNone(scan_result.repository_info) > self.assertEqual(scan_result.scmclient_errors, {}) E AssertionError: {'mercurial': RunProcessError('Unexpected [40 chars]ig')} != {} E - {'mercurial': RunProcessError('Unexpected error executing the command: hg showconfig')} E + {} rbtools/utils/tests/test_source_tree.py:72: AssertionError ------------------------------ Captured log call ------------------------------- 10:08:37 ERROR rbtools.utils.source_tree -- Unexpected error fetching Mercurial local path information for /tmp/rbtools.dsl3ze7z: Unexpected error executing the command: hg showconfig Traceback (most recent call last): File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/source_tree.py", line 291, in _get_scmclient_candidates local_path = scmclient.get_local_path() ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 297, in get_local_path return self.hg_root ^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 172, in hg_root self._load_hgrc() File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 573, in _load_hgrc for line in execute([self._exe, 'showconfig'], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/process.py", line 638, in execute result = run_process( ^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/process.py", line 418, in run_process raise RunProcessError(run_result) rbtools.utils.process.RunProcessError: Unexpected error executing the command: hg showconfig _ ScanSCMClientsForPathTests.test_with_scmclient_errors_from_get_repository_info _ self = def test_with_scmclient_errors_from_get_repository_info(self): """Testing scan_scmclients_for_path with scmclient_errors from SCMClient.get_repository_info() """ tempdir = make_tempdir() git_dir = os.path.realpath(os.path.join(tempdir, 'git-repo')) e = Exception('oh no') execute(['git', 'init', git_dir]) self.spy_on(GitClient.get_repository_info, owner=GitClient, op=kgb.SpyOpRaise(e)) scan_result = scan_scmclients_for_path( path=git_dir, scmclient_kwargs={ 'options': {}, }) self.assertFalse(scan_result.found) self.assertIsNone(scan_result.local_path) self.assertIsNone(scan_result.scmclient) # Check the candidates. self.assertEqual(len(scan_result.candidates), 1) candidate = scan_result.candidates[0] self.assertEqual(candidate.local_path, git_dir) self.assertIsInstance(candidate.scmclient, GitClient) # Check the errors. > self.assertEqual(scan_result.scmclient_errors, { 'git': e, }) E AssertionError: {'mercurial': RunProcessError('Unexpected e[66 chars]no')} != {'git': Exception('oh no')} E - {'git': Exception('oh no'), E ? ^ E E + {'git': Exception('oh no')} E ? ^ E E - 'mercurial': RunProcessError('Unexpected error executing the command: hg showconfig')} rbtools/utils/tests/test_source_tree.py:435: AssertionError ------------------------------ Captured log call ------------------------------- 10:08:38 ERROR rbtools.utils.source_tree -- Unexpected error fetching Mercurial local path information for /tmp/rbtools.kb76y5b6/git-repo: Unexpected error executing the command: hg showconfig Traceback (most recent call last): File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/source_tree.py", line 291, in _get_scmclient_candidates local_path = scmclient.get_local_path() ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 297, in get_local_path return self.hg_root ^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 172, in hg_root self._load_hgrc() File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 573, in _load_hgrc for line in execute([self._exe, 'showconfig'], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/process.py", line 638, in execute result = run_process( ^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/process.py", line 418, in run_process raise RunProcessError(run_result) rbtools.utils.process.RunProcessError: Unexpected error executing the command: hg showconfig 10:08:38 ERROR rbtools.utils.source_tree -- Unexpected error fetching Git repository for /tmp/rbtools.kb76y5b6/git-repo: oh no Traceback (most recent call last): File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/source_tree.py", line 440, in scan_scmclients_for_path repository_info = scmclient.get_repository_info() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 5, in get_repository_info File "/usr/lib/python3.12/site-packages/kgb/spies.py", line 611, in __call__ result = func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/kgb/ops.py", line 74, in fake_func return self._on_spy_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/kgb/ops.py", line 109, in _on_spy_call return self.handle_call(spy_call, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/kgb/ops.py", line 551, in handle_call raise self.exc Exception: oh no __ ScanSCMClientsForPathTests.test_with_scmclient_errors_from_is_remote_only ___ self = def test_with_scmclient_errors_from_is_remote_only(self): """Testing scan_scmclients_for_path with scmclient_errors from SCMClient.is_remote_only() """ tempdir = make_tempdir() git_dir = os.path.realpath(os.path.join(tempdir, 'git-repo')) e = Exception('oh no') execute(['git', 'init', git_dir]) self.spy_on(MercurialClient.is_remote_only, owner=MercurialClient, op=kgb.SpyOpRaise(e)) scan_result = scan_scmclients_for_path( path=git_dir, scmclient_kwargs={ 'options': {}, }) self.assertTrue(scan_result.found) self.assertEqual(scan_result.local_path, git_dir) self.assertIsInstance(scan_result.scmclient, GitClient) # Check the repository information. repository_info = scan_result.repository_info assert repository_info is not None self.assertEqual(repository_info.path, os.path.join(git_dir, '.git')) self.assertEqual(repository_info.base_path, '') self.assertEqual(repository_info.local_path, git_dir) # Check the candidates. self.assertEqual(len(scan_result.candidates), 1) candidate = scan_result.candidates[0] self.assertEqual(candidate.local_path, git_dir) self.assertIsInstance(candidate.scmclient, GitClient) # Check the errors. > self.assertEqual(scan_result.scmclient_errors, { 'mercurial': e, }) E AssertionError: {'mercurial': RunProcessError('Unexpected error executi[27 chars]ig')} != {'mercurial': Exception('oh no')} E - {'mercurial': RunProcessError('Unexpected error executing the command: hg showconfig')} E + {'mercurial': Exception('oh no')} rbtools/utils/tests/test_source_tree.py:352: AssertionError ------------------------------ Captured log call ------------------------------- 10:08:38 ERROR rbtools.utils.source_tree -- Unexpected error checking Mercurial remote-only repository match for /tmp/rbtools.j9qx45ta/git-repo: oh no Traceback (most recent call last): File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/source_tree.py", line 263, in _get_scmclient_candidates is_remote_only = scmclient.is_remote_only() ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 5, in is_remote_only File "/usr/lib/python3.12/site-packages/kgb/spies.py", line 611, in __call__ result = func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/kgb/ops.py", line 74, in fake_func return self._on_spy_call(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/kgb/ops.py", line 109, in _on_spy_call return self.handle_call(spy_call, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/kgb/ops.py", line 551, in handle_call raise self.exc Exception: oh no 10:08:39 ERROR rbtools.utils.source_tree -- Unexpected error fetching Mercurial local path information for /tmp/rbtools.j9qx45ta/git-repo: Unexpected error executing the command: hg showconfig Traceback (most recent call last): File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/source_tree.py", line 291, in _get_scmclient_candidates local_path = scmclient.get_local_path() ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 297, in get_local_path return self.hg_root ^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 172, in hg_root self._load_hgrc() File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 573, in _load_hgrc for line in execute([self._exe, 'showconfig'], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/process.py", line 638, in execute result = run_process( ^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/process.py", line 418, in run_process raise RunProcessError(run_result) rbtools.utils.process.RunProcessError: Unexpected error executing the command: hg showconfig ______________ ScanSCMClientsForPathTests.test_with_single_match _______________ self = def test_with_single_match(self): """Testing scan_scmclients_for_path with single match""" tempdir = make_tempdir() git_dir = os.path.realpath(os.path.join(tempdir, 'my-repo.git')) execute(['git', 'init', git_dir]) scan_result = scan_scmclients_for_path( path=git_dir, scmclient_kwargs={ 'options': {}, }) self.assertTrue(scan_result.found) self.assertEqual(scan_result.local_path, git_dir) self.assertIsInstance(scan_result.scmclient, GitClient) > self.assertEqual(scan_result.scmclient_errors, {}) E AssertionError: {'mercurial': RunProcessError('Unexpected [40 chars]ig')} != {} E - {'mercurial': RunProcessError('Unexpected error executing the command: hg showconfig')} E + {} rbtools/utils/tests/test_source_tree.py:40: AssertionError ------------------------------ Captured log call ------------------------------- 10:08:39 ERROR rbtools.utils.source_tree -- Unexpected error fetching Mercurial local path information for /tmp/rbtools.u9lkiin5/my-repo.git: Unexpected error executing the command: hg showconfig Traceback (most recent call last): File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/source_tree.py", line 291, in _get_scmclient_candidates local_path = scmclient.get_local_path() ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 297, in get_local_path return self.hg_root ^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 172, in hg_root self._load_hgrc() File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/clients/mercurial.py", line 573, in _load_hgrc for line in execute([self._exe, 'showconfig'], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/process.py", line 638, in execute result = run_process( ^^^^^^^^^^^^ File "/home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/process.py", line 418, in run_process raise RunProcessError(run_result) rbtools.utils.process.RunProcessError: Unexpected error executing the command: hg showconfig =============================== warnings summary =============================== rbtools/api/resource.py:9 /home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/api/resource.py:9: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html from pkg_resources import parse_version rbtools/utils/appdirs.py:101 /home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/appdirs.py:101: SyntaxWarning: invalid escape sequence '\D' """Return full path to the user-shared data dir for this application. rbtools/utils/appdirs.py:207 /home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/utils/appdirs.py:207: SyntaxWarning: invalid escape sequence '\P' """Return full path to the user-shared data dir for this application. rbtools/api/tests/test_http_request.py::HttpRequestTests::test_encode_multipart_formdata /home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/api/tests/test_http_request.py:64: RemovedInRBTools50Warning: A value of type %s was passed to HttpRequest.add_field. In RBTools 5.0, only values of bytes or str types will be accepted. request.add_field('bar', 42) rbtools/api/tests/test_resource.py::ItemResourceTests::test_update_with_extra_data rbtools/api/tests/test_resource.py::ItemResourceTests::test_update_with_extra_data /home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/api/resource.py:244: RemovedInRBTools50Warning: A value of type %s was passed to HttpRequest.add_field. In RBTools 5.0, only values of bytes or str types will be accepted. request.add_field(name, value) rbtools/api/tests/test_resource.py::ListResourceTests::test_create_with_extra_data rbtools/api/tests/test_resource.py::ListResourceTests::test_create_with_extra_data /home/patrycja/aports/community/rbtools/src/RBTools-4.1/rbtools/api/resource.py:180: RemovedInRBTools50Warning: A value of type %s was passed to HttpRequest.add_field. In RBTools 5.0, only values of bytes or str types will be accepted. request.add_field(name, value) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED rbtools/api/tests/test_resource.py::ResourceFieldDictTests::test_clear FAILED rbtools/api/tests/test_resource.py::ResourceFieldDictTests::test_getattr_with_invalid_key FAILED rbtools/api/tests/test_resource.py::ResourceFieldDictTests::test_getitem_with_invalid_key FAILED rbtools/api/tests/test_resource.py::ResourceFieldDictTests::test_pop FAILED rbtools/api/tests/test_resource.py::ResourceFieldDictTests::test_popitem FAILED rbtools/api/tests/test_resource.py::ResourceFieldDictTests::test_setdefault FAILED rbtools/api/tests/test_resource.py::ResourceFieldDictTests::test_setitem FAILED rbtools/api/tests/test_resource.py::ResourceFieldDictTests::test_update FAILED rbtools/api/tests/test_resource.py::ResourceExtraDataFieldTests::test_setitem FAILED rbtools/clients/tests/test_bzr.py::BazaarClientStandaloneTests::test_check_dependencies_with_missing FAILED rbtools/clients/tests/test_clearcase.py::ClearCaseClientTests::test_check_dependencies_with_missing FAILED rbtools/clients/tests/test_plastic.py::PlasticClientTests::test_check_dependencies_with_missing FAILED rbtools/clients/tests/test_sos.py::SOSClientTests::test_check_dependencies_with_missing FAILED rbtools/clients/tests/test_sos.py::SOSClientTests::test_parse_revision_spec_with_1_arg_changelist_not_supported FAILED rbtools/clients/tests/test_tfs.py::TFExeWrapperTests::test_diff_with_non_working_copy_tip FAILED rbtools/clients/tests/test_tfs.py::TFExeWrapperTests::test_parse_revision_spec_with_no_changeset_found FAILED rbtools/clients/tests/test_tfs.py::TFHelperWrapperTests::test_parse_revision_spec_with_no_changeset_found FAILED rbtools/clients/tests/test_tfs.py::TFHelperWrapperTests::test_parse_revision_spec_with_no_changeset_found_no_error FAILED rbtools/clients/tests/test_tfs.py::TEEWrapperTests::test_parse_revision_spec_with_no_changeset_found FAILED rbtools/commands/tests/test_post.py::PostCommandTests::test_arg_field_set_again_by_custom_fields FAILED rbtools/commands/tests/test_post.py::PostCommandTests::test_wrong_argument_entry FAILED rbtools/diffs/tests/test_diff_tools_registry.py::DiffToolsRegistryTests::test_get_available_and_not_found FAILED rbtools/diffs/tests/test_diff_tools_registry.py::DiffToolsRegistryTests::test_get_available_with_ids_and_not_found FAILED rbtools/diffs/tests/test_diff_tools_registry.py::DiffToolsRegistryTests::test_get_available_with_setup_error FAILED rbtools/diffs/tests/test_diff_tools_registry.py::DiffToolsRegistryTests::test_register_with_conflict FAILED rbtools/diffs/tests/test_diff_tools_registry.py::DiffToolsRegistryTests::test_register_with_missing_id FAILED rbtools/utils/tests/test_process.py::RunProcessTests::test_with_exit_code_non_0 FAILED rbtools/utils/tests/test_process.py::RunProcessTests::test_with_exit_code_non_0_and_log_debug_output_on_error_false FAILED rbtools/utils/tests/test_process.py::RunProcessTests::test_with_ignore_errors_tuple_and_code_not_found FAILED rbtools/utils/tests/test_review_request.py::GuessExistingReviewRequestTests::test_with_api_error FAILED rbtools/utils/tests/test_source_tree.py::ScanSCMClientsForPathTests::test_with_check_remote_false FAILED rbtools/utils/tests/test_source_tree.py::ScanSCMClientsForPathTests::test_with_nested_repos FAILED rbtools/utils/tests/test_source_tree.py::ScanSCMClientsForPathTests::test_with_nested_repos_and_scmclient_ids_match FAILED rbtools/utils/tests/test_source_tree.py::ScanSCMClientsForPathTests::test_with_nested_repos_and_scmclient_ids_no_match FAILED rbtools/utils/tests/test_source_tree.py::ScanSCMClientsForPathTests::test_with_no_match FAILED rbtools/utils/tests/test_source_tree.py::ScanSCMClientsForPathTests::test_with_scmclient_errors_from_get_repository_info FAILED rbtools/utils/tests/test_source_tree.py::ScanSCMClientsForPathTests::test_with_scmclient_errors_from_is_remote_only FAILED rbtools/utils/tests/test_source_tree.py::ScanSCMClientsForPathTests::test_with_single_match === 38 failed, 425 passed, 52 skipped, 271 deselected, 8 warnings in 13.40s ==== >>> ERROR: rbtools: check failed >>> ERROR: rbtools: rootbld failed >>> rbtools: Cleaning up build chroot