[ 0s] Memory limit set to 48420172KB [ 0s] Using BUILD_ROOT=/var/tmp/build-root/openSUSE_Tumbleweed-x86_64 [ 0s] Using BUILD_ARCH=x86_64:i686:i586:i486:i386 [ 0s] [ 0s] [ 0s] milic started "build python-poetry.spec" at Thu Nov 28 17:10:45 UTC 2019. [ 0s] [ 0s] [ 1s] processing recipe /home/matej/build/home:mcepl:branches:devel:languages:python/python-poetry/python-poetry.spec ... [ 1s] running changelog2spec --target rpm --file /home/matej/build/home:mcepl:branches:devel:languages:python/python-poetry/python-poetry.spec [ 1s] init_buildsystem --configdir /usr/lib/build/configs --cachedir /var/cache/build --rpmlist /tmp/rpmlist.w94ows7c /home/matej/build/home:mcepl:branches:devel:languages:python/python-poetry/python-poetry.spec ccache ... [ 1s] reordering...cycle: libncurses6 -> terminfo-base [ 1s] breaking dependency terminfo-base -> libncurses6 [ 1s] cycle: info -> gzip [ 1s] breaking dependency info -> gzip [ 1s] cycle: libcrack2 -> cracklib [ 1s] breaking dependency cracklib -> libcrack2 [ 1s] cycle: shadow -> pam [ 1s] breaking dependency pam -> shadow [ 1s] cycle: gio-branding-upstream -> libgio-2_0-0 [ 1s] breaking dependency libgio-2_0-0 -> gio-branding-upstream [ 1s] cycle: libelf1 -> libebl-plugins -> libdw1 [ 1s] breaking dependency libebl-plugins -> libdw1 [ 1s] cycle: libelf1 -> libebl-plugins [ 1s] breaking dependency libelf1 -> libebl-plugins [ 1s] cycle: libgio-2_0-0 -> glib2-tools [ 1s] breaking dependency libgio-2_0-0 -> glib2-tools [ 1s] cycle: girepository-1_0 -> libgirepository-1_0-1 [ 1s] breaking dependency libgirepository-1_0-1 -> girepository-1_0 [ 1s] cycle: libtasn1-6 -> libtasn1 [ 1s] breaking dependency libtasn1 -> libtasn1-6 [ 1s] cycle: rpm -> rpm-config-SUSE [ 1s] breaking dependency rpm -> rpm-config-SUSE [ 1s] done [ 1s] querying package ids... [ 3s] [1/306] keeping file-magic-5.37-4.1 [ 3s] [2/306] keeping kernel-obs-build-5.3.12-1.1 [ 3s] [3/306] keeping libssh-config-0.9.2-1.1 [ 3s] [4/306] keeping libtirpc-netconfig-1.0.3-3.6 [ 3s] [5/306] keeping netcfg-11.6-4.3 [ 3s] [6/306] keeping pkgconf-m4-1.6.3-1.2 [ 3s] [7/306] keeping python-rpm-macros-20191104.08e6493-1.1 [ 3s] [8/306] keeping system-user-root-20190513-1.6 [ 3s] [9/306] keeping vim-data-common-8.1.2233-1.4 [ 3s] [10/306] keeping filesystem-15.5-29.1 [ 3s] [11/306] keeping glibc-2.30-1.2 [ 3s] [12/306] keeping fdupes-1.61-2.6 [ 3s] [13/306] keeping fillup-1.42-274.6 [ 3s] [14/306] keeping hostname-3.21-1.5 [ 3s] [15/306] keeping libacl1-2.2.53-3.6 [ 3s] [16/306] keeping libapparmor1-2.13.3-5.1 [ 3s] [17/306] keeping libargon2-1-0.0+git20171227.670229c-2.6 [ 3s] [18/306] keeping libatomic1-9.2.1+r275327-1.2 [ 3s] [19/306] keeping libattr1-2.4.48-3.3 [ 3s] [20/306] keeping libaudit1-2.8.4-2.3 [ 3s] [21/306] keeping libblkid1-2.34-4.2 [ 3s] [22/306] keeping libblogger2-2.19-3.1 [ 3s] [23/306] keeping libbrotlicommon1-1.0.7-3.1 [ 3s] [24/306] keeping libbz2-1-1.0.8-2.1 [ 3s] [25/306] keeping libcap-ng0-0.7.9-2.2 [ 3s] [26/306] keeping libcap2-2.25-4.13 [ 3s] [27/306] keeping libcom_err2-1.45.4-1.1 [ 3s] [28/306] keeping libcrypt1-4.4.3-2.3 [ 3s] [29/306] keeping libeconf0-0.3.3+git20191028.3ac14ce-1.1 [ 3s] [30/306] keeping libexpat1-2.2.8-1.2 [ 3s] [31/306] keeping libffi7-3.2.1.git505-2.1 [ 3s] [32/306] keeping libgcc_s1-9.2.1+r275327-1.2 [ 3s] [33/306] keeping libgdbm6-1.18.1-1.6 [ 3s] [34/306] keeping libgmp10-6.1.2-4.4 [ 3s] [35/306] keeping libgomp1-9.2.1+r275327-1.2 [ 3s] [36/306] keeping libgpg-error0-1.36-2.2 [ 3s] [37/306] keeping libitm1-9.2.1+r275327-1.2 [ 3s] [38/306] keeping libjson-c4-0.13.1-1.6 [ 3s] [39/306] keeping libkeyutils1-1.6-1.3 [ 3s] [40/306] keeping liblua5_3-5-5.3.5-2.1 [ 3s] [41/306] keeping liblz4-1-1.9.2-1.1 [ 3s] [42/306] keeping liblzma5-5.2.4-4.3 [ 3s] [43/306] keeping libmnl0-1.0.4-1.10 [ 3s] [44/306] keeping libnettle7-3.5.1-2.2 [ 3s] [45/306] keeping libnghttp2-14-1.39.2-2.3 [ 3s] [46/306] keeping libopenssl1_1-1.1.1d-1.1 [ 3s] [47/306] keeping libpcre1-8.42-3.1 [ 3s] [48/306] keeping libpcre2-8-0-10.33-1.4 [ 3s] [49/306] keeping libpipeline1-1.5.0-1.5 [ 3s] [50/306] keeping libpkgconf3-1.6.3-1.2 [ 3s] [51/306] keeping libpopt0-1.16-31.6 [ 3s] [52/306] keeping libpython2_7-1_0-2.7.17-1.1 [ 3s] [53/306] keeping libpython3_7m1_0-3.7.3-1.4 [ 3s] [54/306] keeping libqrencode4-4.0.2-1.2 [ 3s] [55/306] keeping libsasl2-3-2.1.27-1.6 [ 3s] [56/306] keeping libseccomp2-2.4.1-3.1 [ 3s] [57/306] keeping libsepol1-2.9-2.3 [ 3s] [58/306] keeping libsha1detectcoll1-1.0.3-4.6 [ 3s] [59/306] keeping libsmartcols1-2.34-4.2 [ 3s] [60/306] keeping libsqlite3-0-3.29.0-2.2 [ 3s] [61/306] keeping libudev1-243-4.1 [ 3s] [62/306] keeping libunistring2-0.9.10-2.5 [ 3s] [63/306] keeping libuuid1-2.34-4.2 [ 3s] [64/306] keeping libverto1-0.2.6-7.15 [ 3s] [65/306] keeping libyaml-0-2-0.2.2-2.1 [ 3s] [66/306] keeping libz1-1.2.11-12.1 [ 3s] [67/306] keeping libzstd1-1.4.4-1.1 [ 3s] [68/306] keeping patch-2.7.6-3.14 [ 3s] [69/306] keeping update-alternatives-1.19.0.5-5.2 [ 3s] [70/306] keeping attr-2.4.48-3.3 [ 3s] [71/306] keeping ccache-3.7.5-1.1 [ 3s] [72/306] keeping chkstat-1550_20191118-8.1 [ 3s] [73/306] keeping libbrotlidec1-1.0.7-3.1 [ 3s] [74/306] keeping libbrotlienc1-1.0.7-3.1 [ 3s] [75/306] keeping libgcrypt20-1.8.5-1.3 [ 3s] [76/306] keeping libgdbm_compat4-1.18.1-1.6 [ 3s] [77/306] keeping libglib-2_0-0-2.62.2-2.1 [ 3s] [78/306] keeping libidn2-0-2.3.0-1.1 [ 3s] [79/306] keeping libisl19-0.20-1.10 [ 3s] [80/306] keeping libmpfr6-4.0.2-2.2 [ 3s] [81/306] keeping libp11-kit0-0.23.12-2.5 [ 3s] [82/306] keeping libselinux1-2.9-6.1 [ 3s] [83/306] keeping libstdc++6-9.2.1+r275327-1.2 [ 3s] [84/306] keeping perl-base-5.28.1-3.4 [ 3s] [85/306] keeping pkgconf-1.6.3-1.2 [ 3s] [86/306] keeping libfdisk1-2.34-4.2 [ 3s] [87/306] keeping libhogweed5-3.5.1-2.2 [ 3s] [88/306] keeping libldap-2_4-2-2.4.48-48.3 [ 3s] [89/306] keeping libmagic1-5.37-4.1 [ 3s] [90/306] keeping libxml2-2-2.9.9-2.2 [ 3s] [91/306] keeping libkmod2-26-1.5 [ 3s] [92/306] keeping libzio1-1.06-4.7 [ 3s] [93/306] keeping build-mkbaselibs-20191114-1.1 [ 3s] [94/306] keeping file-5.37-4.1 [ 3s] [95/306] keeping libgmodule-2_0-0-2.62.2-2.1 [ 3s] [96/306] keeping libasan5-9.2.1+r275327-1.2 [ 3s] [97/306] keeping libcroco-0_6-3-0.6.13-2.4 [ 3s] [98/306] keeping libdb-4_8-4.8.30-38.2 [ 3s] [99/306] keeping libgobject-2_0-0-2.62.2-2.1 [ 3s] [100/306] keeping liblsan0-9.2.1+r275327-1.2 [ 3s] [101/306] keeping libmount1-2.34-4.2 [ 3s] [102/306] keeping libmpc3-1.1.0-2.3 [ 3s] [103/306] keeping libpsl5-0.21.0-2.2 [ 3s] [104/306] keeping libtsan0-9.2.1+r275327-1.2 [ 3s] [105/306] keeping libubsan1-9.2.1+r275327-1.2 [ 3s] [106/306] keeping libsystemd0-243-4.1 [ 3s] [107/306] keeping libsemanage1-2.9-3.3 [ 3s] [108/306] keeping krb5-1.17-4.2 [ 3s] [109/306] keeping libdbus-1-3-1.12.12-5.1 [ 3s] [110/306] keeping libtirpc3-1.0.3-3.6 [ 3s] [111/306] keeping libssh4-0.9.2-1.1 [ 3s] [112/306] keeping cpp9-9.2.1+r275327-1.2 [ 3s] [113/306] keeping perl-5.28.1-3.4 [ 3s] [114/306] keeping brp-check-suse-84.87+git20191016.914fe67-1.1 [ 3s] [115/306] keeping perl-Error-0.17028-1.1 [ 3s] [116/306] keeping libnsl2-1.2.0-2.14 [ 3s] [117/306] keeping libcurl4-7.67.0-2.1 [ 3s] [118/306] keeping terminfo-base-6.1-24.1 [ 3s] [119/306] keeping libelf1-0.177-3.2 [ 3s] [120/306] keeping dwz-0.13-3.1 [ 3s] [121/306] keeping libebl-plugins-0.177-3.2 [ 3s] [122/306] keeping libncurses6-6.1-24.1 [ 3s] [123/306] keeping libdw1-0.177-3.2 [ 3s] [124/306] keeping libedit0-3.1.snap20180525-2.4 [ 3s] [125/306] keeping libreadline8-8.0-3.2 [ 3s] [126/306] keeping ncurses-utils-6.1-24.1 [ 3s] [127/306] keeping info-6.7-1.1 [ 3s] [128/306] keeping bash-5.0.11-3.1 [ 3s] [129/306] keeping tar-1.32-1.2 [ 3s] [130/306] keeping cpp-9-1.6 [ 3s] [131/306] keeping bzip2-1.0.8-2.1 [ 3s] [132/306] keeping cpio-2.12-8.1 [ 3s] [133/306] keeping cracklib-2.9.6-2.14 [ 3s] [134/306] keeping diffutils-3.7-3.1 [ 3s] [135/306] keeping gzip-1.10-3.2 [ 3s] [136/306] keeping make-4.2.1-7.10 [ 3s] [137/306] keeping pkgconf-pkg-config-1.6.3-1.2 [ 3s] [138/306] keeping which-2.21-4.14 [ 3s] [139/306] keeping xz-5.2.4-4.3 [ 3s] [140/306] keeping findutils-4.7.0-1.2 [ 3s] [141/306] keeping gawk-5.0.1-3.1 [ 3s] [142/306] keeping grep-3.3-3.1 [ 3s] [143/306] keeping less-551-1.1 [ 3s] [144/306] keeping libdevmapper1_03-1.02.163-4.1 [ 3s] [145/306] keeping libtasn1-4.14-1.2 [ 3s] [146/306] keeping strace-5.3-1.1 [ 3s] [147/306] keeping gettext-runtime-0.19.8.1-13.4 [ 3s] [148/306] keeping groff-1.22.4-2.4 [ 3s] [149/306] keeping sed-4.7-2.1 [ 3s] [150/306] keeping iproute2-5.3-1.1 [ 3s] [151/306] keeping binutils-2.33.1-1.1 [ 3s] [152/306] keeping coreutils-8.31-2.2 [ 3s] [153/306] keeping vim-8.1.2233-1.4 [ 3s] [154/306] keeping python-base-2.7.17-1.1 [ 3s] [155/306] keeping python3-base-3.7.3-1.4 [ 3s] [156/306] keeping python-functools32-3.2.3.2-6.14 [ 3s] [157/306] keeping python2-appdirs-1.4.3-23.1 [ 3s] [158/306] keeping python2-glob2-0.7-5.1 [ 3s] [159/306] keeping python2-ordered-set-3.1.1-9.1 [ 3s] [160/306] keeping python2-pyparsing-2.4.5-72.2 [ 3s] [161/306] keeping python2-typing-3.7.4.1-29.1 [ 3s] [162/306] keeping python3-appdirs-1.4.3-23.1 [ 3s] [163/306] keeping python3-asn1crypto-1.0.0-16.3 [ 3s] [164/306] keeping python3-async_timeout-3.0.1-9.3 [ 3s] [165/306] keeping python3-atomicwrites-1.3.0-17.25 [ 3s] [166/306] keeping python3-attrs-19.3.0-25.37 [ 3s] [167/306] keeping python3-cachy-0.3.0-6.1 [ 3s] [168/306] keeping python3-click-7.0-28.2 [ 3s] [169/306] keeping python3-entrypoints-0.3-13.4 [ 3s] [170/306] keeping python3-filelock-3.0.12-11.1 [ 3s] [171/306] keeping python3-idna-2.8-14.8 [ 3s] [172/306] keeping python3-lockfile-0.12.2-37.4 [ 3s] [173/306] keeping python3-more-itertools-7.2.0-14.60 [ 3s] [174/306] keeping python3-mypy_extensions-0.4.3-8.1 [ 3s] [175/306] keeping python3-ordered-set-3.1.1-9.1 [ 3s] [176/306] keeping python3-pastel-0.1.1-5.1 [ 3s] [177/306] keeping python3-pathspec-0.6.0-9.1 [ 3s] [178/306] keeping python3-ptyprocess-0.6.0-14.5 [ 3s] [179/306] keeping python3-py-1.8.0-2.1 [ 3s] [180/306] keeping python3-pyasn1-0.4.8-94.1 [ 3s] [181/306] keeping python3-pycparser-2.19-27.20 [ 3s] [182/306] keeping python3-pylev-1.3.0-3.3 [ 3s] [183/306] keeping python3-pyparsing-2.4.5-72.2 [ 3s] [184/306] keeping python3-shellingham-1.3.1-5.4 [ 3s] [185/306] keeping python3-toml-0.10.0-9.6 [ 3s] [186/306] keeping python3-tomlkit-0.5.8-9.1 [ 3s] [187/306] keeping python3-typing_extensions-3.7.4.1-16.1 [ 3s] [188/306] keeping python3-wcwidth-0.1.7-18.53 [ 3s] [189/306] keeping python3-webencodings-0.5.1-12.1 [ 3s] [190/306] keeping systemd-rpm-macros-4-2.7 [ 3s] [191/306] keeping libtasn1-6-4.14-1.2 [ 3s] [192/306] keeping libxcrypt-devel-4.4.3-2.3 [ 3s] [193/306] keeping linux-glibc-devel-5.3-1.1 [ 3s] [194/306] keeping python2-six-1.12.0-86.1 [ 3s] [195/306] keeping python3-six-1.12.0-86.1 [ 3s] [196/306] keeping glibc-locale-base-2.30-1.2 [ 3s] [197/306] keeping libcrack2-2.9.6-2.14 [ 3s] [198/306] keeping openssl-1_1-1.1.1d-1.1 [ 3s] [199/306] keeping python-xml-2.7.17-1.1 [ 3s] [200/306] keeping python2-scandir-1.10.0-18.25 [ 3s] [201/306] keeping python2-subprocess32-3.5.4-11.10 [ 3s] [202/306] keeping python3-chardet-3.0.4-72.1 [ 3s] [203/306] keeping python3-gunicorn-19.9.0-37.4 [ 3s] [204/306] keeping python3-msgpack-0.6.2-20.7 [ 3s] [205/306] keeping python3-multidict-4.5.2-27.9 [ 3s] [206/306] keeping python3-regex-2019.08.19-16.4 [ 3s] [207/306] keeping python3-typed-ast-1.4.0-19.8 [ 3s] [208/306] keeping python3-zope.interface-4.6.0-47.10 [ 3s] [209/306] keeping blog-2.19-3.1 [ 3s] [210/306] keeping python3-PyYAML-5.1.2-45.7 [ 3s] [211/306] cumulate python3-devel-3.7.3-1.4 [ 3s] [212/306] keeping shared-mime-info-1.12-3.4 [ 3s] [213/306] keeping gettext-tools-0.19.8.1-13.4 [ 3s] [214/306] keeping libcryptsetup12-2.1.0-2.4 [ 3s] [215/306] keeping permissions-config-1550_20191118-8.1 [ 3s] [216/306] keeping python-2.7.17-1.1 [ 3s] [217/306] keeping python3-3.7.3-1.3 [ 3s] [218/306] keeping aaa_base-84.87+git20191017.bf0a315-1.1 [ 3s] [219/306] keeping gdb-8.3.1-4.2 [ 3s] [220/306] keeping rpm-4.14.2.1-9.2 [ 3s] [221/306] keeping aaa_base-malloccheck-84.87+git20191017.bf0a315-1.1 [ 3s] [222/306] keeping glibc-locale-2.30-1.2 [ 3s] [223/306] keeping openssl-1.1.1d-1.1 [ 3s] [224/306] keeping permissions-20191118-8.1 [ 3s] [225/306] keeping python3-aspy.yaml-1.3.0-4.1 [ 3s] [226/306] keeping python3-cfgv-2.0.1-7.3 [ 3s] [227/306] keeping python3-httpretty-0.9.6-35.8 [ 3s] [228/306] keeping python3-pexpect-4.7.0-105.1 [ 3s] [229/306] keeping python3-zipp-0.6.0-15.94 [ 3s] [230/306] keeping rpm-config-SUSE-0.g45-1.1 [ 3s] [231/306] keeping p11-kit-0.23.12-2.5 [ 3s] [232/306] keeping p11-kit-tools-0.23.12-2.5 [ 3s] [233/306] keeping python2-packaging-19.2-35.1 [ 3s] [234/306] keeping python2-pathlib2-2.3.5-29.74 [ 3s] [235/306] keeping python3-clikit-0.4.0-7.1 [ 3s] [236/306] keeping python3-html5lib-1.0.1-46.2 [ 3s] [237/306] keeping python3-packaging-19.2-35.1 [ 3s] [238/306] keeping sysvinit-tools-2.96-1.1 [ 3s] [239/306] keeping glibc-devel-2.30-1.2 [ 3s] [240/306] keeping python3-pyrsistent-0.15.4-16.9 [ 3s] [241/306] keeping python3-cffi-1.13.2-74.1 [ 3s] [242/306] keeping python3-yarl-1.3.0-24.12 [ 3s] [243/306] keeping librpmbuild8-4.14.2.1-9.2 [ 3s] [244/306] keeping libgnutls30-3.6.10-1.1 [ 3s] [245/306] keeping build-compare-20190814T133923.4dfa207-1.1 [ 3s] [246/306] keeping python3-importlib-metadata-0.21-20.105 [ 3s] [247/306] keeping python3-cleo-0.7.5-7.2 [ 3s] [248/306] keeping python3-brotlipy-0.7.0-15.3 [ 3s] [249/306] keeping ca-certificates-2+git20170807.10b2785-6.4 [ 3s] [250/306] keeping post-build-checks-84.88+git20190716.5a0e034-1.1 [ 3s] [251/306] keeping python3-setuptools-41.6.0-169.10 [ 3s] [252/306] keeping python2-setuptools-41.6.0-169.10 [ 3s] [253/306] keeping rpmlint-mini-1.10-10.42 [ 3s] [254/306] keeping pam-1.3.1+git20190923.ea78d67-1.3 [ 3s] [255/306] keeping gcc9-9.2.1+r275327-1.2 [ 3s] [256/306] keeping rpmlint-Factory-1.0-95.1 [ 3s] [257/306] keeping ca-certificates-mozilla-2.34-1.1 [ 3s] [258/306] keeping gcc-9-1.6 [ 3s] [259/306] keeping python3-identify-1.4.7-11.2 [ 3s] [260/306] keeping python3-nodeenv-1.3.3-4.1 [ 3s] [261/306] keeping python3-pluggy-0.13.0-1.1 [ 3s] [262/306] keeping python2-virtualenv-16.7.5-78.3 [ 3s] [263/306] keeping python3-Pygments-2.4.2-72.6 [ 3s] [264/306] keeping python3-pkginfo-1.5.0.1-13.5 [ 3s] [265/306] keeping python3-virtualenv-16.7.5-78.3 [ 3s] [266/306] keeping python3-wheel-0.33.6-51.4 [ 3s] [267/306] keeping python3-coverage-4.5.4-90.4 [ 3s] [268/306] keeping python3-pip-19.3.1-35.2 [ 3s] [269/306] keeping python3-jsonschema-3.2.0-1.1 [ 3s] [270/306] keeping python3-aiohttp-3.6.1-53.9 [ 3s] [271/306] keeping python3-cryptography-2.8-128.5 [ 3s] [272/306] keeping shadow-4.7-4.1 [ 3s] [273/306] keeping gcc-PIE-9-1.6 [ 3s] [274/306] keeping sysuser-shadow-3.0-1.2 [ 3s] [275/306] keeping python3-certifi-2019.9.11-46.40 [ 3s] [276/306] keeping python3-pyOpenSSL-19.0.0-65.12 [ 3s] [277/306] keeping python3-pre-commit-1.20.0-3.1 [ 3s] [278/306] keeping dbus-1-1.12.12-5.1 [ 3s] [279/306] keeping python3-black-19.10b0-18.1 [ 3s] [280/306] keeping python3-tox-3.14.0-69.1 [ 3s] [281/306] keeping python3-pytest-5.2.4-1.1 [ 3s] [282/306] keeping python3-pytest-mock-1.11.2-1.1 [ 3s] [283/306] keeping python3-pytest-cov-2.8.1-2.1 [ 3s] [284/306] keeping system-group-hardware-20170617-8.2 [ 3s] [285/306] keeping system-user-man-20170617-8.2 [ 3s] [286/306] keeping python3-urllib3-1.25.6-105.1 [ 3s] [287/306] keeping libgio-2_0-0-2.62.2-2.1 [ 3s] [288/306] keeping gio-branding-upstream-2.62.2-2.1 [ 3s] [289/306] keeping libutempter0-1.1.6-10.14 [ 3s] [290/306] keeping glib2-tools-2.62.2-2.1 [ 3s] [291/306] keeping libgirepository-1_0-1-1.62.0-1.1 [ 3s] [292/306] keeping python3-requests-2.22.0-112.2 [ 3s] [293/306] keeping girepository-1_0-1.62.0-1.1 [ 3s] [294/306] keeping python3-requests-toolbelt-0.9.1-13.4 [ 3s] [295/306] keeping python3-CacheControl-0.12.5-19.1 [ 3s] [296/306] keeping util-linux-2.34-4.2 [ 3s] [297/306] keeping python3-gobject-3.34.0-1.1 [ 3s] [298/306] keeping systemd-243-4.1 [ 3s] [299/306] keeping rpm-build-4.14.2.1-9.2 [ 3s] [300/306] keeping python3-dbus-python-1.2.8-2.6 [ 3s] [301/306] keeping man-2.8.4-5.1 [ 3s] [302/306] keeping openssh-8.1p1-2.1 [ 3s] [303/306] keeping python3-SecretStorage-2.3.1-27.1 [ 3s] [304/306] keeping git-core-2.24.0-1.2 [ 3s] [305/306] keeping git-2.24.0-1.2 [ 3s] [306/306] keeping python3-keyring-18.0.1-78.9 [ 3s] now installing cumulated packages [ 3s] Preparing... ######################################## [ 3s] Updating / installing... [ 3s] python3-devel-3.7.3-1.4 ######################################## [ 3s] removing nis flags from /var/tmp/build-root/openSUSE_Tumbleweed-x86_64/etc/nsswitch.conf... [ 3s] now finalizing build dir... [ 3s] Installed ccache wrapper as /var/tmp/build-root/openSUSE_Tumbleweed-x86_64/var/lib/build/ccache/bin/cc [ 3s] Installed ccache wrapper as /var/tmp/build-root/openSUSE_Tumbleweed-x86_64/var/lib/build/ccache/bin/gcc [ 3s] cp: -r not specified; omitting directory '/home/matej/build/home:mcepl:branches:devel:languages:python/python-poetry/poetry-1.0.0b8' [ 4s] ----------------------------------------------------------------- [ 4s] ----- building python-poetry.spec (user abuild) [ 4s] ----------------------------------------------------------------- [ 4s] ----------------------------------------------------------------- [ 4s] + exec rpmbuild -ba --define '_srcdefattr (-,root,root)' --nosignature --define '_build_create_debug 1' /home/abuild/rpmbuild/SOURCES/python-poetry.spec [ 4s] warning: Macro expanded in comment on line 45: %{python_module mkdocs} [ 4s] [ 4s] Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.mYFg8f [ 4s] + umask 022 [ 4s] + cd /home/abuild/rpmbuild/BUILD [ 4s] + cd /home/abuild/rpmbuild/BUILD [ 4s] + rm -rf poetry-1.0.0b8 [ 4s] + /usr/bin/gzip -dc /home/abuild/rpmbuild/SOURCES/1.0.0b8.tar.gz [ 4s] + /usr/bin/tar -xof - [ 4s] + STATUS=0 [ 4s] + '[' 0 -ne 0 ']' [ 4s] + cd poetry-1.0.0b8 [ 4s] + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . [ 4s] + exit 0 [ 4s] Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.jxkKRi [ 4s] + umask 022 [ 4s] + cd /home/abuild/rpmbuild/BUILD [ 4s] + /usr/bin/rm -rf /home/abuild/rpmbuild/BUILDROOT/python-poetry-1.0.0~b8-0.x86_64 [ 4s] ++ dirname /home/abuild/rpmbuild/BUILDROOT/python-poetry-1.0.0~b8-0.x86_64 [ 4s] + /usr/bin/mkdir -p /home/abuild/rpmbuild/BUILDROOT [ 4s] + /usr/bin/mkdir /home/abuild/rpmbuild/BUILDROOT/python-poetry-1.0.0~b8-0.x86_64 [ 4s] + cd poetry-1.0.0b8 [ 4s] + export LANG=en_US.UTF8 [ 4s] + LANG=en_US.UTF8 [ 4s] ++ '[' -f _current_flavor ']' [ 4s] ++ true [ 4s] + python_flavor= [ 4s] + '[' -z '' ']' [ 4s] + python_flavor=tmp [ 4s] + '[' tmp '!=' python3 ']' [ 4s] + '[' -d build ']' [ 4s] + '[' -d _build.python3 ']' [ 4s] + echo python3 [ 4s] + python3 -mpip wheel --no-deps --use-pep517 --no-build-isolation --progress-bar off --verbose . [ 4s] Created temporary directory: /tmp/pip-ephem-wheel-cache-0l6ltp0_ [ 4s] Created temporary directory: /tmp/pip-req-tracker-acvlzc6i [ 4s] Created requirements tracker '/tmp/pip-req-tracker-acvlzc6i' [ 4s] Created temporary directory: /tmp/pip-wheel-tbc_vp2q [ 4s] Processing /home/abuild/rpmbuild/BUILD/poetry-1.0.0b8 [ 4s] Created temporary directory: /tmp/pip-req-build-yj2gc39i [ 4s] Added file:///home/abuild/rpmbuild/BUILD/poetry-1.0.0b8 to build tracker '/tmp/pip-req-tracker-acvlzc6i' [ 4s] Created temporary directory: /tmp/pip-modern-metadata-zpu28v3_ [ 4s] Preparing wheel metadata: started [ 4s] Running command /usr/bin/python3 /usr/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpn1l4l505 [ 5s] running dist_info [ 5s] creating /tmp/pip-modern-metadata-zpu28v3_/UNKNOWN.egg-info [ 5s] writing /tmp/pip-modern-metadata-zpu28v3_/UNKNOWN.egg-info/PKG-INFO [ 5s] writing dependency_links to /tmp/pip-modern-metadata-zpu28v3_/UNKNOWN.egg-info/dependency_links.txt [ 5s] writing top-level names to /tmp/pip-modern-metadata-zpu28v3_/UNKNOWN.egg-info/top_level.txt [ 5s] writing manifest file '/tmp/pip-modern-metadata-zpu28v3_/UNKNOWN.egg-info/SOURCES.txt' [ 5s] reading manifest file '/tmp/pip-modern-metadata-zpu28v3_/UNKNOWN.egg-info/SOURCES.txt' [ 5s] writing manifest file '/tmp/pip-modern-metadata-zpu28v3_/UNKNOWN.egg-info/SOURCES.txt' [ 5s] creating '/tmp/pip-modern-metadata-zpu28v3_/UNKNOWN.dist-info' [ 5s] adding license file "LICENSE" (matched pattern "LICEN[CS]E*") [ 5s] Preparing wheel metadata: finished with status 'done' [ 5s] Source in /tmp/pip-req-build-yj2gc39i has version 0.0.0, which satisfies requirement UNKNOWN==0.0.0 from file:///home/abuild/rpmbuild/BUILD/poetry-1.0.0b8 [ 5s] Removed UNKNOWN==0.0.0 from file:///home/abuild/rpmbuild/BUILD/poetry-1.0.0b8 from build tracker '/tmp/pip-req-tracker-acvlzc6i' [ 5s] Building wheels for collected packages: UNKNOWN [ 5s] Created temporary directory: /tmp/pip-wheel-ga5fvnds [ 5s] Destination directory: /tmp/pip-wheel-ga5fvnds [ 5s] Building wheel for UNKNOWN (PEP 517): started [ 5s] Running command /usr/bin/python3 /usr/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmpi1an9fwb [ 5s] running bdist_wheel [ 5s] running build [ 5s] installing to build/bdist.linux-x86_64/wheel [ 5s] running install [ 5s] running install_egg_info [ 5s] running egg_info [ 5s] creating UNKNOWN.egg-info [ 5s] writing UNKNOWN.egg-info/PKG-INFO [ 5s] writing dependency_links to UNKNOWN.egg-info/dependency_links.txt [ 5s] writing top-level names to UNKNOWN.egg-info/top_level.txt [ 5s] writing manifest file 'UNKNOWN.egg-info/SOURCES.txt' [ 5s] reading manifest file 'UNKNOWN.egg-info/SOURCES.txt' [ 5s] writing manifest file 'UNKNOWN.egg-info/SOURCES.txt' [ 5s] Copying UNKNOWN.egg-info to build/bdist.linux-x86_64/wheel/UNKNOWN-0.0.0-py3.7.egg-info [ 5s] running install_scripts [ 5s] adding license file "LICENSE" (matched pattern "LICEN[CS]E*") [ 5s] creating build/bdist.linux-x86_64/wheel/UNKNOWN-0.0.0.dist-info/WHEEL [ 5s] creating '/tmp/pip-wheel-ga5fvnds/tmpzh2i2dk5/UNKNOWN-0.0.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it [ 5s] adding 'UNKNOWN-0.0.0.dist-info/LICENSE' [ 5s] adding 'UNKNOWN-0.0.0.dist-info/METADATA' [ 5s] adding 'UNKNOWN-0.0.0.dist-info/WHEEL' [ 5s] adding 'UNKNOWN-0.0.0.dist-info/top_level.txt' [ 5s] adding 'UNKNOWN-0.0.0.dist-info/RECORD' [ 5s] removing build/bdist.linux-x86_64/wheel [ 5s] Building wheel for UNKNOWN (PEP 517): finished with status 'done' [ 5s] Created wheel for UNKNOWN: filename=UNKNOWN-0.0.0-py3-none-any.whl size=1792 sha256=443782122e933cfa82d8abdcb31036ae7b73715492bbc739c2d8f392938617e9 [ 5s] Stored in directory: /home/abuild/rpmbuild/BUILD/poetry-1.0.0b8 [ 5s] Successfully built UNKNOWN [ 5s] Cleaning up... [ 5s] Removing source in /tmp/pip-req-build-yj2gc39i [ 5s] Removed build tracker '/tmp/pip-req-tracker-acvlzc6i' [ 5s] 1 location(s) to search for versions of pip: [ 5s] * https://pypi.org/simple/pip/ [ 5s] Getting page https://pypi.org/simple/pip/ [ 5s] Found index url https://pypi.org/simple [ 5s] Getting credentials from keyring for https://pypi.org/simple [ 5s] Getting credentials from keyring for pypi.org [ 5s] Looking up "https://pypi.org/simple/pip/" in the cache [ 5s] Request header has "max_age" as 0, cache bypassed [ 5s] Starting new HTTPS connection (1): pypi.org:443 [ 5s] Could not fetch URL https://pypi.org/simple/pip/: connection error: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')) - skipping [ 5s] Given no hashes to check 0 links for project 'pip': discarding no candidates [ 5s] + exit 0 [ 5s] Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.bFSUCj [ 5s] + umask 022 [ 5s] + cd /home/abuild/rpmbuild/BUILD [ 5s] + cd poetry-1.0.0b8 [ 5s] + export LANG=en_US.UTF8 [ 5s] + LANG=en_US.UTF8 [ 5s] ++ '[' -f _current_flavor ']' [ 5s] ++ cat _current_flavor [ 5s] + python_flavor=python3 [ 5s] + '[' -z python3 ']' [ 5s] + '[' python3 '!=' python3 ']' [ 5s] + echo python3 [ 5s] + python3 -mpip install --root /home/abuild/rpmbuild/BUILDROOT/python-poetry-1.0.0~b8-0.x86_64 --no-compile --no-deps --progress-bar off UNKNOWN-0.0.0-py3-none-any.whl [ 6s] Processing ./UNKNOWN-0.0.0-py3-none-any.whl [ 6s] Installing collected packages: UNKNOWN [ 6s] Successfully installed UNKNOWN-0.0.0 [ 6s] ++ '[' -f _current_flavor ']' [ 6s] ++ cat _current_flavor [ 6s] + python_flavor=python3 [ 6s] + '[' -z python3 ']' [ 6s] + '[' python3 '!=' python3 ']' [ 6s] + echo python3 [ 6s] + _target= [ 6s] + _symlinks=0 [ 6s] + fdupes -q -p -n -H -o name -r /home/abuild/rpmbuild/BUILDROOT/python-poetry-1.0.0~b8-0.x86_64/usr/lib/python3.7/site-packages [ 6s] + read _file [ 6s] + /usr/lib/rpm/find-debuginfo.sh -j8 --build-id-seed 1.0.0~b8-0 --unique-debug-suffix -1.0.0~b8-0.x86_64 --unique-debug-src-base python-poetry-1.0.0~b8-0.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /home/abuild/rpmbuild/BUILD/poetry-1.0.0b8 [ 6s] + /usr/lib/rpm/brp-compress [ 6s] + /usr/lib/rpm/brp-suse [ 6s] calling /usr/lib/rpm/brp-suse.d/brp-05-permissions [ 6s] setting / to root:root 0755. (wrong owner/group abuild:abuild) [ 6s] setting /usr/ to root:root 0755. (wrong owner/group abuild:abuild) [ 6s] calling /usr/lib/rpm/brp-suse.d/brp-15-strip-debug [ 6s] calling /usr/lib/rpm/brp-suse.d/brp-25-symlink [ 6s] calling /usr/lib/rpm/brp-suse.d/brp-30-desktop [ 6s] WARNING: '/usr/lib/rpm/brp-desktop.data/suse-screensavers.menu' does not exist [ 6s] WARNING: '/usr/lib/rpm/brp-desktop.data/applications-kmenuedit.menu' does not exist [ 6s] WARNING: '/usr/lib/rpm/brp-desktop.data/custom.menu' does not exist [ 6s] calling /usr/lib/rpm/brp-suse.d/brp-40-rootfs [ 6s] calling /usr/lib/rpm/brp-suse.d/brp-45-tcl [ 6s] calling /usr/lib/rpm/brp-suse.d/brp-75-ar [ 6s] SOURCE_DATE_EPOCH is not set: skipping ar normalization [ 6s] Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.yZUZ2g [ 6s] + umask 022 [ 6s] + cd /home/abuild/rpmbuild/BUILD [ 6s] + cd poetry-1.0.0b8 [ 6s] ++ '[' -f _current_flavor ']' [ 6s] ++ cat _current_flavor [ 6s] + python_flavor=python3 [ 6s] + '[' -z python3 ']' [ 6s] + '[' python3 '!=' python3 ']' [ 6s] + echo python3 [ 6s] + PYTHONPATH=:/home/abuild/rpmbuild/BUILDROOT/python-poetry-1.0.0~b8-0.x86_64/usr/lib/python3.7/site-packages [ 6s] + py.test-3.7 --ignore=_build.python2 --ignore=_build.python3 --ignore=_build.pypy3 -v -k 'not ($TESTS_TO_SKIP)' tests/ [ 7s] ============================= test session starts ============================== [ 7s] platform linux -- Python 3.7.3, pytest-5.2.4, py-1.8.0, pluggy-0.13.0 -- /usr/bin/python3 [ 7s] cachedir: .pytest_cache [ 7s] rootdir: /home/abuild/rpmbuild/BUILD/poetry-1.0.0b8 [ 7s] plugins: cov-2.8.1, mock-1.11.2 [ 10s] collecting ... collected 688 items [ 10s] [ 10s] tests/test_factory.py::test_create_poetry PASSED [ 0%] [ 10s] tests/test_factory.py::test_create_poetry_with_packages_and_includes PASSED [ 0%] [ 10s] tests/test_factory.py::test_create_poetry_with_multi_constraints_dependency PASSED [ 0%] [ 10s] tests/test_factory.py::test_poetry_with_default_source PASSED [ 0%] [ 10s] tests/test_factory.py::test_poetry_with_two_default_sources PASSED [ 0%] [ 10s] tests/test_factory.py::test_validate PASSED [ 0%] [ 10s] tests/test_factory.py::test_validate_fails PASSED [ 1%] [ 10s] tests/test_factory.py::test_create_poetry_fails_on_invalid_configuration PASSED [ 1%] [ 10s] tests/test_factory.py::test_create_poetry_with_local_config PASSED [ 1%] [ 10s] tests/config/test_config.py::test_config_get_default_value PASSED [ 1%] [ 10s] tests/config/test_config.py::test_config_get_processes_depended_on_values PASSED [ 1%] [ 10s] tests/config/test_config.py::test_config_get_from_environment_variable PASSED [ 1%] [ 10s] tests/console/commands/test_about.py::test_about PASSED [ 1%] [ 10s] tests/console/commands/test_add.py::test_add_no_constraint FAILED [ 2%] [ 11s] tests/console/commands/test_add.py::test_add_equal_constraint FAILED [ 2%] [ 11s] tests/console/commands/test_add.py::test_add_greater_constraint FAILED [ 2%] [ 11s] tests/console/commands/test_add.py::test_add_constraint_with_extras FAILED [ 2%] [ 11s] tests/console/commands/test_add.py::test_add_constraint_dependencies FAILED [ 2%] [ 11s] tests/console/commands/test_add.py::test_add_git_constraint FAILED [ 2%] [ 11s] tests/console/commands/test_add.py::test_add_git_constraint_with_poetry FAILED [ 2%] [ 11s] tests/console/commands/test_add.py::test_add_git_constraint_with_extras FAILED [ 3%] [ 11s] tests/console/commands/test_add.py::test_add_git_ssh_constraint FAILED [ 3%] [ 11s] tests/console/commands/test_add.py::test_add_directory_constraint FAILED [ 3%] [ 11s] tests/console/commands/test_add.py::test_add_directory_with_poetry FAILED [ 3%] [ 11s] tests/console/commands/test_add.py::test_add_file_constraint_wheel FAILED [ 3%] [ 12s] tests/console/commands/test_add.py::test_add_file_constraint_sdist FAILED [ 3%] [ 12s] tests/console/commands/test_add.py::test_add_constraint_with_extras_option FAILED [ 3%] [ 12s] tests/console/commands/test_add.py::test_add_url_constraint_wheel FAILED [ 4%] [ 12s] tests/console/commands/test_add.py::test_add_url_constraint_wheel_with_extras FAILED [ 4%] [ 12s] tests/console/commands/test_add.py::test_add_constraint_with_python FAILED [ 4%] [ 12s] tests/console/commands/test_add.py::test_add_constraint_with_platform FAILED [ 4%] [ 12s] tests/console/commands/test_add.py::test_add_to_section_that_does_no_exist_yet FAILED [ 4%] [ 12s] tests/console/commands/test_add.py::test_add_should_not_select_prereleases FAILED [ 4%] [ 12s] tests/console/commands/test_add.py::test_add_should_display_an_error_when_adding_existing_package_with_no_constraint FAILED [ 4%] [ 12s] tests/console/commands/test_add.py::test_add_should_work_when_adding_existing_package_with_latest_constraint FAILED [ 5%] [ 13s] tests/console/commands/test_add.py::test_add_chooses_prerelease_if_only_prereleases_are_available FAILED [ 5%] [ 13s] tests/console/commands/test_add.py::test_add_preferes_stable_releases FAILED [ 5%] [ 13s] tests/console/commands/test_check.py::test_check_valid PASSED [ 5%] [ 13s] tests/console/commands/test_check.py::test_check_invalid PASSED [ 5%] [ 13s] tests/console/commands/test_config.py::test_list_displays_default_value_if_not_set PASSED [ 5%] [ 13s] tests/console/commands/test_config.py::test_list_displays_set_get_setting PASSED [ 5%] [ 13s] tests/console/commands/test_config.py::test_display_single_setting PASSED [ 6%] [ 13s] tests/console/commands/test_config.py::test_display_single_local_setting PASSED [ 6%] [ 13s] tests/console/commands/test_config.py::test_list_displays_set_get_local_setting PASSED [ 6%] [ 13s] tests/console/commands/test_config.py::test_set_pypi_token PASSED [ 6%] [ 13s] tests/console/commands/test_config.py::test_set_client_cert PASSED [ 6%] [ 13s] tests/console/commands/test_config.py::test_set_cert PASSED [ 6%] [ 13s] tests/console/commands/test_export.py::test_export_exports_requirements_txt_file_locks_if_no_lock_file FAILED [ 6%] [ 13s] tests/console/commands/test_export.py::test_export_exports_requirements_txt_uses_lock_file FAILED [ 7%] [ 13s] tests/console/commands/test_export.py::test_export_fails_on_invalid_format FAILED [ 7%] [ 13s] tests/console/commands/test_export.py::test_export_prints_to_stdout_by_default FAILED [ 7%] [ 13s] tests/console/commands/test_export.py::test_export_includes_extras_by_flag FAILED [ 7%] [ 13s] tests/console/commands/test_init.py::test_basic_interactive PASSED [ 7%] [ 13s] tests/console/commands/test_init.py::test_interactive_with_dependencies PASSED [ 7%] [ 13s] tests/console/commands/test_init.py::test_empty_license PASSED [ 7%] [ 15s] tests/console/commands/test_init.py::test_interactive_with_git_dependencies PASSED [ 8%] [ 17s] tests/console/commands/test_init.py::test_interactive_with_git_dependencies_with_reference PASSED [ 8%] [ 17s] tests/console/commands/test_init.py::test_interactive_with_git_dependencies_and_other_name PASSED [ 8%] [ 19s] tests/console/commands/test_init.py::test_interactive_with_directory_dependency PASSED [ 8%] [ 19s] tests/console/commands/test_init.py::test_interactive_with_directory_dependency_and_other_name PASSED [ 8%] [ 19s] tests/console/commands/test_init.py::test_interactive_with_file_dependency PASSED [ 8%] [ 19s] tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_upload_errors PASSED [ 9%] [ 19s] tests/console/commands/test_publish.py::test_publish_with_cert PASSED [ 9%] [ 19s] tests/console/commands/test_publish.py::test_publish_with_client_cert PASSED [ 9%] [ 19s] tests/console/commands/test_run.py::test_run_passes_all_args PASSED [ 9%] [ 20s] tests/console/commands/test_search.py::test_search PASSED [ 9%] [ 20s] tests/console/commands/test_show.py::test_show_basic_with_installed_packages FAILED [ 9%] [ 20s] tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_non_decorated FAILED [ 9%] [ 20s] tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_decorated FAILED [ 10%] [ 20s] tests/console/commands/test_show.py::test_show_latest_non_decorated FAILED [ 10%] [ 20s] tests/console/commands/test_show.py::test_show_latest_decorated FAILED [ 10%] [ 20s] tests/console/commands/test_show.py::test_show_outdated FAILED [ 10%] [ 20s] tests/console/commands/test_show.py::test_show_outdated_with_only_up_to_date_packages FAILED [ 10%] [ 20s] tests/console/commands/test_show.py::test_show_outdated_has_prerelease_but_not_allowed FAILED [ 10%] [ 20s] tests/console/commands/test_show.py::test_show_outdated_has_prerelease_and_allowed FAILED [ 10%] [ 21s] tests/console/commands/test_show.py::test_show_outdated_formatting FAILED [ 11%] [ 21s] tests/console/commands/test_show.py::test_show_outdated_local_dependencies[project_with_local_dependencies] FAILED [ 11%] [ 21s] tests/console/commands/test_show.py::test_show_outdated_git_dev_dependency[project_with_git_dev_dependency] FAILED [ 11%] [ 21s] tests/console/commands/test_show.py::test_show_outdated_no_dev_git_dev_dependency[project_with_git_dev_dependency] FAILED [ 11%] [ 21s] tests/console/commands/test_show.py::test_show_hides_incompatible_package FAILED [ 11%] [ 21s] tests/console/commands/test_show.py::test_show_all_shows_incompatible_package FAILED [ 11%] [ 21s] tests/console/commands/test_show.py::test_show_non_dev_with_basic_installed_packages FAILED [ 11%] [ 21s] tests/console/commands/test_show.py::test_show_tree FAILED [ 12%] [ 21s] tests/console/commands/test_version.py::test_increment_version[0.0.0-patch-0.0.1] PASSED [ 12%] [ 21s] tests/console/commands/test_version.py::test_increment_version[0.0.0-minor-0.1.0] PASSED [ 12%] [ 21s] tests/console/commands/test_version.py::test_increment_version[0.0.0-major-1.0.0] PASSED [ 12%] [ 21s] tests/console/commands/test_version.py::test_increment_version[0.0-major-1.0] PASSED [ 12%] [ 21s] tests/console/commands/test_version.py::test_increment_version[0.0-minor-0.1] PASSED [ 12%] [ 21s] tests/console/commands/test_version.py::test_increment_version[0.0-patch-0.0.1] PASSED [ 12%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3-patch-1.2.4] PASSED [ 13%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3-minor-1.3.0] PASSED [ 13%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3-major-2.0.0] PASSED [ 13%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3-prepatch-1.2.4-alpha.0] PASSED [ 13%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3-preminor-1.3.0-alpha.0] PASSED [ 13%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3-premajor-2.0.0-alpha.0] PASSED [ 13%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-patch-1.2.3] PASSED [ 13%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-minor-1.3.0] PASSED [ 14%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-major-2.0.0] PASSED [ 14%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-prerelease-1.2.3-beta.2] PASSED [ 14%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3-beta1-prerelease-1.2.3-beta.2] PASSED [ 14%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3beta1-prerelease-1.2.3-beta.2] PASSED [ 14%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3b1-prerelease-1.2.3-beta.2] PASSED [ 14%] [ 21s] tests/console/commands/test_version.py::test_increment_version[1.2.3-prerelease-1.2.4-alpha.0] PASSED [ 14%] [ 21s] tests/console/commands/test_version.py::test_increment_version[0.0.0-1.2.3-1.2.3] PASSED [ 15%] [ 21s] tests/console/commands/test_version.py::test_version_show PASSED [ 15%] [ 21s] tests/console/commands/debug/test_resolve.py::test_debug_resolve_gives_resolution_results PASSED [ 15%] [ 21s] tests/console/commands/debug/test_resolve.py::test_debug_resolve_tree_option_gives_the_dependency_tree PASSED [ 15%] [ 25s] tests/console/commands/debug/test_resolve.py::test_debug_resolve_git_dependency PASSED [ 15%] [ 25s] tests/console/commands/env/test_info.py::test_env_info_displays_complete_info PASSED [ 15%] [ 25s] tests/console/commands/env/test_info.py::test_env_info_displays_path_only PASSED [ 15%] [ 25s] tests/console/commands/env/test_list.py::test_none_activated FAILED [ 16%] [ 25s] tests/console/commands/env/test_list.py::test_activated PASSED [ 16%] [ 25s] tests/console/commands/env/test_remove.py::test_remove_by_python_version PASSED [ 16%] [ 25s] tests/console/commands/env/test_remove.py::test_remove_by_name PASSED [ 16%] [ 26s] tests/console/commands/env/test_use.py::test_activate_activates_non_existing_virtualenv_no_envs_file PASSED [ 16%] [ 26s] tests/console/commands/env/test_use.py::test_get_prefers_explicitly_activated_virtualenvs_over_env_var PASSED [ 16%] [ 26s] tests/console/commands/env/test_use.py::test_get_prefers_explicitly_activated_non_existing_virtualenvs_over_env_var PASSED [ 17%] [ 26s] tests/installation/test_installer.py::test_run_no_dependencies PASSED [ 17%] [ 26s] tests/installation/test_installer.py::test_run_with_dependencies PASSED [ 17%] [ 26s] tests/installation/test_installer.py::test_run_update_after_removing_dependencies PASSED [ 17%] [ 26s] tests/installation/test_installer.py::test_run_install_no_dev PASSED [ 17%] [ 26s] tests/installation/test_installer.py::test_run_whitelist_add PASSED [ 17%] [ 26s] tests/installation/test_installer.py::test_run_whitelist_remove PASSED [ 17%] [ 26s] tests/installation/test_installer.py::test_add_with_sub_dependencies PASSED [ 18%] [ 26s] tests/installation/test_installer.py::test_run_with_python_versions PASSED [ 18%] [ 26s] tests/installation/test_installer.py::test_run_with_optional_and_python_restricted_dependencies PASSED [ 18%] [ 26s] tests/installation/test_installer.py::test_run_with_optional_and_platform_restricted_dependencies PASSED [ 18%] [ 26s] tests/installation/test_installer.py::test_run_with_dependencies_extras PASSED [ 18%] [ 26s] tests/installation/test_installer.py::test_run_does_not_install_extras_if_not_requested PASSED [ 18%] [ 26s] tests/installation/test_installer.py::test_run_installs_extras_if_requested PASSED [ 18%] [ 26s] tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested PASSED [ 19%] [ 26s] tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested_locked PASSED [ 19%] [ 26s] tests/installation/test_installer.py::test_installer_with_pypi_repository PASSED [ 19%] [ 26s] tests/installation/test_installer.py::test_run_installs_with_local_file PASSED [ 19%] [ 26s] tests/installation/test_installer.py::test_run_installs_wheel_with_no_requires_dist PASSED [ 19%] [ 26s] tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_extras PASSED [ 19%] [ 26s] tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_transitive PASSED [ 19%] [ 26s] tests/installation/test_installer.py::test_run_installs_with_local_poetry_file_transitive PASSED [ 20%] [ 30s] tests/installation/test_installer.py::test_run_installs_with_local_setuptools_directory PASSED [ 20%] [ 30s] tests/installation/test_installer.py::test_run_with_prereleases PASSED [ 20%] [ 30s] tests/installation/test_installer.py::test_run_changes_category_if_needed PASSED [ 20%] [ 30s] tests/installation/test_installer.py::test_run_update_all_with_lock PASSED [ 20%] [ 30s] tests/installation/test_installer.py::test_run_update_with_locked_extras PASSED [ 20%] [ 30s] tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints PASSED [ 20%] [ 30s] tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock PASSED [ 21%] [ 30s] tests/installation/test_installer.py::test_run_update_uninstalls_after_removal_transient_dependency PASSED [ 21%] [ 30s] tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock_update PASSED [ 21%] [ 30s] tests/installation/test_installer.py::test_installer_test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python SKIPPED [ 21%] [ 30s] tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency PASSED [ 21%] [ 30s] tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency_pypi_repository PASSED [ 21%] [ 30s] tests/installation/test_installer.py::test_installer_required_extras_should_be_installed PASSED [ 21%] [ 31s] tests/installation/test_installer.py::test_update_multiple_times_with_split_dependencies_is_idempotent PASSED [ 22%] [ 31s] tests/installation/test_installer.py::test_installer_can_install_dependencies_from_forced_source PASSED [ 22%] [ 31s] tests/installation/test_installer.py::test_run_installs_with_url_file PASSED [ 22%] [ 31s] tests/installation/test_installer.py::test_installer_uses_prereleases_if_they_are_compatible PASSED [ 22%] [ 31s] tests/installation/test_pip_installer.py::test_requirement PASSED [ 22%] [ 31s] tests/installation/test_pip_installer.py::test_requirement_source_type_url PASSED [ 22%] [ 31s] tests/installation/test_pip_installer.py::test_requirement_git_develop_false PASSED [ 22%] [ 31s] tests/installation/test_pip_installer.py::test_install_with_non_pypi_default_repository PASSED [ 23%] [ 31s] tests/installation/test_pip_installer.py::test_install_with_cert PASSED [ 23%] [ 31s] tests/installation/test_pip_installer.py::test_install_with_client_cert PASSED [ 23%] [ 31s] tests/installation/test_pip_installer.py::test_requirement_git_develop_true PASSED [ 23%] [ 31s] tests/json/test_poetry_schema.py::test_path_dependencies PASSED [ 23%] [ 31s] tests/masonry/test_api.py::test_get_requires_for_build_wheel PASSED [ 23%] [ 31s] tests/masonry/test_api.py::test_get_requires_for_build_sdist PASSED [ 23%] [ 31s] tests/masonry/test_api.py::test_build_wheel PASSED [ 24%] [ 31s] tests/masonry/test_api.py::test_build_sdist PASSED [ 24%] [ 31s] tests/masonry/test_api.py::test_prepare_metadata_for_build_wheel PASSED [ 24%] [ 31s] tests/masonry/builders/test_builder.py::test_builder_find_excluded_files PASSED [ 24%] [ 31s] tests/masonry/builders/test_builder.py::test_builder_find_case_sensitive_excluded_files PASSED [ 24%] [ 31s] tests/masonry/builders/test_builder.py::test_builder_find_invalid_case_sensitive_excluded_files PASSED [ 24%] [ 31s] tests/masonry/builders/test_builder.py::test_get_metadata_content PASSED [ 25%] [ 31s] tests/masonry/builders/test_builder.py::test_metadata_homepage_default PASSED [ 25%] [ 31s] tests/masonry/builders/test_builder.py::test_metadata_with_vcs_dependencies PASSED [ 25%] [ 31s] tests/masonry/builders/test_builder.py::test_metadata_with_url_dependencies PASSED [ 25%] [ 31s] tests/masonry/builders/test_complete.py::test_wheel_c_extension FAILED [ 25%] [ 32s] tests/masonry/builders/test_complete.py::test_wheel_c_extension_src_layout FAILED [ 25%] [ 32s] tests/masonry/builders/test_complete.py::test_complete PASSED [ 25%] [ 32s] tests/masonry/builders/test_complete.py::test_complete_no_vcs PASSED [ 26%] [ 32s] tests/masonry/builders/test_complete.py::test_module_src PASSED [ 26%] [ 32s] tests/masonry/builders/test_complete.py::test_package_src PASSED [ 26%] [ 32s] tests/masonry/builders/test_complete.py::test_package_with_include PASSED [ 26%] [ 32s] tests/masonry/builders/test_editable.py::test_build_should_delegate_to_pip_for_non_pure_python_packages PASSED [ 26%] [ 32s] tests/masonry/builders/test_editable.py::test_build_should_temporarily_remove_the_pyproject_file PASSED [ 26%] [ 32s] tests/masonry/builders/test_sdist.py::test_convert_dependencies PASSED [ 26%] [ 32s] tests/masonry/builders/test_sdist.py::test_make_setup PASSED [ 27%] [ 32s] tests/masonry/builders/test_sdist.py::test_make_pkg_info PASSED [ 27%] [ 32s] tests/masonry/builders/test_sdist.py::test_make_pkg_info_any_python PASSED [ 27%] [ 32s] tests/masonry/builders/test_sdist.py::test_find_files_to_add PASSED [ 27%] [ 32s] tests/masonry/builders/test_sdist.py::test_make_pkg_info_multi_constraints_dependency PASSED [ 27%] [ 32s] tests/masonry/builders/test_sdist.py::test_find_packages PASSED [ 27%] [ 32s] tests/masonry/builders/test_sdist.py::test_package PASSED [ 27%] [ 32s] tests/masonry/builders/test_sdist.py::test_module PASSED [ 28%] [ 32s] tests/masonry/builders/test_sdist.py::test_prelease PASSED [ 28%] [ 32s] tests/masonry/builders/test_sdist.py::test_with_c_extensions PASSED [ 28%] [ 32s] tests/masonry/builders/test_sdist.py::test_with_c_extensions_src_layout PASSED [ 28%] [ 32s] tests/masonry/builders/test_sdist.py::test_with_src_module_file PASSED [ 28%] [ 32s] tests/masonry/builders/test_sdist.py::test_with_src_module_dir PASSED [ 28%] [ 32s] tests/masonry/builders/test_sdist.py::test_default_with_excluded_data FAILED [ 28%] [ 32s] tests/masonry/builders/test_sdist.py::test_src_excluded_nested_data PASSED [ 29%] [ 32s] tests/masonry/builders/test_sdist.py::test_proper_python_requires_if_two_digits_precision_version_specified PASSED [ 29%] [ 32s] tests/masonry/builders/test_sdist.py::test_proper_python_requires_if_three_digits_precision_version_specified PASSED [ 29%] [ 32s] tests/masonry/builders/test_wheel.py::test_wheel_module PASSED [ 29%] [ 32s] tests/masonry/builders/test_wheel.py::test_wheel_package PASSED [ 29%] [ 32s] tests/masonry/builders/test_wheel.py::test_wheel_prerelease PASSED [ 29%] [ 32s] tests/masonry/builders/test_wheel.py::test_wheel_excluded_data PASSED [ 29%] [ 32s] tests/masonry/builders/test_wheel.py::test_wheel_excluded_nested_data PASSED [ 30%] [ 32s] tests/masonry/builders/test_wheel.py::test_wheel_localversionlabel PASSED [ 30%] [ 32s] tests/masonry/builders/test_wheel.py::test_wheel_package_src PASSED [ 30%] [ 32s] tests/masonry/builders/test_wheel.py::test_wheel_module_src PASSED [ 30%] [ 32s] tests/masonry/builders/test_wheel.py::test_dist_info_file_permissions PASSED [ 30%] [ 32s] tests/masonry/publishing/test_publisher.py::test_publish_publishes_to_pypi_by_default PASSED [ 30%] [ 32s] tests/masonry/publishing/test_publisher.py::test_publish_can_publish_to_given_repository PASSED [ 30%] [ 32s] tests/masonry/publishing/test_publisher.py::test_publish_raises_error_for_undefined_repository PASSED [ 31%] [ 32s] tests/masonry/publishing/test_publisher.py::test_publish_uses_token_if_it_exists PASSED [ 31%] [ 32s] tests/masonry/publishing/test_publisher.py::test_publish_uses_cert PASSED [ 31%] [ 32s] tests/masonry/publishing/test_publisher.py::test_publish_uses_client_cert PASSED [ 31%] [ 32s] tests/masonry/publishing/test_uploader.py::test_uploader_properly_handles_400_errors PASSED [ 31%] [ 32s] tests/masonry/publishing/test_uploader.py::test_uploader_properly_handles_403_errors PASSED [ 31%] [ 32s] tests/masonry/publishing/test_uploader.py::test_uploader_registers_for_appropriate_400_errors PASSED [ 31%] [ 32s] tests/mixology/version_solver/test_backtracking.py::test_circular_dependency_on_older_version PASSED [ 32%] [ 32s] tests/mixology/version_solver/test_backtracking.py::test_diamond_dependency_graph PASSED [ 32%] [ 32s] tests/mixology/version_solver/test_backtracking.py::test_backjumps_after_partial_satisfier PASSED [ 32%] [ 32s] tests/mixology/version_solver/test_backtracking.py::test_rolls_back_leaf_versions_first PASSED [ 32%] [ 32s] tests/mixology/version_solver/test_backtracking.py::test_simple_transitive PASSED [ 32%] [ 32s] tests/mixology/version_solver/test_backtracking.py::test_backjump_to_nearer_unsatisfied_package PASSED [ 32%] [ 32s] tests/mixology/version_solver/test_backtracking.py::test_traverse_into_package_with_fewer_versions_first PASSED [ 32%] [ 32s] tests/mixology/version_solver/test_backtracking.py::test_backjump_past_failed_package_on_disjoint_constraint PASSED [ 33%] [ 32s] tests/mixology/version_solver/test_basic_graph.py::test_simple_dependencies PASSED [ 33%] [ 32s] tests/mixology/version_solver/test_basic_graph.py::test_shared_dependencies_with_overlapping_constraints PASSED [ 33%] [ 32s] tests/mixology/version_solver/test_basic_graph.py::test_shared_dependency_where_dependent_version_affects_other_dependencies PASSED [ 33%] [ 32s] tests/mixology/version_solver/test_basic_graph.py::test_circular_dependency PASSED [ 33%] [ 32s] tests/mixology/version_solver/test_python_constraint.py::test_dependency_does_not_match_root_python_constraint PASSED [ 33%] [ 32s] tests/mixology/version_solver/test_unsolvable.py::test_no_version_matching_constraint PASSED [ 34%] [ 32s] tests/mixology/version_solver/test_unsolvable.py::test_no_version_that_matches_combined_constraints PASSED [ 34%] [ 33s] tests/mixology/version_solver/test_unsolvable.py::test_disjoint_constraints PASSED [ 34%] [ 33s] tests/mixology/version_solver/test_unsolvable.py::test_disjoint_root_constraints PASSED [ 34%] [ 33s] tests/mixology/version_solver/test_unsolvable.py::test_no_valid_solution PASSED [ 34%] [ 33s] tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies PASSED [ 34%] [ 33s] tests/mixology/version_solver/test_with_lock.py::test_with_incompatible_locked_dependencies PASSED [ 34%] [ 33s] tests/mixology/version_solver/test_with_lock.py::test_with_unrelated_locked_dependencies PASSED [ 35%] [ 33s] tests/mixology/version_solver/test_with_lock.py::test_unlocks_dependencies_if_necessary_to_ensure_that_a_new_dependency_is_statisfied PASSED [ 35%] [ 33s] tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies_use_latest PASSED [ 35%] [ 33s] tests/packages/test_dependency.py::test_accepts PASSED [ 35%] [ 33s] tests/packages/test_dependency.py::test_accepts_prerelease PASSED [ 35%] [ 33s] tests/packages/test_dependency.py::test_accepts_python_versions PASSED [ 35%] [ 33s] tests/packages/test_dependency.py::test_accepts_fails_with_different_names PASSED [ 35%] [ 33s] tests/packages/test_dependency.py::test_accepts_fails_with_version_mismatch PASSED [ 36%] [ 33s] tests/packages/test_dependency.py::test_accepts_fails_with_prerelease_mismatch PASSED [ 36%] [ 33s] tests/packages/test_dependency.py::test_accepts_fails_with_python_versions_mismatch PASSED [ 36%] [ 33s] tests/packages/test_dependency.py::test_to_pep_508 PASSED [ 36%] [ 33s] tests/packages/test_dependency.py::test_to_pep_508_wilcard PASSED [ 36%] [ 33s] tests/packages/test_dependency.py::test_to_pep_508_in_extras PASSED [ 36%] [ 33s] tests/packages/test_dependency.py::test_to_pep_508_with_single_version_excluded PASSED [ 36%] [ 33s] tests/packages/test_directory_dependency.py::test_directory_dependency_must_exist PASSED [ 37%] [ 33s] tests/packages/test_file_dependency.py::test_file_dependency_wrong_path PASSED [ 37%] [ 33s] tests/packages/test_file_dependency.py::test_file_dependency_dir PASSED [ 37%] [ 33s] tests/packages/test_locker.py::test_lock_file_data_is_ordered PASSED [ 37%] [ 33s] tests/packages/test_locker.py::test_locker_properly_loads_extras PASSED [ 37%] [ 33s] tests/packages/test_locker.py::test_lock_packages_with_null_description PASSED [ 37%] [ 33s] tests/packages/test_locker.py::test_lock_file_should_not_have_mixed_types PASSED [ 37%] [ 33s] tests/packages/test_locker.py::test_reading_lock_file_should_raise_an_error_on_invalid_data PASSED [ 38%] [ 33s] tests/packages/test_locker.py::test_locking_legacy_repository_package_should_include_source_section PASSED [ 38%] [ 33s] tests/packages/test_main.py::test_dependency_from_pep_508 PASSED [ 38%] [ 33s] tests/packages/test_main.py::test_dependency_from_pep_508_with_version PASSED [ 38%] [ 33s] tests/packages/test_main.py::test_dependency_from_pep_508_with_parens PASSED [ 38%] [ 33s] tests/packages/test_main.py::test_dependency_from_pep_508_with_constraint PASSED [ 38%] [ 33s] tests/packages/test_main.py::test_dependency_from_pep_508_with_extras PASSED [ 38%] [ 33s] tests/packages/test_main.py::test_dependency_from_pep_508_with_python_version PASSED [ 39%] [ 33s] tests/packages/test_main.py::test_dependency_from_pep_508_with_single_python_version PASSED [ 39%] [ 33s] tests/packages/test_main.py::test_dependency_from_pep_508_with_platform PASSED [ 39%] [ 33s] tests/packages/test_main.py::test_dependency_from_pep_508_complex PASSED [ 39%] [ 33s] tests/packages/test_main.py::test_dependency_python_version_in PASSED [ 39%] [ 33s] tests/packages/test_main.py::test_dependency_python_version_in_comma PASSED [ 39%] [ 33s] tests/packages/test_main.py::test_dependency_platform_in PASSED [ 39%] [ 33s] tests/packages/test_main.py::test_dependency_with_extra PASSED [ 40%] [ 33s] tests/packages/test_main.py::test_dependency_from_pep_508_with_python_version_union_of_multi PASSED [ 40%] [ 33s] tests/packages/test_main.py::test_dependency_from_pep_508_with_not_in_op_marker PASSED [ 40%] [ 33s] tests/packages/test_main.py::test_dependency_from_pep_508_with_git_url PASSED [ 40%] [ 33s] tests/packages/test_main.py::test_dependency_from_pep_508_with_url PASSED [ 40%] [ 33s] tests/packages/test_package.py::test_package_authors PASSED [ 40%] [ 33s] tests/packages/test_vcs_dependency.py::test_to_pep_508 PASSED [ 40%] [ 33s] tests/packages/test_vcs_dependency.py::test_to_pep_508_with_extras PASSED [ 41%] [ 33s] tests/packages/test_vcs_dependency.py::test_to_pep_508_in_extras PASSED [ 41%] [ 33s] tests/packages/constraints/test_constraint.py::test_allows PASSED [ 41%] [ 33s] tests/packages/constraints/test_constraint.py::test_allows_any PASSED [ 41%] [ 33s] tests/packages/constraints/test_constraint.py::test_allows_all PASSED [ 41%] [ 33s] tests/packages/constraints/test_constraint.py::test_intersect PASSED [ 41%] [ 33s] tests/packages/constraints/test_constraint.py::test_union PASSED [ 42%] [ 33s] tests/packages/constraints/test_constraint.py::test_difference PASSED [ 42%] [ 33s] tests/packages/constraints/test_main.py::test_parse_constraint[*-constraint0] PASSED [ 42%] [ 33s] tests/packages/constraints/test_main.py::test_parse_constraint[win32-constraint1] PASSED [ 42%] [ 33s] tests/packages/constraints/test_main.py::test_parse_constraint[=win32-constraint2] PASSED [ 42%] [ 33s] tests/packages/constraints/test_main.py::test_parse_constraint[==win32-constraint3] PASSED [ 42%] [ 33s] tests/packages/constraints/test_main.py::test_parse_constraint[!=win32-constraint4] PASSED [ 42%] [ 33s] tests/packages/constraints/test_main.py::test_parse_constraint[!= win32-constraint5] PASSED [ 43%] [ 33s] tests/packages/constraints/test_main.py::test_parse_constraint_multi[!=win32,!=linux-constraint0] PASSED [ 43%] [ 33s] tests/packages/constraints/test_main.py::test_parse_constraint_multi[!=win32,!=linux,!=linux2-constraint1] PASSED [ 43%] [ 33s] tests/packages/constraints/test_main.py::test_parse_constraint_union[win32 || linux-constraint0] PASSED [ 43%] [ 33s] tests/packages/constraints/test_main.py::test_parse_constraint_union[win32 || !=linux2-constraint1] PASSED [ 43%] [ 33s] tests/packages/constraints/test_multi_constraint.py::test_allows PASSED [ 43%] [ 33s] tests/packages/constraints/test_multi_constraint.py::test_allows_any PASSED [ 43%] [ 33s] tests/packages/constraints/test_multi_constraint.py::test_allows_all PASSED [ 44%] [ 33s] tests/packages/constraints/test_multi_constraint.py::test_intersect PASSED [ 44%] [ 33s] tests/packages/constraints/test_union_constraint.py::test_allows PASSED [ 44%] [ 33s] tests/packages/constraints/test_union_constraint.py::test_allows_any PASSED [ 44%] [ 33s] tests/packages/constraints/test_union_constraint.py::test_allows_all PASSED [ 44%] [ 33s] tests/packages/utils/test_utils.py::test_convert_markers PASSED [ 44%] [ 35s] tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info PASSED [ 44%] [ 37s] tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info_with_extras PASSED [ 45%] [ 38s] tests/puzzle/test_provider.py::test_search_for_vcs_read_setup PASSED [ 45%] [ 40s] tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_with_extras PASSED [ 45%] [ 42s] tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_raises_error_if_no_version PASSED [ 45%] [ 44s] tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[demo] PASSED [ 45%] [ 46s] tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[non-canonical-name] PASSED [ 45%] [ 48s] tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info_with_extras PASSED [ 45%] [ 50s] tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[demo] PASSED [ 46%] [ 52s] tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[non-canonical-name] PASSED [ 46%] [ 54s] tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup PASSED [ 46%] [ 55s] tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_extras PASSED [ 46%] [ 57s] tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_no_dependencies PASSED [ 46%] [ 57s] tests/puzzle/test_provider.py::test_search_for_directory_poetry PASSED [ 46%] [ 57s] tests/puzzle/test_provider.py::test_search_for_directory_poetry_with_extras PASSED [ 46%] [ 57s] tests/puzzle/test_provider.py::test_search_for_file_sdist PASSED [ 47%] [ 57s] tests/puzzle/test_provider.py::test_search_for_file_sdist_with_extras PASSED [ 47%] [ 57s] tests/puzzle/test_provider.py::test_search_for_file_wheel PASSED [ 47%] [ 57s] tests/puzzle/test_provider.py::test_search_for_file_wheel_with_extras PASSED [ 47%] [ 57s] tests/puzzle/test_solver.py::test_solver_install_single PASSED [ 47%] [ 57s] tests/puzzle/test_solver.py::test_solver_remove_if_no_longer_locked PASSED [ 47%] [ 57s] tests/puzzle/test_solver.py::test_remove_non_installed PASSED [ 47%] [ 57s] tests/puzzle/test_solver.py::test_install_non_existing_package_fail PASSED [ 48%] [ 57s] tests/puzzle/test_solver.py::test_solver_with_deps PASSED [ 48%] [ 57s] tests/puzzle/test_solver.py::test_install_honours_not_equal PASSED [ 48%] [ 57s] tests/puzzle/test_solver.py::test_install_with_deps_in_order PASSED [ 48%] [ 57s] tests/puzzle/test_solver.py::test_install_installed PASSED [ 48%] [ 57s] tests/puzzle/test_solver.py::test_update_installed PASSED [ 48%] [ 57s] tests/puzzle/test_solver.py::test_update_with_use_latest PASSED [ 48%] [ 57s] tests/puzzle/test_solver.py::test_solver_sets_categories PASSED [ 49%] [ 57s] tests/puzzle/test_solver.py::test_solver_respects_root_package_python_versions PASSED [ 49%] [ 57s] tests/puzzle/test_solver.py::test_solver_fails_if_mismatch_root_python_versions PASSED [ 49%] [ 58s] tests/puzzle/test_solver.py::test_solver_solves_optional_and_compatible_packages PASSED [ 49%] [ 58s] tests/puzzle/test_solver.py::test_solver_does_not_return_extras_if_not_requested PASSED [ 49%] [ 58s] tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested PASSED [ 49%] [ 58s] tests/puzzle/test_solver.py::test_solver_returns_prereleases_if_requested PASSED [ 50%] [ 58s] tests/puzzle/test_solver.py::test_solver_does_not_return_prereleases_if_not_requested PASSED [ 50%] [ 58s] tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements PASSED [ 50%] [ 58s] tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements_complex PASSED [ 50%] [ 58s] tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_not_supported_python_version PASSED [ 50%] [ 58s] tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies PASSED [ 50%] [ 58s] tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies_with_one_more_dependent PASSED [ 50%] [ 58s] tests/puzzle/test_solver.py::test_solver_with_dependency_and_prerelease_sub_dependencies PASSED [ 51%] [ 58s] tests/puzzle/test_solver.py::test_solver_circular_dependency PASSED [ 51%] [ 58s] tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_same_constraint PASSED [ 51%] [ 58s] tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints PASSED [ 51%] [ 58s] tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_same_requirements PASSED [ 51%] [ 58s] tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_sub_dependencies PASSED [ 51%] [ 60s] tests/puzzle/test_solver.py::test_solver_fails_if_dependency_name_does_not_match_package PASSED [ 51%] [ 60s] tests/puzzle/test_solver.py::test_solver_does_not_get_stuck_in_recursion_on_circular_dependency PASSED [ 52%] [ 61s] tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies PASSED [ 52%] [ 63s] tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_extras PASSED [ 52%] [ 65s] tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[branch] PASSED [ 52%] [ 67s] tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[tag] PASSED [ 52%] [ 69s] tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[rev] PASSED [ 52%] [ 69s] tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible PASSED [ 52%] [ 69s] tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible_multiple PASSED [ 53%] [ 69s] tests/puzzle/test_solver.py::test_solver_triggers_conflict_for_dependency_python_not_fully_compatible_with_package_python PASSED [ 53%] [ 69s] tests/puzzle/test_solver.py::test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python SKIPPED [ 53%] [ 69s] tests/puzzle/test_solver.py::test_solver_sets_appropriate_markers_when_solving PASSED [ 53%] [ 69s] tests/puzzle/test_solver.py::test_solver_does_not_trigger_new_resolution_on_duplicate_dependencies_if_only_extras PASSED [ 53%] [ 69s] tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_locked_conditional_dependencies PASSED [ 53%] [ 69s] tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested_in_dependencies_and_not_in_root_package PASSED [ 53%] [ 69s] tests/puzzle/test_solver.py::test_solver_should_not_resolve_prerelease_version_if_not_requested PASSED [ 54%] [ 69s] tests/puzzle/test_solver.py::test_solver_ignores_dependencies_with_incompatible_python_full_version_marker PASSED [ 54%] [ 71s] tests/puzzle/test_solver.py::test_solver_git_dependencies_update PASSED [ 54%] [ 73s] tests/puzzle/test_solver.py::test_solver_git_dependencies_update_skipped PASSED [ 54%] [ 75s] tests/puzzle/test_solver.py::test_solver_git_dependencies_short_hash_update_skipped PASSED [ 54%] [ 77s] tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies PASSED [ 54%] [ 79s] tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies_with_extras PASSED [ 54%] [ 79s] tests/puzzle/test_solver.py::test_solver_can_resolve_sdist_dependencies PASSED [ 55%] [ 79s] tests/puzzle/test_solver.py::test_solver_can_resolve_sdist_dependencies_with_extras PASSED [ 55%] [ 79s] tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies PASSED [ 55%] [ 79s] tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies_with_extras PASSED [ 55%] [ 79s] tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_dists PASSED [ 55%] [ 79s] tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_python_compatible_dists PASSED [ 55%] [ 79s] tests/puzzle/test_solver.py::test_solver_skips_invalid_versions PASSED [ 55%] [ 79s] tests/puzzle/test_solver.py::test_multiple_constraints_on_root PASSED [ 56%] [ 79s] tests/puzzle/test_solver.py::test_solver_chooses_most_recent_version_amongst_repositories PASSED [ 56%] [ 79s] tests/puzzle/test_solver.py::test_solver_chooses_from_correct_repository_if_forced PASSED [ 56%] [ 79s] tests/puzzle/test_solver.py::test_solver_chooses_from_correct_repository_if_forced_and_transitive_dependency PASSED [ 56%] [ 79s] tests/puzzle/test_solver.py::test_solver_does_not_choose_from_secondary_repository_by_default PASSED [ 56%] [ 79s] tests/puzzle/test_solver.py::test_solver_chooses_from_secondary_if_explicit PASSED [ 56%] [ 79s] tests/puzzle/test_solver.py::test_solver_discards_packages_with_empty_markers PASSED [ 56%] [ 79s] tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_conditional_dev_dependencies PASSED [ 57%] [ 79s] tests/puzzle/test_solver.py::test_solver_does_not_loop_indefinitely_on_duplicate_constraints_with_extras PASSED [ 57%] [ 79s] tests/puzzle/test_solver.py::test_solver_does_not_fail_with_locked_git_and_non_git_dependencies PASSED [ 57%] [ 79s] tests/repositories/test_auth.py::test_auth_with_request_on_the_same_host PASSED [ 57%] [ 79s] tests/repositories/test_auth.py::test_auth_with_request_with_same_authentication PASSED [ 57%] [ 79s] tests/repositories/test_auth.py::test_auth_with_request_on_different_hosts PASSED [ 57%] [ 79s] tests/repositories/test_installed_repository.py::test_load PASSED [ 57%] [ 79s] tests/repositories/test_legacy_repository.py::test_page_relative_links_path_are_correct PASSED [ 58%] [ 79s] tests/repositories/test_legacy_repository.py::test_page_absolute_links_path_are_correct PASSED [ 58%] [ 79s] tests/repositories/test_legacy_repository.py::test_sdist_format_support PASSED [ 58%] [ 79s] tests/repositories/test_legacy_repository.py::test_missing_version PASSED [ 58%] [ 79s] tests/repositories/test_legacy_repository.py::test_get_package_information_fallback_read_setup PASSED [ 58%] [ 79s] tests/repositories/test_legacy_repository.py::test_get_package_information_skips_dependencies_with_invalid_constraints PASSED [ 58%] [ 79s] tests/repositories/test_legacy_repository.py::test_find_packages_no_prereleases PASSED [ 59%] [ 79s] tests/repositories/test_legacy_repository.py::test_get_package_information_chooses_correct_distribution PASSED [ 59%] [ 79s] tests/repositories/test_legacy_repository.py::test_get_package_information_includes_python_requires PASSED [ 59%] [ 79s] tests/repositories/test_legacy_repository.py::test_get_package_information_sets_appropriate_python_versions_if_wheels_only PASSED [ 59%] [ 79s] tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels PASSED [ 59%] [ 79s] tests/repositories/test_legacy_repository.py::test_get_package_with_dist_and_universal_py3_wheel PASSED [ 59%] [ 79s] tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes PASSED [ 59%] [ 79s] tests/repositories/test_legacy_repository.py::test_get_package_retrieves_packages_with_no_hashes PASSED [ 60%] [ 79s] tests/repositories/test_legacy_repository.py::test_username_password_special_chars PASSED [ 60%] [ 79s] tests/repositories/test_pool.py::test_pool_raises_package_not_found_when_no_package_is_found PASSED [ 60%] [ 79s] tests/repositories/test_pool.py::test_pool PASSED [ 60%] [ 79s] tests/repositories/test_pool.py::test_pool_with_initial_repositories PASSED [ 60%] [ 79s] tests/repositories/test_pool.py::test_repository_no_repository PASSED [ 60%] [ 79s] tests/repositories/test_pool.py::test_repository_from_normal_pool PASSED [ 60%] [ 79s] tests/repositories/test_pool.py::test_repository_from_secondary_pool PASSED [ 61%] [ 79s] tests/repositories/test_pool.py::test_repository_with_normal_default_and_secondary_repositories PASSED [ 61%] [ 79s] tests/repositories/test_pypi_repository.py::test_find_packages PASSED [ 61%] [ 79s] tests/repositories/test_pypi_repository.py::test_find_packages_with_prereleases PASSED [ 61%] [ 79s] tests/repositories/test_pypi_repository.py::test_find_packages_does_not_select_prereleases_if_not_allowed PASSED [ 61%] [ 79s] tests/repositories/test_pypi_repository.py::test_package PASSED [ 61%] [ 79s] tests/repositories/test_pypi_repository.py::test_fallback_on_downloading_packages PASSED [ 61%] [ 79s] tests/repositories/test_pypi_repository.py::test_fallback_inspects_sdist_first_if_no_matching_wheels_can_be_found PASSED [ 62%] [ 79s] tests/repositories/test_pypi_repository.py::test_fallback_can_read_setup_to_get_dependencies PASSED [ 62%] [ 80s] tests/repositories/test_pypi_repository.py::test_pypi_repository_supports_reading_bz2_files PASSED [ 62%] [ 80s] tests/repositories/test_pypi_repository.py::test_invalid_versions_ignored PASSED [ 62%] [ 80s] tests/repositories/test_pypi_repository.py::test_get_should_invalid_cache_on_too_many_redirects_error PASSED [ 62%] [ 80s] tests/semver/test_main.py::test_parse_constraint[*-constraint0] PASSED [ 62%] [ 80s] tests/semver/test_main.py::test_parse_constraint[*.*-constraint1] PASSED [ 62%] [ 80s] tests/semver/test_main.py::test_parse_constraint[v*.*-constraint2] PASSED [ 63%] [ 80s] tests/semver/test_main.py::test_parse_constraint[*.x.*-constraint3] PASSED [ 63%] [ 80s] tests/semver/test_main.py::test_parse_constraint[x.X.x.*-constraint4] PASSED [ 63%] [ 80s] tests/semver/test_main.py::test_parse_constraint[>1.0.0-constraint5] PASSED [ 63%] [ 80s] tests/semver/test_main.py::test_parse_constraint[<1.2.3-constraint6] PASSED [ 63%] [ 80s] tests/semver/test_main.py::test_parse_constraint[<=1.2.3-constraint7] PASSED [ 63%] [ 80s] tests/semver/test_main.py::test_parse_constraint[>=1.2.3-constraint8] PASSED [ 63%] [ 80s] tests/semver/test_main.py::test_parse_constraint[=1.2.3-constraint9] PASSED [ 64%] [ 80s] tests/semver/test_main.py::test_parse_constraint[1.2.3-constraint10] PASSED [ 64%] [ 80s] tests/semver/test_main.py::test_parse_constraint[=1.0-constraint11] PASSED [ 64%] [ 80s] tests/semver/test_main.py::test_parse_constraint[1.2.3b5-constraint12] PASSED [ 64%] [ 80s] tests/semver/test_main.py::test_parse_constraint[>= 1.2.3-constraint13] PASSED [ 64%] [ 80s] tests/semver/test_main.py::test_parse_constraint[>dev-constraint14] PASSED [ 64%] [ 80s] tests/semver/test_main.py::test_parse_constraint_wildcard[v2.*-constraint0] PASSED [ 64%] [ 80s] tests/semver/test_main.py::test_parse_constraint_wildcard[2.*.*-constraint1] PASSED [ 65%] [ 80s] tests/semver/test_main.py::test_parse_constraint_wildcard[20.*-constraint2] PASSED [ 65%] [ 80s] tests/semver/test_main.py::test_parse_constraint_wildcard[20.*.*-constraint3] PASSED [ 65%] [ 80s] tests/semver/test_main.py::test_parse_constraint_wildcard[2.0.*-constraint4] PASSED [ 65%] [ 80s] tests/semver/test_main.py::test_parse_constraint_wildcard[2.x-constraint5] PASSED [ 65%] [ 80s] tests/semver/test_main.py::test_parse_constraint_wildcard[2.x.x-constraint6] PASSED [ 65%] [ 80s] tests/semver/test_main.py::test_parse_constraint_wildcard[2.2.X-constraint7] PASSED [ 65%] [ 80s] tests/semver/test_main.py::test_parse_constraint_wildcard[0.*-constraint8] PASSED [ 66%] [ 80s] tests/semver/test_main.py::test_parse_constraint_wildcard[0.*.*-constraint9] PASSED [ 66%] [ 80s] tests/semver/test_main.py::test_parse_constraint_wildcard[0.x-constraint10] PASSED [ 66%] [ 80s] tests/semver/test_main.py::test_parse_constraint_tilde[~v1-constraint0] PASSED [ 66%] [ 80s] tests/semver/test_main.py::test_parse_constraint_tilde[~1.0-constraint1] PASSED [ 66%] [ 80s] tests/semver/test_main.py::test_parse_constraint_tilde[~1.0.0-constraint2] PASSED [ 66%] [ 80s] tests/semver/test_main.py::test_parse_constraint_tilde[~1.2-constraint3] PASSED [ 67%] [ 80s] tests/semver/test_main.py::test_parse_constraint_tilde[~1.2.3-constraint4] PASSED [ 67%] [ 80s] tests/semver/test_main.py::test_parse_constraint_tilde[~1.2-beta-constraint5] PASSED [ 67%] [ 80s] tests/semver/test_main.py::test_parse_constraint_tilde[~1.2-b2-constraint6] PASSED [ 67%] [ 80s] tests/semver/test_main.py::test_parse_constraint_tilde[~0.3-constraint7] PASSED [ 67%] [ 80s] tests/semver/test_main.py::test_parse_constraint_tilde[~3.5-constraint8] PASSED [ 67%] [ 80s] tests/semver/test_main.py::test_parse_constraint_tilde[~=3.5-constraint9] PASSED [ 67%] [ 80s] tests/semver/test_main.py::test_parse_constraint_tilde[~=3.5.3-constraint10] PASSED [ 68%] [ 80s] tests/semver/test_main.py::test_parse_constraint_caret[^v1-constraint0] PASSED [ 68%] [ 80s] tests/semver/test_main.py::test_parse_constraint_caret[^0-constraint1] PASSED [ 68%] [ 80s] tests/semver/test_main.py::test_parse_constraint_caret[^0.0-constraint2] PASSED [ 68%] [ 80s] tests/semver/test_main.py::test_parse_constraint_caret[^1.2-constraint3] PASSED [ 68%] [ 80s] tests/semver/test_main.py::test_parse_constraint_caret[^1.2.3-beta.2-constraint4] PASSED [ 68%] [ 80s] tests/semver/test_main.py::test_parse_constraint_caret[^1.2.3-constraint5] PASSED [ 68%] [ 80s] tests/semver/test_main.py::test_parse_constraint_caret[^0.2.3-constraint6] PASSED [ 69%] [ 80s] tests/semver/test_main.py::test_parse_constraint_caret[^0.2-constraint7] PASSED [ 69%] [ 80s] tests/semver/test_main.py::test_parse_constraint_caret[^0.2.0-constraint8] PASSED [ 69%] [ 80s] tests/semver/test_main.py::test_parse_constraint_caret[^0.0.3-constraint9] PASSED [ 69%] [ 80s] tests/semver/test_main.py::test_parse_constraint_multi[>2.0,<=3.0] PASSED [ 69%] [ 80s] tests/semver/test_main.py::test_parse_constraint_multi[>2.0 <=3.0] PASSED [ 69%] [ 80s] tests/semver/test_main.py::test_parse_constraint_multi[>2.0 <=3.0] PASSED [ 69%] [ 80s] tests/semver/test_main.py::test_parse_constraint_multi[>2.0, <=3.0] PASSED [ 70%] [ 80s] tests/semver/test_main.py::test_parse_constraint_multi[>2.0 ,<=3.0] PASSED [ 70%] [ 80s] tests/semver/test_main.py::test_parse_constraint_multi[>2.0 , <=3.0] PASSED [ 70%] [ 80s] tests/semver/test_main.py::test_parse_constraint_multi[>2.0 , <=3.0] PASSED [ 70%] [ 80s] tests/semver/test_main.py::test_parse_constraint_multi[> 2.0 <= 3.0] PASSED [ 70%] [ 80s] tests/semver/test_main.py::test_parse_constraint_multi[> 2.0 , <= 3.0] PASSED [ 70%] [ 80s] tests/semver/test_main.py::test_parse_constraint_multi[ > 2.0 , <= 3.0 ] PASSED [ 70%] [ 80s] tests/semver/test_main.py::test_parse_constraint_multi_wilcard[>=2.7,!=3.0.*,!=3.1.*] PASSED [ 71%] [ 80s] tests/semver/test_main.py::test_parse_constraint_multi_wilcard[>=2.7, !=3.0.*, !=3.1.*] PASSED [ 71%] [ 80s] tests/semver/test_main.py::test_parse_constraint_multi_wilcard[>= 2.7, != 3.0.*, != 3.1.*] PASSED [ 71%] [ 80s] tests/semver/test_main.py::test_parse_constraints_negative_wildcard[!=v2.*-constraint0] PASSED [ 71%] [ 80s] tests/semver/test_main.py::test_parse_constraints_negative_wildcard[!=2.*.*-constraint1] PASSED [ 71%] [ 80s] tests/semver/test_main.py::test_parse_constraints_negative_wildcard[!=2.0.*-constraint2] PASSED [ 71%] [ 80s] tests/semver/test_main.py::test_parse_constraints_negative_wildcard[!=0.*-constraint3] PASSED [ 71%] [ 80s] tests/semver/test_main.py::test_parse_constraints_negative_wildcard[!=0.*.*-constraint4] PASSED [ 72%] [ 80s] tests/semver/test_main.py::test_constraints_keep_version_precision[1-1] PASSED [ 72%] [ 80s] tests/semver/test_main.py::test_constraints_keep_version_precision[1.2-1.2] PASSED [ 72%] [ 80s] tests/semver/test_main.py::test_constraints_keep_version_precision[1.2.3-1.2.3] PASSED [ 72%] [ 80s] tests/semver/test_main.py::test_constraints_keep_version_precision[!=1-!=1] PASSED [ 72%] [ 80s] tests/semver/test_main.py::test_constraints_keep_version_precision[!=1.2-!=1.2] PASSED [ 72%] [ 80s] tests/semver/test_main.py::test_constraints_keep_version_precision[!=1.2.3-!=1.2.3] PASSED [ 72%] [ 80s] tests/semver/test_main.py::test_constraints_keep_version_precision[^1->=1,<2] PASSED [ 73%] [ 80s] tests/semver/test_main.py::test_constraints_keep_version_precision[^1.0->=1.0,<2.0] PASSED [ 73%] [ 80s] tests/semver/test_main.py::test_constraints_keep_version_precision[^1.0.0->=1.0.0,<2.0.0] PASSED [ 73%] [ 80s] tests/semver/test_main.py::test_constraints_keep_version_precision[~1->=1,<2] PASSED [ 73%] [ 80s] tests/semver/test_main.py::test_constraints_keep_version_precision[~1.0->=1.0,<1.1] PASSED [ 73%] [ 80s] tests/semver/test_main.py::test_constraints_keep_version_precision[~1.0.0->=1.0.0,<1.1.0] PASSED [ 73%] [ 80s] tests/semver/test_main.py::test_versions_are_sortable[unsorted0-sorted_0] PASSED [ 73%] [ 80s] tests/semver/test_main.py::test_versions_are_sortable[unsorted1-sorted_1] PASSED [ 74%] [ 80s] tests/semver/test_main.py::test_versions_are_sortable[unsorted2-sorted_2] PASSED [ 74%] [ 80s] tests/semver/test_main.py::test_versions_are_sortable[unsorted3-sorted_3] PASSED [ 74%] [ 80s] tests/semver/test_main.py::test_versions_are_sortable[unsorted4-sorted_4] PASSED [ 74%] [ 80s] tests/semver/test_main.py::test_versions_are_sortable[unsorted5-sorted_5] PASSED [ 74%] [ 80s] tests/semver/test_version.py::test_parse_valid[1.0.0-version0] PASSED [ 74%] [ 80s] tests/semver/test_version.py::test_parse_valid[1-version1] PASSED [ 75%] [ 80s] tests/semver/test_version.py::test_parse_valid[1.0-version2] PASSED [ 75%] [ 80s] tests/semver/test_version.py::test_parse_valid[1b1-version3] PASSED [ 75%] [ 80s] tests/semver/test_version.py::test_parse_valid[1.0b1-version4] PASSED [ 75%] [ 80s] tests/semver/test_version.py::test_parse_valid[1.0.0b1-version5] PASSED [ 75%] [ 80s] tests/semver/test_version.py::test_parse_valid[1.0.0-b1-version6] PASSED [ 75%] [ 80s] tests/semver/test_version.py::test_parse_valid[1.0.0-beta.1-version7] PASSED [ 75%] [ 80s] tests/semver/test_version.py::test_parse_valid[1.0.0+1-version8] PASSED [ 76%] [ 80s] tests/semver/test_version.py::test_parse_valid[1.0.0-1-version9] PASSED [ 76%] [ 80s] tests/semver/test_version.py::test_parse_valid[1.0.0.0-version10] PASSED [ 76%] [ 80s] tests/semver/test_version.py::test_parse_valid[1.0.0-post-version11] PASSED [ 76%] [ 80s] tests/semver/test_version.py::test_parse_valid[1.0.0-post1-version12] PASSED [ 76%] [ 80s] tests/semver/test_version.py::test_parse_valid[0.6c-version13] PASSED [ 76%] [ 80s] tests/semver/test_version.py::test_parse_valid[0.6pre-version14] PASSED [ 76%] [ 80s] tests/semver/test_version.py::test_parse_invalid[input0] PASSED [ 77%] [ 80s] tests/semver/test_version.py::test_comparison PASSED [ 77%] [ 80s] tests/semver/test_version.py::test_equality PASSED [ 77%] [ 80s] tests/semver/test_version.py::test_allows PASSED [ 77%] [ 80s] tests/semver/test_version.py::test_allows_all PASSED [ 77%] [ 80s] tests/semver/test_version.py::test_allows_any PASSED [ 77%] [ 80s] tests/semver/test_version.py::test_intersect PASSED [ 77%] [ 80s] tests/semver/test_version.py::test_union PASSED [ 78%] [ 80s] tests/semver/test_version.py::test_difference PASSED [ 78%] [ 80s] tests/semver/test_version_range.py::test_allows_all PASSED [ 78%] [ 80s] tests/semver/test_version_range.py::test_allows_any PASSED [ 78%] [ 80s] tests/semver/test_version_range.py::test_intersect PASSED [ 78%] [ 80s] tests/semver/test_version_range.py::test_union PASSED [ 78%] [ 80s] tests/spdx/test_license.py::test_classifier_name PASSED [ 78%] [ 80s] tests/spdx/test_license.py::test_classifier_name_no_classifer_osi_approved PASSED [ 79%] [ 80s] tests/spdx/test_license.py::test_classifier_name_no_classifer PASSED [ 79%] [ 80s] tests/spdx/test_license.py::test_classifier PASSED [ 79%] [ 80s] tests/spdx/test_license.py::test_classifier_no_classifer_osi_approved PASSED [ 79%] [ 80s] tests/spdx/test_license.py::test_classifier_no_classifer PASSED [ 79%] [ 80s] tests/spdx/test_license.py::test_proprietary_license PASSED [ 79%] [ 80s] tests/spdx/test_main.py::test_license_by_id PASSED [ 79%] [ 80s] tests/spdx/test_main.py::test_license_by_id_is_case_insensitive PASSED [ 80%] [ 80s] tests/spdx/test_main.py::test_license_by_id_with_full_name PASSED [ 80%] [ 80s] tests/spdx/test_main.py::test_license_by_id_invalid PASSED [ 80%] [ 82s] tests/utils/test_env.py::test_virtualenvs_with_spaces_in_their_path_work_as_expected PASSED [ 80%] [ 82s] tests/utils/test_env.py::test_env_get_in_project_venv PASSED [ 80%] [ 82s] tests/utils/test_env.py::test_activate_activates_non_existing_virtualenv_no_envs_file PASSED [ 80%] [ 82s] tests/utils/test_env.py::test_activate_activates_existing_virtualenv_no_envs_file PASSED [ 80%] [ 82s] tests/utils/test_env.py::test_activate_activates_same_virtualenv_with_envs_file PASSED [ 81%] [ 82s] tests/utils/test_env.py::test_activate_activates_different_virtualenv_with_envs_file PASSED [ 81%] [ 82s] tests/utils/test_env.py::test_activate_activates_recreates_for_different_patch PASSED [ 81%] [ 82s] tests/utils/test_env.py::test_activate_does_not_recreate_when_switching_minor PASSED [ 81%] [ 82s] tests/utils/test_env.py::test_deactivate_non_activated_but_existing PASSED [ 81%] [ 82s] tests/utils/test_env.py::test_deactivate_activated PASSED [ 81%] [ 82s] tests/utils/test_env.py::test_get_prefers_explicitly_activated_virtualenvs_over_env_var PASSED [ 81%] [ 82s] tests/utils/test_env.py::test_list PASSED [ 82%] [ 82s] tests/utils/test_env.py::test_remove_by_python_version PASSED [ 82%] [ 82s] tests/utils/test_env.py::test_remove_by_name PASSED [ 82%] [ 82s] tests/utils/test_env.py::test_remove_also_deactivates PASSED [ 82%] [ 84s] tests/utils/test_env.py::test_env_has_symlinks_on_nix PASSED [ 82%] [ 86s] tests/utils/test_env.py::test_run_with_input PASSED [ 82%] [ 88s] tests/utils/test_env.py::test_run_with_input_non_zero_return PASSED [ 82%] [ 88s] tests/utils/test_env.py::test_create_venv_tries_to_find_a_compatible_python_executable_using_generic_ones_first PASSED [ 83%] [ 88s] tests/utils/test_env.py::test_create_venv_tries_to_find_a_compatible_python_executable_using_specific_ones PASSED [ 83%] [ 88s] tests/utils/test_env.py::test_create_venv_fails_if_no_compatible_python_version_could_be_found PASSED [ 83%] [ 88s] tests/utils/test_env.py::test_create_venv_does_not_try_to_find_compatible_versions_with_executable PASSED [ 83%] [ 88s] tests/utils/test_exporter.py::test_exporter_can_export_requirements_txt_with_standard_packages PASSED [ 83%] [ 88s] tests/utils/test_exporter.py::test_exporter_can_export_requirements_txt_with_standard_packages_and_markers PASSED [ 83%] [ 88s] tests/utils/test_exporter.py::test_exporter_can_export_requirements_txt_with_standard_packages_and_hashes PASSED [ 84%] [ 88s] tests/utils/test_exporter.py::test_exporter_can_export_requirements_txt_with_standard_packages_and_hashes_disabled PASSED [ 84%] [ 88s] tests/utils/test_exporter.py::test_exporter_exports_requirements_txt_without_dev_packages_by_default PASSED [ 84%] [ 88s] tests/utils/test_exporter.py::test_exporter_exports_requirements_txt_with_dev_packages_if_opted_in PASSED [ 84%] [ 88s] tests/utils/test_exporter.py::test_exporter_exports_requirements_txt_without_optional_packages PASSED [ 84%] [ 88s] tests/utils/test_exporter.py::test_exporter_exports_requirements_txt_with_optional_packages_if_opted_in PASSED [ 84%] [ 88s] tests/utils/test_exporter.py::test_exporter_can_export_requirements_txt_with_git_packages PASSED [ 84%] [ 88s] tests/utils/test_exporter.py::test_exporter_can_export_requirements_txt_with_git_packages_and_markers PASSED [ 85%] [ 88s] tests/utils/test_exporter.py::test_exporter_can_export_requirements_txt_with_directory_packages PASSED [ 85%] [ 88s] tests/utils/test_exporter.py::test_exporter_can_export_requirements_txt_with_directory_packages_and_markers PASSED [ 85%] [ 88s] tests/utils/test_exporter.py::test_exporter_can_export_requirements_txt_with_file_packages PASSED [ 85%] [ 88s] tests/utils/test_exporter.py::test_exporter_can_export_requirements_txt_with_file_packages_and_markers PASSED [ 85%] [ 88s] tests/utils/test_exporter.py::test_exporter_exports_requirements_txt_with_legacy_packages PASSED [ 85%] [ 88s] tests/utils/test_exporter.py::test_exporter_exports_requirements_txt_with_legacy_packages_and_duplicate_sources PASSED [ 85%] [ 88s] tests/utils/test_exporter.py::test_exporter_exports_requirements_txt_with_legacy_packages_and_credentials PASSED [ 86%] [ 88s] tests/utils/test_exporter.py::test_exporter_exports_requirements_txt_to_standard_output PASSED [ 86%] [ 88s] tests/utils/test_extras.py::test_get_extra_package_names[packages0-extras0-extra_names0-expected_extra_package_names0] PASSED [ 86%] [ 88s] tests/utils/test_extras.py::test_get_extra_package_names[packages1-extras1-extra_names1-expected_extra_package_names1] PASSED [ 86%] [ 88s] tests/utils/test_extras.py::test_get_extra_package_names[packages2-extras2-extra_names2-expected_extra_package_names2] PASSED [ 86%] [ 88s] tests/utils/test_extras.py::test_get_extra_package_names[packages3-extras3-extra_names3-expected_extra_package_names3] PASSED [ 86%] [ 88s] tests/utils/test_extras.py::test_get_extra_package_names[packages4-extras4-extra_names4-expected_extra_package_names4] PASSED [ 86%] [ 88s] tests/utils/test_extras.py::test_get_extra_package_names[packages5-extras5-extra_names5-expected_extra_package_names5] PASSED [ 87%] [ 88s] tests/utils/test_helpers.py::test_parse_requires PASSED [ 87%] [ 88s] tests/utils/test_helpers.py::test_get_http_basic_auth PASSED [ 87%] [ 88s] tests/utils/test_helpers.py::test_get_http_basic_auth_without_password PASSED [ 87%] [ 88s] tests/utils/test_helpers.py::test_get_http_basic_auth_missing PASSED [ 87%] [ 88s] tests/utils/test_helpers.py::test_get_cert PASSED [ 87%] [ 88s] tests/utils/test_helpers.py::test_get_client_cert PASSED [ 87%] [ 88s] tests/utils/test_helpers_keyring.py::test_keyring_repository_password_get PASSED [ 88%] [ 88s] tests/utils/test_helpers_keyring.py::test_keyring_repository_password_get_not_set PASSED [ 88%] [ 88s] tests/utils/test_helpers_keyring.py::test_keyring_repository_password_get_broken PASSED [ 88%] [ 88s] tests/utils/test_helpers_keyring.py::test_keyring_repository_password_set PASSED [ 88%] [ 88s] tests/utils/test_helpers_keyring.py::test_keyring_repository_password_set_broken PASSED [ 88%] [ 88s] tests/utils/test_helpers_keyring.py::test_keyring_repository_password_del PASSED [ 88%] [ 88s] tests/utils/test_helpers_keyring.py::test_keyring_repository_password_del_not_set PASSED [ 88%] [ 88s] tests/utils/test_helpers_keyring.py::test_keyring_repository_password_del_broken PASSED [ 89%] [ 88s] tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_direct_types PASSED [ 89%] [ 88s] tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_variables PASSED [ 89%] [ 88s] tests/utils/test_setup_reader.py::test_setup_reader_read_sub_level_setup_call_with_direct_types PASSED [ 89%] [ 88s] tests/utils/test_setup_reader.py::test_setup_reader_read_setup_cfg PASSED [ 89%] [ 88s] tests/utils/test_setup_reader.py::test_setup_reader_read_setup_kwargs PASSED [ 89%] [ 88s] tests/utils/test_setup_reader.py::test_setup_reader_read_setup_call_in_main PASSED [ 89%] [ 88s] tests/utils/test_setup_reader.py::test_setup_reader_read_extras_require_with_variables PASSED [ 90%] [ 88s] tests/utils/test_toml_file.py::test_toml_file PASSED [ 90%] [ 88s] tests/utils/test_toml_file.py::test_pyproject_parsing PASSED [ 90%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+ssh://user@hostname:project.git#commit-normalized0] PASSED [ 90%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+http://user@hostname/project/blah.git@commit-normalized1] PASSED [ 90%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+https://user@hostname/project/blah.git-normalized2] PASSED [ 90%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+https://user@hostname:project/blah.git-normalized3] PASSED [ 90%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+ssh://git@github.com:sdispater/poetry.git#v1.0.27-normalized4] PASSED [ 91%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+ssh://git@github.com:/sdispater/poetry.git-normalized5] PASSED [ 91%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+ssh://git@github.com:org/repo-normalized6] PASSED [ 91%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+ssh://git@github.com/org/repo-normalized7] PASSED [ 91%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+ssh://foo:22/some/path-normalized8] PASSED [ 91%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git@github.com:org/repo-normalized9] PASSED [ 91%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+https://github.com/sdispater/pendulum-normalized10] PASSED [ 92%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+https://github.com/sdispater/pendulum#7a018f2d075b03a73409e8356f9b29c9ad4ea2c5-normalized11] PASSED [ 92%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+ssh://git@git.example.com:b/b.git#v1.0.0-normalized12] PASSED [ 92%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+ssh://git@github.com:sdispater/pendulum.git#foo/bar-normalized13] PASSED [ 92%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+file:///foo/bar.git-normalized14] PASSED [ 92%] [ 88s] tests/vcs/test_git.py::test_normalize_url[git+file://C:\\Users\\hello\\testing.git#zkat/windows-files-normalized15] PASSED [ 92%] [ 88s] tests/version/test_helpers.py::test_format_python_constraint PASSED [ 92%] [ 88s] tests/version/test_helpers.py::test_format_python_constraint_single_version PASSED [ 93%] [ 88s] tests/version/test_markers.py::test_single_marker PASSED [ 93%] [ 88s] tests/version/test_markers.py::test_single_marker_intersect PASSED [ 93%] [ 88s] tests/version/test_markers.py::test_single_marker_intersect_compacts_constraints PASSED [ 93%] [ 88s] tests/version/test_markers.py::test_single_marker_intersect_with_multi PASSED [ 93%] [ 88s] tests/version/test_markers.py::test_single_marker_intersect_with_multi_with_duplicate PASSED [ 93%] [ 88s] tests/version/test_markers.py::test_single_marker_intersect_with_multi_compacts_constraint PASSED [ 93%] [ 88s] tests/version/test_markers.py::test_single_marker_not_in_python_intersection PASSED [ 94%] [ 88s] tests/version/test_markers.py::test_single_marker_union PASSED [ 94%] [ 88s] tests/version/test_markers.py::test_single_marker_union_compacts_constraints PASSED [ 94%] [ 88s] tests/version/test_markers.py::test_single_marker_union_with_multi PASSED [ 94%] [ 88s] tests/version/test_markers.py::test_single_marker_union_with_multi_duplicate PASSED [ 94%] [ 88s] tests/version/test_markers.py::test_single_marker_union_with_union PASSED [ 94%] [ 88s] tests/version/test_markers.py::test_single_marker_not_in_python_union PASSED [ 94%] [ 88s] tests/version/test_markers.py::test_single_marker_union_with_union_duplicate PASSED [ 95%] [ 88s] tests/version/test_markers.py::test_multi_marker PASSED [ 95%] [ 88s] tests/version/test_markers.py::test_multi_marker_is_empty_is_contradictory PASSED [ 95%] [ 88s] tests/version/test_markers.py::test_multi_marker_intersect_multi PASSED [ 95%] [ 88s] tests/version/test_markers.py::test_multi_marker_intersect_multi_with_overlapping_constraints PASSED [ 95%] [ 88s] tests/version/test_markers.py::test_multi_marker_union_multi PASSED [ 95%] [ 88s] tests/version/test_markers.py::test_multi_marker_union_with_union PASSED [ 95%] [ 88s] tests/version/test_markers.py::test_marker_union PASSED [ 96%] [ 88s] tests/version/test_markers.py::test_marker_union_deduplicate PASSED [ 96%] [ 88s] tests/version/test_markers.py::test_marker_union_intersect_single_marker PASSED [ 96%] [ 88s] tests/version/test_markers.py::test_marker_union_intersect_single_with_overlapping_constraints PASSED [ 96%] [ 88s] tests/version/test_markers.py::test_marker_union_intersect_marker_union PASSED [ 96%] [ 88s] tests/version/test_markers.py::test_marker_union_intersect_multi_marker PASSED [ 96%] [ 88s] tests/version/test_markers.py::test_marker_union_union_with_union PASSED [ 96%] [ 88s] tests/version/test_markers.py::test_marker_union_union_duplicates PASSED [ 97%] [ 88s] tests/version/test_markers.py::test_intersect_compacts_constraints PASSED [ 97%] [ 88s] tests/version/test_markers.py::test_multi_marker_removes_duplicates PASSED [ 97%] [ 88s] tests/version/test_markers.py::test_validate[os_name == 'posix'-None-True] PASSED [ 97%] [ 88s] tests/version/test_markers.py::test_validate[os_name == 'foo'-environment1-True] PASSED [ 97%] [ 88s] tests/version/test_markers.py::test_validate[os_name == 'foo'-environment2-False] PASSED [ 97%] [ 88s] tests/version/test_markers.py::test_validate['2.7' in python_version-environment3-True] PASSED [ 97%] [ 88s] tests/version/test_markers.py::test_validate['2.7' not in python_version-environment4-False] PASSED [ 98%] [ 88s] tests/version/test_markers.py::test_validate[os_name == 'foo' and python_version ~= '2.7.0'-environment5-True] PASSED [ 98%] [ 88s] tests/version/test_markers.py::test_validate[python_version ~= '2.7.0' and (os_name == 'foo' or os_name == 'bar')-environment6-True] PASSED [ 98%] [ 88s] tests/version/test_markers.py::test_validate[python_version ~= '2.7.0' and (os_name == 'foo' or os_name == 'bar')-environment7-True] PASSED [ 98%] [ 88s] tests/version/test_markers.py::test_validate[python_version ~= '2.7.0' and (os_name == 'foo' or os_name == 'bar')-environment8-False] PASSED [ 98%] [ 88s] tests/version/test_markers.py::test_validate[extra == 'security'-environment9-False] PASSED [ 98%] [ 88s] tests/version/test_markers.py::test_validate[extra == 'security'-environment10-True] PASSED [ 98%] [ 88s] tests/version/test_markers.py::test_validate[os.name == 'posix'-None-True] PASSED [ 99%] [ 88s] tests/version/test_markers.py::test_validate[sys.platform == 'win32'-environment12-False] PASSED [ 99%] [ 88s] tests/version/test_markers.py::test_validate[platform.version in 'Ubuntu'-environment13-False] PASSED [ 99%] [ 88s] tests/version/test_markers.py::test_validate[platform.machine=='x86_64'-environment14-True] PASSED [ 99%] [ 88s] tests/version/test_markers.py::test_validate[platform.python_implementation=='Jython'-environment15-False] PASSED [ 99%] [ 88s] tests/version/test_markers.py::test_validate[python_version == '2.5' and platform.python_implementation!= 'Jython'-environment16-False] PASSED [ 99%] [ 88s] tests/version/test_markers.py::test_parse_version_like_markers[platform_release >= "9.0" and platform_release < "11.0"-env0] PASSED [100%] [ 88s] [ 88s] =================================== FAILURES =================================== [ 88s] ____________________________ test_add_no_constraint ____________________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_no_constraint(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("cachy", "0.1.0")) [ 88s] repo.add_package(get_package("cachy", "0.2.0")) [ 88s] [ 88s] > tester.execute("cachy") [ 88s] [ 88s] tests/console/commands/test_add.py:19: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] __________________________ test_add_equal_constraint ___________________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_equal_constraint(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("cachy", "0.1.0")) [ 88s] repo.add_package(get_package("cachy", "0.2.0")) [ 88s] [ 88s] > tester.execute("cachy==0.1.0") [ 88s] [ 88s] tests/console/commands/test_add.py:52: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _________________________ test_add_greater_constraint __________________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_greater_constraint(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("cachy", "0.1.0")) [ 88s] repo.add_package(get_package("cachy", "0.2.0")) [ 88s] [ 88s] > tester.execute("cachy>=0.1.0") [ 88s] [ 88s] tests/console/commands/test_add.py:79: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _______________________ test_add_constraint_with_extras ________________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_constraint_with_extras(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy1 = get_package("cachy", "0.1.0") [ 88s] cachy1.extras = {"msgpack": [get_dependency("msgpack-python")]} [ 88s] msgpack_dep = get_dependency("msgpack-python", ">=0.5 <0.6", optional=True) [ 88s] cachy1.requires = [msgpack_dep] [ 88s] [ 88s] repo.add_package(get_package("cachy", "0.2.0")) [ 88s] repo.add_package(cachy1) [ 88s] repo.add_package(get_package("msgpack-python", "0.5.3")) [ 88s] [ 88s] > tester.execute("cachy[msgpack]>=0.1.0,<0.2.0") [ 88s] [ 88s] tests/console/commands/test_add.py:112: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _______________________ test_add_constraint_dependencies _______________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_constraint_dependencies(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy2 = get_package("cachy", "0.2.0") [ 88s] msgpack_dep = get_dependency("msgpack-python", ">=0.5 <0.6") [ 88s] cachy2.requires = [msgpack_dep] [ 88s] [ 88s] repo.add_package(get_package("cachy", "0.1.0")) [ 88s] repo.add_package(cachy2) [ 88s] repo.add_package(get_package("msgpack-python", "0.5.3")) [ 88s] [ 88s] > tester.execute("cachy=0.2.0") [ 88s] [ 88s] tests/console/commands/test_add.py:145: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ___________________________ test_add_git_constraint ____________________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_git_constraint(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("pendulum", "1.4.4")) [ 88s] repo.add_package(get_package("cleo", "0.6.5")) [ 88s] [ 88s] > tester.execute("git+https://github.com/demo/demo.git") [ 88s] [ 88s] tests/console/commands/test_add.py:173: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _____________________ test_add_git_constraint_with_poetry ______________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_git_constraint_with_poetry(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("pendulum", "1.4.4")) [ 88s] [ 88s] > tester.execute("git+https://github.com/demo/pyproject-demo.git") [ 88s] [ 88s] tests/console/commands/test_add.py:207: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _____________________ test_add_git_constraint_with_extras ______________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_git_constraint_with_extras(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("pendulum", "1.4.4")) [ 88s] repo.add_package(get_package("cleo", "0.6.5")) [ 88s] repo.add_package(get_package("tomlkit", "0.5.5")) [ 88s] [ 88s] > tester.execute("git+https://github.com/demo/demo.git[foo,bar]") [ 88s] [ 88s] tests/console/commands/test_add.py:236: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _________________________ test_add_git_ssh_constraint __________________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_git_ssh_constraint(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("pendulum", "1.4.4")) [ 88s] repo.add_package(get_package("cleo", "0.6.5")) [ 88s] [ 88s] > tester.execute("git+ssh://git@github.com/demo/demo.git@develop") [ 88s] [ 88s] tests/console/commands/test_add.py:274: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ________________________ test_add_directory_constraint _________________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] mocker = [ 88s] [ 88s] def test_add_directory_constraint(app, repo, installer, mocker): [ 88s] p = mocker.patch("poetry.utils._compat.Path.cwd") [ 88s] p.return_value = Path(__file__) / ".." [ 88s] [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("pendulum", "1.4.4")) [ 88s] repo.add_package(get_package("cleo", "0.6.5")) [ 88s] [ 88s] > tester.execute("../git/github.com/demo/demo") [ 88s] [ 88s] tests/console/commands/test_add.py:313: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ________________________ test_add_directory_with_poetry ________________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] mocker = [ 88s] [ 88s] def test_add_directory_with_poetry(app, repo, installer, mocker): [ 88s] p = mocker.patch("poetry.utils._compat.Path.cwd") [ 88s] p.return_value = Path(__file__) / ".." [ 88s] [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("pendulum", "1.4.4")) [ 88s] [ 88s] > tester.execute("../git/github.com/demo/pyproject-demo") [ 88s] [ 88s] tests/console/commands/test_add.py:348: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ________________________ test_add_file_constraint_wheel ________________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] mocker = [ 88s] [ 88s] def test_add_file_constraint_wheel(app, repo, installer, mocker): [ 88s] p = mocker.patch("poetry.utils._compat.Path.cwd") [ 88s] p.return_value = Path(__file__) / ".." [ 88s] [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("pendulum", "1.4.4")) [ 88s] [ 88s] > tester.execute("../distributions/demo-0.1.0-py2.py3-none-any.whl") [ 88s] [ 88s] tests/console/commands/test_add.py:378: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ________________________ test_add_file_constraint_sdist ________________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] mocker = [ 88s] [ 88s] def test_add_file_constraint_sdist(app, repo, installer, mocker): [ 88s] p = mocker.patch("poetry.utils._compat.Path.cwd") [ 88s] p.return_value = Path(__file__) / ".." [ 88s] [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("pendulum", "1.4.4")) [ 88s] [ 88s] > tester.execute("../distributions/demo-0.1.0.tar.gz") [ 88s] [ 88s] tests/console/commands/test_add.py:415: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ____________________ test_add_constraint_with_extras_option ____________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_constraint_with_extras_option(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy2 = get_package("cachy", "0.2.0") [ 88s] cachy2.extras = {"msgpack": [get_dependency("msgpack-python")]} [ 88s] msgpack_dep = get_dependency("msgpack-python", ">=0.5 <0.6", optional=True) [ 88s] cachy2.requires = [msgpack_dep] [ 88s] [ 88s] repo.add_package(get_package("cachy", "0.1.0")) [ 88s] repo.add_package(cachy2) [ 88s] repo.add_package(get_package("msgpack-python", "0.5.3")) [ 88s] [ 88s] > tester.execute("cachy=0.2.0 --extras msgpack") [ 88s] [ 88s] tests/console/commands/test_add.py:456: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ________________________ test_add_url_constraint_wheel _________________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] mocker = [ 88s] [ 88s] def test_add_url_constraint_wheel(app, repo, installer, mocker): [ 88s] p = mocker.patch("poetry.utils._compat.Path.cwd") [ 88s] p.return_value = Path(__file__) / ".." [ 88s] [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("pendulum", "1.4.4")) [ 88s] [ 88s] tester.execute( [ 88s] > "https://poetry.eustace.io/distributions/demo-0.1.0-py2.py3-none-any.whl" [ 88s] ) [ 88s] [ 88s] tests/console/commands/test_add.py:495: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] __________________ test_add_url_constraint_wheel_with_extras ___________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] mocker = [ 88s] [ 88s] def test_add_url_constraint_wheel_with_extras(app, repo, installer, mocker): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("pendulum", "1.4.4")) [ 88s] repo.add_package(get_package("cleo", "0.6.5")) [ 88s] repo.add_package(get_package("tomlkit", "0.5.5")) [ 88s] [ 88s] tester.execute( [ 88s] > "https://poetry.eustace.io/distributions/demo-0.1.0-py2.py3-none-any.whl[foo,bar]" [ 88s] ) [ 88s] [ 88s] tests/console/commands/test_add.py:533: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _______________________ test_add_constraint_with_python ________________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_constraint_with_python(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy2 = get_package("cachy", "0.2.0") [ 88s] [ 88s] repo.add_package(get_package("cachy", "0.1.0")) [ 88s] repo.add_package(cachy2) [ 88s] [ 88s] > tester.execute("cachy=0.2.0 --python >=2.7") [ 88s] [ 88s] tests/console/commands/test_add.py:574: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ______________________ test_add_constraint_with_platform _______________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_constraint_with_platform(app, repo, installer): [ 88s] platform = sys.platform [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy2 = get_package("cachy", "0.2.0") [ 88s] [ 88s] repo.add_package(get_package("cachy", "0.1.0")) [ 88s] repo.add_package(cachy2) [ 88s] [ 88s] > tester.execute("cachy=0.2.0 --platform {}".format(platform)) [ 88s] [ 88s] tests/console/commands/test_add.py:609: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] __________________ test_add_to_section_that_does_no_exist_yet __________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_to_section_that_does_no_exist_yet(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("cachy", "0.1.0")) [ 88s] repo.add_package(get_package("cachy", "0.2.0")) [ 88s] [ 88s] > tester.execute("cachy --dev") [ 88s] [ 88s] tests/console/commands/test_add.py:644: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ____________________ test_add_should_not_select_prereleases ____________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_should_not_select_prereleases(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("pyyaml", "3.13")) [ 88s] repo.add_package(get_package("pyyaml", "4.2b2")) [ 88s] [ 88s] > tester.execute("pyyaml") [ 88s] [ 88s] tests/console/commands/test_add.py:677: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _ test_add_should_display_an_error_when_adding_existing_package_with_no_constraint _ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_should_display_an_error_when_adding_existing_package_with_no_constraint( [ 88s] app, repo, installer [ 88s] ): [ 88s] content = app.poetry.file.read() [ 88s] content["tool"]["poetry"]["dependencies"]["foo"] = "^1.0" [ 88s] app.poetry.file.write(content) [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("foo", "1.1.2")) [ 88s] [ 88s] with pytest.raises(ValueError) as e: [ 88s] > tester.execute("foo") [ 88s] [ 88s] tests/console/commands/test_add.py:715: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ___ test_add_should_work_when_adding_existing_package_with_latest_constraint ___ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_should_work_when_adding_existing_package_with_latest_constraint( [ 88s] app, repo, installer [ 88s] ): [ 88s] content = app.poetry.file.read() [ 88s] content["tool"]["poetry"]["dependencies"]["foo"] = "^1.0" [ 88s] app.poetry.file.write(content) [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("foo", "1.1.2")) [ 88s] [ 88s] > tester.execute("foo@latest") [ 88s] [ 88s] tests/console/commands/test_add.py:731: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ________ test_add_chooses_prerelease_if_only_prereleases_are_available _________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_chooses_prerelease_if_only_prereleases_are_available(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("foo", "1.2.3b0")) [ 88s] repo.add_package(get_package("foo", "1.2.3b1")) [ 88s] [ 88s] > tester.execute("foo") [ 88s] [ 88s] tests/console/commands/test_add.py:762: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ______________________ test_add_preferes_stable_releases _______________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] installer = [ 88s] [ 88s] def test_add_preferes_stable_releases(app, repo, installer): [ 88s] command = app.find("add") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] repo.add_package(get_package("foo", "1.2.3")) [ 88s] repo.add_package(get_package("foo", "1.2.4b1")) [ 88s] [ 88s] > tester.execute("foo") [ 88s] [ 88s] tests/console/commands/test_add.py:788: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _______ test_export_exports_requirements_txt_file_locks_if_no_lock_file ________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] [ 88s] def test_export_exports_requirements_txt_file_locks_if_no_lock_file(app, repo): [ 88s] command = app.find("export") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] assert not app.poetry.locker.lock.exists() [ 88s] [ 88s] repo.add_package(get_package("foo", "1.0.0")) [ 88s] repo.add_package(get_package("bar", "1.1.0")) [ 88s] [ 88s] > tester.execute("--format requirements.txt --output requirements.txt") [ 88s] [ 88s] tests/console/commands/test_export.py:83: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:171: in _do_handle [ 88s] return getattr(handler, handler_method)(args, io, self) [ 88s] /usr/lib/python3.7/site-packages/cleo/commands/command.py:92: in wrap_handle [ 88s] return self.handle() [ 88s] poetry/console/commands/export.py:47: in handle [ 88s] self.call("lock", options) [ 88s] /usr/lib/python3.7/site-packages/cleo/commands/command.py:110: in call [ 88s] return command.run(args, self.io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _____________ test_export_exports_requirements_txt_uses_lock_file ______________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] [ 88s] def test_export_exports_requirements_txt_uses_lock_file(app, repo): [ 88s] repo.add_package(get_package("foo", "1.0.0")) [ 88s] repo.add_package(get_package("bar", "1.1.0")) [ 88s] [ 88s] command = app.find("lock") [ 88s] tester = CommandTester(command) [ 88s] > tester.execute() [ 88s] [ 88s] tests/console/commands/test_export.py:107: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _____________________ test_export_fails_on_invalid_format ______________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] [ 88s] def test_export_fails_on_invalid_format(app, repo): [ 88s] repo.add_package(get_package("foo", "1.0.0")) [ 88s] repo.add_package(get_package("bar", "1.1.0")) [ 88s] [ 88s] command = app.find("lock") [ 88s] tester = CommandTester(command) [ 88s] > tester.execute() [ 88s] [ 88s] tests/console/commands/test_export.py:138: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ___________________ test_export_prints_to_stdout_by_default ____________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] [ 88s] def test_export_prints_to_stdout_by_default(app, repo): [ 88s] repo.add_package(get_package("foo", "1.0.0")) [ 88s] repo.add_package(get_package("bar", "1.1.0")) [ 88s] [ 88s] command = app.find("lock") [ 88s] tester = CommandTester(command) [ 88s] > tester.execute() [ 88s] [ 88s] tests/console/commands/test_export.py:155: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _____________________ test_export_includes_extras_by_flag ______________________ [ 88s] [ 88s] app = [ 88s] repo = [ 88s] [ 88s] def test_export_includes_extras_by_flag(app, repo): [ 88s] repo.add_package(get_package("foo", "1.0.0")) [ 88s] repo.add_package(get_package("bar", "1.1.0")) [ 88s] [ 88s] command = app.find("lock") [ 88s] tester = CommandTester(command) [ 88s] > tester.execute() [ 88s] [ 88s] tests/console/commands/test_export.py:177: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ___________________ test_show_basic_with_installed_packages ____________________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] [ 88s] def test_show_basic_with_installed_packages(app, poetry, installed): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] [ 88s] pytest_373 = get_package("pytest", "3.7.3") [ 88s] pytest_373.description = "Pytest package" [ 88s] pytest_373.category = "dev" [ 88s] [ 88s] installed.add_package(cachy_010) [ 88s] installed.add_package(pendulum_200) [ 88s] installed.add_package(pytest_373) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pytest", [ 88s] "version": "3.7.3", [ 88s] "description": "Pytest package", [ 88s] "category": "dev", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": [], "pytest": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute() [ 88s] [ 88s] tests/console/commands/test_show.py:70: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] __________ test_show_basic_with_not_installed_packages_non_decorated ___________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] [ 88s] def test_show_basic_with_not_installed_packages_non_decorated(app, poetry, installed): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] [ 88s] installed.add_package(cachy_010) [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute() [ 88s] [ 88s] tests/console/commands/test_show.py:125: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ____________ test_show_basic_with_not_installed_packages_decorated _____________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] [ 88s] def test_show_basic_with_not_installed_packages_decorated(app, poetry, installed): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] [ 88s] installed.add_package(cachy_010) [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] tester.io.set_formatter(AnsiFormatter(forced=True)) [ 88s] > tester.execute() [ 88s] [ 88s] tests/console/commands/test_show.py:180: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ________________________ test_show_latest_non_decorated ________________________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] repo = [ 88s] [ 88s] def test_show_latest_non_decorated(app, poetry, installed, repo): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] cachy_020 = get_package("cachy", "0.2.0") [ 88s] cachy_020.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] pendulum_201 = get_package("pendulum", "2.0.1") [ 88s] pendulum_201.description = "Pendulum package" [ 88s] [ 88s] installed.add_package(cachy_010) [ 88s] installed.add_package(pendulum_200) [ 88s] [ 88s] repo.add_package(cachy_010) [ 88s] repo.add_package(cachy_020) [ 88s] repo.add_package(pendulum_200) [ 88s] repo.add_package(pendulum_201) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute("--latest") [ 88s] [ 88s] tests/console/commands/test_show.py:245: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] __________________________ test_show_latest_decorated __________________________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] repo = [ 88s] [ 88s] def test_show_latest_decorated(app, poetry, installed, repo): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] cachy_020 = get_package("cachy", "0.2.0") [ 88s] cachy_020.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] pendulum_201 = get_package("pendulum", "2.0.1") [ 88s] pendulum_201.description = "Pendulum package" [ 88s] [ 88s] installed.add_package(cachy_010) [ 88s] installed.add_package(pendulum_200) [ 88s] [ 88s] repo.add_package(cachy_010) [ 88s] repo.add_package(cachy_020) [ 88s] repo.add_package(pendulum_200) [ 88s] repo.add_package(pendulum_201) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] tester.io.set_formatter(AnsiFormatter(forced=True)) [ 88s] > tester.execute("--latest") [ 88s] [ 88s] tests/console/commands/test_show.py:311: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ______________________________ test_show_outdated ______________________________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] repo = [ 88s] [ 88s] def test_show_outdated(app, poetry, installed, repo): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] cachy_020 = get_package("cachy", "0.2.0") [ 88s] cachy_020.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] [ 88s] installed.add_package(cachy_010) [ 88s] installed.add_package(pendulum_200) [ 88s] [ 88s] repo.add_package(cachy_010) [ 88s] repo.add_package(cachy_020) [ 88s] repo.add_package(pendulum_200) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute("--outdated") [ 88s] [ 88s] tests/console/commands/test_show.py:373: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _______________ test_show_outdated_with_only_up_to_date_packages _______________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] repo = [ 88s] [ 88s] def test_show_outdated_with_only_up_to_date_packages(app, poetry, installed, repo): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_020 = get_package("cachy", "0.2.0") [ 88s] cachy_020.description = "Cachy package" [ 88s] [ 88s] installed.add_package(cachy_020) [ 88s] repo.add_package(cachy_020) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.2.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute("--outdated") [ 88s] [ 88s] tests/console/commands/test_show.py:415: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ______________ test_show_outdated_has_prerelease_but_not_allowed _______________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] repo = [ 88s] [ 88s] def test_show_outdated_has_prerelease_but_not_allowed(app, poetry, installed, repo): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] cachy_020 = get_package("cachy", "0.2.0") [ 88s] cachy_020.description = "Cachy package" [ 88s] cachy_030dev = get_package("cachy", "0.3.0.dev123") [ 88s] cachy_030dev.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] [ 88s] installed.add_package(cachy_010) [ 88s] installed.add_package(pendulum_200) [ 88s] [ 88s] # sorting isn't used, so this has to be the first element to [ 88s] # replicate the issue in PR #1548 [ 88s] repo.add_package(cachy_030dev) [ 88s] repo.add_package(cachy_010) [ 88s] repo.add_package(cachy_020) [ 88s] repo.add_package(pendulum_200) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute("--outdated") [ 88s] [ 88s] tests/console/commands/test_show.py:479: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ________________ test_show_outdated_has_prerelease_and_allowed _________________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] repo = [ 88s] [ 88s] def test_show_outdated_has_prerelease_and_allowed(app, poetry, installed, repo): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010dev = get_package("cachy", "0.1.0.dev1") [ 88s] cachy_010dev.description = "Cachy package" [ 88s] cachy_020 = get_package("cachy", "0.2.0") [ 88s] cachy_020.description = "Cachy package" [ 88s] cachy_030dev = get_package("cachy", "0.3.0.dev123") [ 88s] cachy_030dev.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] [ 88s] installed.add_package(cachy_010dev) [ 88s] installed.add_package(pendulum_200) [ 88s] [ 88s] # sorting isn't used, so this has to be the first element to [ 88s] # replicate the issue in PR #1548 [ 88s] repo.add_package(cachy_030dev) [ 88s] repo.add_package(cachy_010dev) [ 88s] repo.add_package(cachy_020) [ 88s] repo.add_package(pendulum_200) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0.dev1", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute("--outdated") [ 88s] [ 88s] tests/console/commands/test_show.py:545: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ________________________ test_show_outdated_formatting _________________________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] repo = [ 88s] [ 88s] def test_show_outdated_formatting(app, poetry, installed, repo): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] cachy_020 = get_package("cachy", "0.2.0") [ 88s] cachy_020.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] pendulum_201 = get_package("pendulum", "2.0.1") [ 88s] pendulum_201.description = "Pendulum package" [ 88s] [ 88s] installed.add_package(cachy_010) [ 88s] installed.add_package(pendulum_200) [ 88s] [ 88s] repo.add_package(cachy_010) [ 88s] repo.add_package(cachy_020) [ 88s] repo.add_package(pendulum_200) [ 88s] repo.add_package(pendulum_201) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute("--outdated") [ 88s] [ 88s] tests/console/commands/test_show.py:609: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ____ test_show_outdated_local_dependencies[project_with_local_dependencies] ____ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] repo = [ 88s] [ 88s] @pytest.mark.parametrize("project_directory", ["project_with_local_dependencies"]) [ 88s] def test_show_outdated_local_dependencies(app, poetry, installed, repo): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] cachy_020 = get_package("cachy", "0.2.0") [ 88s] cachy_020.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] [ 88s] demo_010 = get_package("demo", "0.1.0") [ 88s] demo_010.description = "" [ 88s] [ 88s] my_package_012 = get_package("my-package", "0.1.2") [ 88s] my_package_012.description = "Demo project." [ 88s] [ 88s] installed.add_package(cachy_010) [ 88s] installed.add_package(pendulum_200) [ 88s] installed.add_package(demo_010) [ 88s] installed.add_package(my_package_012) [ 88s] [ 88s] repo.add_package(cachy_010) [ 88s] repo.add_package(cachy_020) [ 88s] repo.add_package(pendulum_200) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "demo", [ 88s] "version": "0.1.0", [ 88s] "description": "Demo package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] "source": { [ 88s] "type": "file", [ 88s] "reference": "", [ 88s] "url": "../distributions/demo-0.1.0-py2.py3-none-any.whl", [ 88s] }, [ 88s] }, [ 88s] { [ 88s] "name": "my-package", [ 88s] "version": "0.1.1", [ 88s] "description": "Demo project.", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] "source": { [ 88s] "type": "directory", [ 88s] "reference": "", [ 88s] "url": "../project_with_setup", [ 88s] }, [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": [], "demo": [], "my-package": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute("--outdated") [ 88s] [ 88s] tests/console/commands/test_show.py:710: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ____ test_show_outdated_git_dev_dependency[project_with_git_dev_dependency] ____ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] repo = [ 88s] [ 88s] @pytest.mark.parametrize("project_directory", ["project_with_git_dev_dependency"]) [ 88s] def test_show_outdated_git_dev_dependency(app, poetry, installed, repo): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] cachy_020 = get_package("cachy", "0.2.0") [ 88s] cachy_020.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] [ 88s] demo_011 = get_package("demo", "0.1.1") [ 88s] demo_011.description = "Demo package" [ 88s] [ 88s] installed.add_package(cachy_010) [ 88s] installed.add_package(pendulum_200) [ 88s] installed.add_package(demo_011) [ 88s] [ 88s] repo.add_package(cachy_010) [ 88s] repo.add_package(cachy_020) [ 88s] repo.add_package(pendulum_200) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "demo", [ 88s] "version": "0.1.1", [ 88s] "description": "Demo package", [ 88s] "category": "dev", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] "source": { [ 88s] "type": "git", [ 88s] "reference": "9cf87a285a2d3fbb0b9fa621997b3acc3631ed24", [ 88s] "url": "https://github.com/demo/pyproject-demo.git", [ 88s] }, [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": [], "demo": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute("--outdated") [ 88s] [ 88s] tests/console/commands/test_show.py:793: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _ test_show_outdated_no_dev_git_dev_dependency[project_with_git_dev_dependency] _ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] repo = [ 88s] [ 88s] @pytest.mark.parametrize("project_directory", ["project_with_git_dev_dependency"]) [ 88s] def test_show_outdated_no_dev_git_dev_dependency(app, poetry, installed, repo): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] cachy_020 = get_package("cachy", "0.2.0") [ 88s] cachy_020.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] [ 88s] demo_011 = get_package("demo", "0.1.1") [ 88s] demo_011.description = "Demo package" [ 88s] [ 88s] installed.add_package(cachy_010) [ 88s] installed.add_package(pendulum_200) [ 88s] installed.add_package(demo_011) [ 88s] [ 88s] repo.add_package(cachy_010) [ 88s] repo.add_package(cachy_020) [ 88s] repo.add_package(pendulum_200) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "demo", [ 88s] "version": "0.1.1", [ 88s] "description": "Demo package", [ 88s] "category": "dev", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] "source": { [ 88s] "type": "git", [ 88s] "reference": "9cf87a285a2d3fbb0b9fa621997b3acc3631ed24", [ 88s] "url": "https://github.com/demo/pyproject-demo.git", [ 88s] }, [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": [], "demo": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute("--outdated --no-dev") [ 88s] [ 88s] tests/console/commands/test_show.py:875: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _____________________ test_show_hides_incompatible_package _____________________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] repo = [ 88s] [ 88s] def test_show_hides_incompatible_package(app, poetry, installed, repo): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] [ 88s] installed.add_package(pendulum_200) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] "requirements": {"python": "1.0"}, [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute() [ 88s] [ 88s] tests/console/commands/test_show.py:930: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ___________________ test_show_all_shows_incompatible_package ___________________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] repo = [ 88s] [ 88s] def test_show_all_shows_incompatible_package(app, poetry, installed, repo): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] [ 88s] installed.add_package(pendulum_200) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] "requirements": {"python": "1.0"}, [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute("--all") [ 88s] [ 88s] tests/console/commands/test_show.py:985: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _______________ test_show_non_dev_with_basic_installed_packages ________________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] [ 88s] def test_show_non_dev_with_basic_installed_packages(app, poetry, installed): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] cachy_010 = get_package("cachy", "0.1.0") [ 88s] cachy_010.description = "Cachy package" [ 88s] [ 88s] pendulum_200 = get_package("pendulum", "2.0.0") [ 88s] pendulum_200.description = "Pendulum package" [ 88s] [ 88s] pytest_373 = get_package("pytest", "3.7.3") [ 88s] pytest_373.description = "Pytest package" [ 88s] pytest_373.category = "dev" [ 88s] [ 88s] installed.add_package(cachy_010) [ 88s] installed.add_package(pendulum_200) [ 88s] installed.add_package(pytest_373) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.1.0", [ 88s] "description": "Cachy package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pendulum", [ 88s] "version": "2.0.0", [ 88s] "description": "Pendulum package", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] { [ 88s] "name": "pytest", [ 88s] "version": "3.7.3", [ 88s] "description": "Pytest package", [ 88s] "category": "dev", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "pendulum": [], "pytest": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute("--no-dev") [ 88s] [ 88s] tests/console/commands/test_show.py:1056: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] ________________________________ test_show_tree ________________________________ [ 88s] [ 88s] app = [ 88s] poetry = [ 88s] installed = [ 88s] [ 88s] def test_show_tree(app, poetry, installed): [ 88s] command = app.find("show") [ 88s] tester = CommandTester(command) [ 88s] [ 88s] poetry.package.add_dependency("cachy", "^0.2.0") [ 88s] [ 88s] cachy2 = get_package("cachy", "0.2.0") [ 88s] cachy2.add_dependency("msgpack-python", ">=0.5 <0.6") [ 88s] [ 88s] installed.add_package(cachy2) [ 88s] [ 88s] poetry.locker.mock_lock_data( [ 88s] { [ 88s] "package": [ [ 88s] { [ 88s] "name": "cachy", [ 88s] "version": "0.2.0", [ 88s] "description": "", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] "dependencies": {"msgpack-python": ">=0.5 <0.6"}, [ 88s] }, [ 88s] { [ 88s] "name": "msgpack-python", [ 88s] "version": "0.5.1", [ 88s] "description": "", [ 88s] "category": "main", [ 88s] "optional": False, [ 88s] "platform": "*", [ 88s] "python-versions": "*", [ 88s] "checksum": [], [ 88s] }, [ 88s] ], [ 88s] "metadata": { [ 88s] "python-versions": "*", [ 88s] "platform": "*", [ 88s] "content-hash": "123456789", [ 88s] "hashes": {"cachy": [], "msgpack-python": []}, [ 88s] }, [ 88s] } [ 88s] ) [ 88s] [ 88s] > tester.execute("--tree") [ 88s] [ 88s] tests/console/commands/test_show.py:1111: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] /usr/lib/python3.7/site-packages/cleo/testers/command_tester.py:61: in execute [ 88s] self._status_code = command.run(args, self._io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:116: in run [ 88s] return self.handle(self.parse(args), io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:120: in handle [ 88s] status_code = self._do_handle(args, io) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/command/command.py:163: in _do_handle [ 88s] self._dispatcher.dispatch(PRE_HANDLE, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:22: in dispatch [ 88s] self._do_dispatch(listeners, event_name, event) [ 88s] /usr/lib/python3.7/site-packages/clikit/api/event/event_dispatcher.py:89: in _do_dispatch [ 88s] listener(event, event_name, self) [ 88s] poetry/console/config/application_config.py:86: in set_env [ 88s] env = env_manager.create_venv(io) [ 88s] poetry/utils/env.py:587: in create_venv [ 88s] self.build_venv(str(venv), executable=executable) [ 88s] poetry/utils/env.py:647: in build_venv [ 88s] build(path) [ 88s] /usr/lib64/python3.7/venv/__init__.py:60: in create [ 88s] context = self.ensure_directories(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:107: in ensure_directories [ 88s] create_if_needed(env_dir) [ 88s] /usr/lib64/python3.7/venv/__init__.py:96: in create_if_needed [ 88s] os.makedirs(d) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] /usr/lib64/python3.7/os.py:211: in makedirs [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] name = '/foo', mode = 511, exist_ok = False [ 88s] [ 88s] def makedirs(name, mode=0o777, exist_ok=False): [ 88s] """makedirs(name [, mode=0o777][, exist_ok=False]) [ 88s] [ 88s] Super-mkdir; create a leaf directory and all intermediate ones. Works like [ 88s] mkdir, except that any intermediate path segment (not just the rightmost) [ 88s] will be created if it does not exist. If the target directory already [ 88s] exists, raise an OSError if exist_ok is False. Otherwise no exception is [ 88s] raised. This is recursive. [ 88s] [ 88s] """ [ 88s] head, tail = path.split(name) [ 88s] if not tail: [ 88s] head, tail = path.split(head) [ 88s] if head and tail and not path.exists(head): [ 88s] try: [ 88s] makedirs(head, exist_ok=exist_ok) [ 88s] except FileExistsError: [ 88s] # Defeats race condition when another thread created the path [ 88s] pass [ 88s] cdir = curdir [ 88s] if isinstance(tail, bytes): [ 88s] cdir = bytes(curdir, 'ASCII') [ 88s] if tail == cdir: # xxx/newdir/. exists if xxx/newdir exists [ 88s] return [ 88s] try: [ 88s] > mkdir(name, mode) [ 88s] E PermissionError: [Errno 13] Permission denied: '/foo' [ 88s] [ 88s] /usr/lib64/python3.7/os.py:221: PermissionError [ 88s] _____________________________ test_none_activated ______________________________ [ 88s] [ 88s] app = [ 88s] tmp_dir = '/tmp/poetry_a9vrc10l' [ 88s] [ 88s] def test_none_activated(app, tmp_dir): [ 88s] app.poetry.config.merge({"virtualenvs": {"path": str(tmp_dir)}}) [ 88s] [ 88s] venv_name = EnvManager.generate_env_name( [ 88s] "simple-project", str(app.poetry.file.parent) [ 88s] ) [ 88s] (Path(tmp_dir) / "{}-py3.7".format(venv_name)).mkdir() [ 88s] (Path(tmp_dir) / "{}-py3.6".format(venv_name)).mkdir() [ 88s] [ 88s] command = app.find("env list") [ 88s] tester = CommandTester(command) [ 88s] tester.execute() [ 88s] [ 88s] expected = """\ [ 88s] {}-py3.6 [ 88s] {}-py3.7 [ 88s] """.format( [ 88s] venv_name, venv_name [ 88s] ) [ 88s] [ 88s] > assert expected == tester.io.fetch_output() [ 88s] E AssertionError: assert 'simple-proje...1YLO2-py3.7\n' == 'simple-proje...(Activated)\n' [ 88s] E simple-project-i8E1YLO2-py3.6 [ 88s] E - simple-project-i8E1YLO2-py3.7 [ 88s] E + simple-project-i8E1YLO2-py3.7 (Activated) [ 88s] E ? ++++++++++++ [ 88s] [ 88s] tests/console/commands/env/test_list.py:30: AssertionError [ 88s] ____________________________ test_wheel_c_extension ____________________________ [ 88s] [ 88s] self = NullEnv("/usr") [ 88s] cmd = ['python', '/tmp/tmpwq4pym6c/extended-0.1/setup.py', 'build', '-b', '/tmp/tmpwq4pym6c/extended-0.1/build'] [ 88s] kwargs = {}, shell = False, call = False, input_ = None [ 88s] [ 88s] def _run(self, cmd, **kwargs): [ 88s] """ [ 88s] Run a command inside the Python environment. [ 88s] """ [ 88s] shell = kwargs.get("shell", False) [ 88s] call = kwargs.pop("call", False) [ 88s] input_ = kwargs.pop("input_", None) [ 88s] [ 88s] if shell: [ 88s] cmd = list_to_shell_command(cmd) [ 88s] try: [ 88s] if self._is_windows: [ 88s] kwargs["shell"] = True [ 88s] [ 88s] if input_: [ 88s] output = subprocess.run( [ 88s] cmd, [ 88s] stdout=subprocess.PIPE, [ 88s] stderr=subprocess.STDOUT, [ 88s] input=encode(input_), [ 88s] check=True, [ 88s] **kwargs [ 88s] ).stdout [ 88s] elif call: [ 88s] return subprocess.call(cmd, stderr=subprocess.STDOUT, **kwargs) [ 88s] else: [ 88s] output = subprocess.check_output( [ 88s] > cmd, stderr=subprocess.STDOUT, **kwargs [ 88s] ) [ 88s] [ 88s] poetry/utils/env.py:830: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] timeout = None [ 88s] popenargs = (['python', '/tmp/tmpwq4pym6c/extended-0.1/setup.py', 'build', '-b', '/tmp/tmpwq4pym6c/extended-0.1/build'],) [ 88s] kwargs = {'stderr': -2} [ 88s] [ 88s] def check_output(*popenargs, timeout=None, **kwargs): [ 88s] r"""Run command with arguments and return its output. [ 88s] [ 88s] If the exit code was non-zero it raises a CalledProcessError. The [ 88s] CalledProcessError object will have the return code in the returncode [ 88s] attribute and output in the output attribute. [ 88s] [ 88s] The arguments are the same as for the Popen constructor. Example: [ 88s] [ 88s] >>> check_output(["ls", "-l", "/dev/null"]) [ 88s] b'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n' [ 88s] [ 88s] The stdout argument is not allowed as it is used internally. [ 88s] To capture standard error in the result, use stderr=STDOUT. [ 88s] [ 88s] >>> check_output(["/bin/sh", "-c", [ 88s] ... "ls -l non_existent_file ; exit 0"], [ 88s] ... stderr=STDOUT) [ 88s] b'ls: non_existent_file: No such file or directory\n' [ 88s] [ 88s] There is an additional optional argument, "input", allowing you to [ 88s] pass a string to the subprocess's stdin. If you use this argument [ 88s] you may not also use the Popen constructor's "stdin" argument, as [ 88s] it too will be used internally. Example: [ 88s] [ 88s] >>> check_output(["sed", "-e", "s/foo/bar/"], [ 88s] ... input=b"when in the course of fooman events\n") [ 88s] b'when in the course of barman events\n' [ 88s] [ 88s] By default, all communication is in bytes, and therefore any "input" [ 88s] should be bytes, and the return value wil be bytes. If in text mode, [ 88s] any "input" should be a string, and the return value will be a string [ 88s] decoded according to locale encoding, or by "encoding" if set. Text mode [ 88s] is triggered by setting any of text, encoding, errors or universal_newlines. [ 88s] """ [ 88s] if 'stdout' in kwargs: [ 88s] raise ValueError('stdout argument not allowed, it will be overridden.') [ 88s] [ 88s] if 'input' in kwargs and kwargs['input'] is None: [ 88s] # Explicitly passing input=None was previously equivalent to passing an [ 88s] # empty string. That is maintained here for backwards compatibility. [ 88s] kwargs['input'] = '' if kwargs.get('universal_newlines', False) else b'' [ 88s] [ 88s] return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, [ 88s] > **kwargs).stdout [ 88s] [ 88s] /usr/lib64/python3.7/subprocess.py:395: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] popenargs = (['python', '/tmp/tmpwq4pym6c/extended-0.1/setup.py', 'build', '-b', '/tmp/tmpwq4pym6c/extended-0.1/build'],) [ 88s] kwargs = {'stderr': -2, 'stdout': -1}, input = None, timeout = None [ 88s] check = True, process = [ 88s] stdout = b"running build\nrunning build_py\ncreating /tmp/tmpwq4pym6c/extended-0.1/build\ncreating /tmp/tmpwq4pym6c/extended-0....ude \n | ^~~~~~~~~~\ncompilation terminated.\nerror: command 'gcc' failed with exit status 1\n" [ 88s] stderr = None, retcode = 1 [ 88s] [ 88s] def run(*popenargs, **kwargs): [ 88s] """Run command with arguments and return a CompletedProcess instance. [ 88s] The returned instance will have attributes args, returncode, stdout and [ 88s] stderr. By default, stdout and stderr are not captured, and those attributes [ 88s] will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them. [ 88s] If check is True and the exit code was non-zero, it raises a [ 88s] CalledProcessError. The CalledProcessError object will have the return code [ 88s] in the returncode attribute, and output & stderr attributes if those streams [ 88s] were captured. [ 88s] If timeout is given, and the process takes too long, a TimeoutExpired [ 88s] exception will be raised. [ 88s] There is an optional argument "input", allowing you to [ 88s] pass a string to the subprocess's stdin. If you use this argument [ 88s] you may not also use the Popen constructor's "stdin" argument, as [ 88s] it will be used internally. [ 88s] The other arguments are the same as for the Popen constructor. [ 88s] If universal_newlines=True is passed, the "input" argument must be a [ 88s] string and stdout/stderr in the returned object will be strings rather than [ 88s] bytes. [ 88s] """ [ 88s] input = kwargs.pop("input", None) [ 88s] timeout = kwargs.pop("timeout", None) [ 88s] check = kwargs.pop("check", False) [ 88s] if input is not None: [ 88s] if "stdin" in kwargs: [ 88s] raise ValueError("stdin and input arguments may not both be used.") [ 88s] kwargs["stdin"] = PIPE [ 88s] [ 88s] process = Popen(*popenargs, **kwargs) [ 88s] try: [ 88s] process.__enter__() # No-Op really... illustrate "with in 2.4" [ 88s] try: [ 88s] stdout, stderr = process.communicate(input, timeout=timeout) [ 88s] except TimeoutExpired: [ 88s] process.kill() [ 88s] stdout, stderr = process.communicate() [ 88s] raise TimeoutExpired( [ 88s] process.args, timeout, output=stdout, stderr=stderr [ 88s] ) [ 88s] except: [ 88s] process.kill() [ 88s] process.wait() [ 88s] raise [ 88s] retcode = process.poll() [ 88s] if check and retcode: [ 88s] raise CalledProcessError( [ 88s] > retcode, process.args, output=stdout, stderr=stderr [ 88s] ) [ 88s] E poetry.utils._compat.CalledProcessError: Command '['python', '/tmp/tmpwq4pym6c/extended-0.1/setup.py', 'build', '-b', '/tmp/tmpwq4pym6c/extended-0.1/build']' returned non-zero exit status 1. [ 88s] [ 88s] poetry/utils/_compat.py:206: CalledProcessError [ 88s] [ 88s] During handling of the above exception, another exception occurred: [ 88s] [ 88s] @pytest.mark.skipif( [ 88s] sys.platform == "win32" and sys.version_info <= (3, 6), [ 88s] reason="Disable test on Windows for Python <=3.6", [ 88s] ) [ 88s] def test_wheel_c_extension(): [ 88s] module_path = fixtures_dir / "extended" [ 88s] builder = CompleteBuilder( [ 88s] Factory().create_poetry(module_path), NullEnv(execute=True), NullIO() [ 88s] ) [ 88s] > builder.build() [ 88s] [ 88s] tests/masonry/builders/test_complete.py:52: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] poetry/masonry/builders/complete.py:59: in build [ 88s] original=self._poetry, [ 88s] poetry/masonry/builders/wheel.py:55: in make_in [ 88s] wb.build() [ 88s] poetry/masonry/builders/wheel.py:81: in build [ 88s] self._build(zip_file) [ 88s] poetry/masonry/builders/wheel.py:104: in _build [ 88s] "python", str(setup), "build", "-b", str(self._path / "build") [ 88s] poetry/utils/env.py:796: in run [ 88s] return self._run(cmd, **kwargs) [ 88s] poetry/utils/env.py:1072: in _run [ 88s] return super(NullEnv, self)._run(cmd, **kwargs) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] self = NullEnv("/usr") [ 88s] cmd = ['python', '/tmp/tmpwq4pym6c/extended-0.1/setup.py', 'build', '-b', '/tmp/tmpwq4pym6c/extended-0.1/build'] [ 88s] kwargs = {}, shell = False, call = False, input_ = None [ 88s] [ 88s] def _run(self, cmd, **kwargs): [ 88s] """ [ 88s] Run a command inside the Python environment. [ 88s] """ [ 88s] shell = kwargs.get("shell", False) [ 88s] call = kwargs.pop("call", False) [ 88s] input_ = kwargs.pop("input_", None) [ 88s] [ 88s] if shell: [ 88s] cmd = list_to_shell_command(cmd) [ 88s] try: [ 88s] if self._is_windows: [ 88s] kwargs["shell"] = True [ 88s] [ 88s] if input_: [ 88s] output = subprocess.run( [ 88s] cmd, [ 88s] stdout=subprocess.PIPE, [ 88s] stderr=subprocess.STDOUT, [ 88s] input=encode(input_), [ 88s] check=True, [ 88s] **kwargs [ 88s] ).stdout [ 88s] elif call: [ 88s] return subprocess.call(cmd, stderr=subprocess.STDOUT, **kwargs) [ 88s] else: [ 88s] output = subprocess.check_output( [ 88s] cmd, stderr=subprocess.STDOUT, **kwargs [ 88s] ) [ 88s] except CalledProcessError as e: [ 88s] > raise EnvCommandError(e, input=input_) [ 88s] E poetry.utils.env.EnvCommandError: Command ['python', '/tmp/tmpwq4pym6c/extended-0.1/setup.py', 'build', '-b', '/tmp/tmpwq4pym6c/extended-0.1/build'] errored with the following return code 1, and output: [ 88s] E running build [ 88s] E running build_py [ 88s] E creating /tmp/tmpwq4pym6c/extended-0.1/build [ 88s] E creating /tmp/tmpwq4pym6c/extended-0.1/build/lib.linux-x86_64-2.7 [ 88s] E creating /tmp/tmpwq4pym6c/extended-0.1/build/lib.linux-x86_64-2.7/extended [ 88s] E copying extended/__init__.py -> /tmp/tmpwq4pym6c/extended-0.1/build/lib.linux-x86_64-2.7/extended [ 88s] E copying extended/extended.c -> /tmp/tmpwq4pym6c/extended-0.1/build/lib.linux-x86_64-2.7/extended [ 88s] E running build_ext [ 88s] E building 'extended.extended' extension [ 88s] E creating /tmp/tmpwq4pym6c/extended-0.1/build/temp.linux-x86_64-2.7 [ 88s] E creating /tmp/tmpwq4pym6c/extended-0.1/build/temp.linux-x86_64-2.7/extended [ 88s] E gcc -pthread -fno-strict-aliasing -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -DNDEBUG -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -DOPENSSL_LOAD_CONF -fwrapv -fPIC -I/usr/include/python2.7 -c extended/extended.c -o /tmp/tmpwq4pym6c/extended-0.1/build/temp.linux-x86_64-2.7/extended/extended.o [ 88s] E extended/extended.c:1:10: fatal error: Python.h: No such file or directory [ 88s] E 1 | #include [ 88s] E | ^~~~~~~~~~ [ 88s] E compilation terminated. [ 88s] E error: command 'gcc' failed with exit status 1 [ 88s] [ 88s] poetry/utils/env.py:833: EnvCommandError [ 88s] ______________________ test_wheel_c_extension_src_layout _______________________ [ 88s] [ 88s] self = NullEnv("/usr") [ 88s] cmd = ['python', '/tmp/tmpush494ny/extended-0.1/setup.py', 'build', '-b', '/tmp/tmpush494ny/extended-0.1/build'] [ 88s] kwargs = {}, shell = False, call = False, input_ = None [ 88s] [ 88s] def _run(self, cmd, **kwargs): [ 88s] """ [ 88s] Run a command inside the Python environment. [ 88s] """ [ 88s] shell = kwargs.get("shell", False) [ 88s] call = kwargs.pop("call", False) [ 88s] input_ = kwargs.pop("input_", None) [ 88s] [ 88s] if shell: [ 88s] cmd = list_to_shell_command(cmd) [ 88s] try: [ 88s] if self._is_windows: [ 88s] kwargs["shell"] = True [ 88s] [ 88s] if input_: [ 88s] output = subprocess.run( [ 88s] cmd, [ 88s] stdout=subprocess.PIPE, [ 88s] stderr=subprocess.STDOUT, [ 88s] input=encode(input_), [ 88s] check=True, [ 88s] **kwargs [ 88s] ).stdout [ 88s] elif call: [ 88s] return subprocess.call(cmd, stderr=subprocess.STDOUT, **kwargs) [ 88s] else: [ 88s] output = subprocess.check_output( [ 88s] > cmd, stderr=subprocess.STDOUT, **kwargs [ 88s] ) [ 88s] [ 88s] poetry/utils/env.py:830: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] timeout = None [ 88s] popenargs = (['python', '/tmp/tmpush494ny/extended-0.1/setup.py', 'build', '-b', '/tmp/tmpush494ny/extended-0.1/build'],) [ 88s] kwargs = {'stderr': -2} [ 88s] [ 88s] def check_output(*popenargs, timeout=None, **kwargs): [ 88s] r"""Run command with arguments and return its output. [ 88s] [ 88s] If the exit code was non-zero it raises a CalledProcessError. The [ 88s] CalledProcessError object will have the return code in the returncode [ 88s] attribute and output in the output attribute. [ 88s] [ 88s] The arguments are the same as for the Popen constructor. Example: [ 88s] [ 88s] >>> check_output(["ls", "-l", "/dev/null"]) [ 88s] b'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n' [ 88s] [ 88s] The stdout argument is not allowed as it is used internally. [ 88s] To capture standard error in the result, use stderr=STDOUT. [ 88s] [ 88s] >>> check_output(["/bin/sh", "-c", [ 88s] ... "ls -l non_existent_file ; exit 0"], [ 88s] ... stderr=STDOUT) [ 88s] b'ls: non_existent_file: No such file or directory\n' [ 88s] [ 88s] There is an additional optional argument, "input", allowing you to [ 88s] pass a string to the subprocess's stdin. If you use this argument [ 88s] you may not also use the Popen constructor's "stdin" argument, as [ 88s] it too will be used internally. Example: [ 88s] [ 88s] >>> check_output(["sed", "-e", "s/foo/bar/"], [ 88s] ... input=b"when in the course of fooman events\n") [ 88s] b'when in the course of barman events\n' [ 88s] [ 88s] By default, all communication is in bytes, and therefore any "input" [ 88s] should be bytes, and the return value wil be bytes. If in text mode, [ 88s] any "input" should be a string, and the return value will be a string [ 88s] decoded according to locale encoding, or by "encoding" if set. Text mode [ 88s] is triggered by setting any of text, encoding, errors or universal_newlines. [ 88s] """ [ 88s] if 'stdout' in kwargs: [ 88s] raise ValueError('stdout argument not allowed, it will be overridden.') [ 88s] [ 88s] if 'input' in kwargs and kwargs['input'] is None: [ 88s] # Explicitly passing input=None was previously equivalent to passing an [ 88s] # empty string. That is maintained here for backwards compatibility. [ 88s] kwargs['input'] = '' if kwargs.get('universal_newlines', False) else b'' [ 88s] [ 88s] return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, [ 88s] > **kwargs).stdout [ 88s] [ 88s] /usr/lib64/python3.7/subprocess.py:395: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] popenargs = (['python', '/tmp/tmpush494ny/extended-0.1/setup.py', 'build', '-b', '/tmp/tmpush494ny/extended-0.1/build'],) [ 88s] kwargs = {'stderr': -2, 'stdout': -1}, input = None, timeout = None [ 88s] check = True, process = [ 88s] stdout = b"running build\nrunning build_py\ncreating /tmp/tmpush494ny/extended-0.1/build\ncreating /tmp/tmpush494ny/extended-0....ude \n | ^~~~~~~~~~\ncompilation terminated.\nerror: command 'gcc' failed with exit status 1\n" [ 88s] stderr = None, retcode = 1 [ 88s] [ 88s] def run(*popenargs, **kwargs): [ 88s] """Run command with arguments and return a CompletedProcess instance. [ 88s] The returned instance will have attributes args, returncode, stdout and [ 88s] stderr. By default, stdout and stderr are not captured, and those attributes [ 88s] will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them. [ 88s] If check is True and the exit code was non-zero, it raises a [ 88s] CalledProcessError. The CalledProcessError object will have the return code [ 88s] in the returncode attribute, and output & stderr attributes if those streams [ 88s] were captured. [ 88s] If timeout is given, and the process takes too long, a TimeoutExpired [ 88s] exception will be raised. [ 88s] There is an optional argument "input", allowing you to [ 88s] pass a string to the subprocess's stdin. If you use this argument [ 88s] you may not also use the Popen constructor's "stdin" argument, as [ 88s] it will be used internally. [ 88s] The other arguments are the same as for the Popen constructor. [ 88s] If universal_newlines=True is passed, the "input" argument must be a [ 88s] string and stdout/stderr in the returned object will be strings rather than [ 88s] bytes. [ 88s] """ [ 88s] input = kwargs.pop("input", None) [ 88s] timeout = kwargs.pop("timeout", None) [ 88s] check = kwargs.pop("check", False) [ 88s] if input is not None: [ 88s] if "stdin" in kwargs: [ 88s] raise ValueError("stdin and input arguments may not both be used.") [ 88s] kwargs["stdin"] = PIPE [ 88s] [ 88s] process = Popen(*popenargs, **kwargs) [ 88s] try: [ 88s] process.__enter__() # No-Op really... illustrate "with in 2.4" [ 88s] try: [ 88s] stdout, stderr = process.communicate(input, timeout=timeout) [ 88s] except TimeoutExpired: [ 88s] process.kill() [ 88s] stdout, stderr = process.communicate() [ 88s] raise TimeoutExpired( [ 88s] process.args, timeout, output=stdout, stderr=stderr [ 88s] ) [ 88s] except: [ 88s] process.kill() [ 88s] process.wait() [ 88s] raise [ 88s] retcode = process.poll() [ 88s] if check and retcode: [ 88s] raise CalledProcessError( [ 88s] > retcode, process.args, output=stdout, stderr=stderr [ 88s] ) [ 88s] E poetry.utils._compat.CalledProcessError: Command '['python', '/tmp/tmpush494ny/extended-0.1/setup.py', 'build', '-b', '/tmp/tmpush494ny/extended-0.1/build']' returned non-zero exit status 1. [ 88s] [ 88s] poetry/utils/_compat.py:206: CalledProcessError [ 88s] [ 88s] During handling of the above exception, another exception occurred: [ 88s] [ 88s] @pytest.mark.skipif( [ 88s] sys.platform == "win32" and sys.version_info <= (3, 6), [ 88s] reason="Disable test on Windows for Python <=3.6", [ 88s] ) [ 88s] def test_wheel_c_extension_src_layout(): [ 88s] module_path = fixtures_dir / "src_extended" [ 88s] builder = CompleteBuilder( [ 88s] Factory().create_poetry(module_path), NullEnv(execute=True), NullIO() [ 88s] ) [ 88s] > builder.build() [ 88s] [ 88s] tests/masonry/builders/test_complete.py:109: [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] poetry/masonry/builders/complete.py:59: in build [ 88s] original=self._poetry, [ 88s] poetry/masonry/builders/wheel.py:55: in make_in [ 88s] wb.build() [ 88s] poetry/masonry/builders/wheel.py:81: in build [ 88s] self._build(zip_file) [ 88s] poetry/masonry/builders/wheel.py:104: in _build [ 88s] "python", str(setup), "build", "-b", str(self._path / "build") [ 88s] poetry/utils/env.py:796: in run [ 88s] return self._run(cmd, **kwargs) [ 88s] poetry/utils/env.py:1072: in _run [ 88s] return super(NullEnv, self)._run(cmd, **kwargs) [ 88s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 88s] [ 88s] self = NullEnv("/usr") [ 88s] cmd = ['python', '/tmp/tmpush494ny/extended-0.1/setup.py', 'build', '-b', '/tmp/tmpush494ny/extended-0.1/build'] [ 88s] kwargs = {}, shell = False, call = False, input_ = None [ 88s] [ 88s] def _run(self, cmd, **kwargs): [ 88s] """ [ 88s] Run a command inside the Python environment. [ 88s] """ [ 88s] shell = kwargs.get("shell", False) [ 88s] call = kwargs.pop("call", False) [ 88s] input_ = kwargs.pop("input_", None) [ 88s] [ 88s] if shell: [ 88s] cmd = list_to_shell_command(cmd) [ 88s] try: [ 88s] if self._is_windows: [ 88s] kwargs["shell"] = True [ 88s] [ 88s] if input_: [ 88s] output = subprocess.run( [ 88s] cmd, [ 88s] stdout=subprocess.PIPE, [ 88s] stderr=subprocess.STDOUT, [ 88s] input=encode(input_), [ 88s] check=True, [ 88s] **kwargs [ 88s] ).stdout [ 88s] elif call: [ 88s] return subprocess.call(cmd, stderr=subprocess.STDOUT, **kwargs) [ 88s] else: [ 88s] output = subprocess.check_output( [ 88s] cmd, stderr=subprocess.STDOUT, **kwargs [ 88s] ) [ 88s] except CalledProcessError as e: [ 88s] > raise EnvCommandError(e, input=input_) [ 88s] E poetry.utils.env.EnvCommandError: Command ['python', '/tmp/tmpush494ny/extended-0.1/setup.py', 'build', '-b', '/tmp/tmpush494ny/extended-0.1/build'] errored with the following return code 1, and output: [ 88s] E running build [ 88s] E running build_py [ 88s] E creating /tmp/tmpush494ny/extended-0.1/build [ 89s] E creating /tmp/tmpush494ny/extended-0.1/build/lib.linux-x86_64-2.7 [ 89s] E creating /tmp/tmpush494ny/extended-0.1/build/lib.linux-x86_64-2.7/extended [ 89s] E copying src/extended/__init__.py -> /tmp/tmpush494ny/extended-0.1/build/lib.linux-x86_64-2.7/extended [ 89s] E copying src/extended/extended.c -> /tmp/tmpush494ny/extended-0.1/build/lib.linux-x86_64-2.7/extended [ 89s] E running build_ext [ 89s] E building 'extended.extended' extension [ 89s] E creating /tmp/tmpush494ny/extended-0.1/build/temp.linux-x86_64-2.7 [ 89s] E creating /tmp/tmpush494ny/extended-0.1/build/temp.linux-x86_64-2.7/src [ 89s] E creating /tmp/tmpush494ny/extended-0.1/build/temp.linux-x86_64-2.7/src/extended [ 89s] E gcc -pthread -fno-strict-aliasing -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -DNDEBUG -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -DOPENSSL_LOAD_CONF -fwrapv -fPIC -I/usr/include/python2.7 -c src/extended/extended.c -o /tmp/tmpush494ny/extended-0.1/build/temp.linux-x86_64-2.7/src/extended/extended.o [ 89s] E src/extended/extended.c:1:10: fatal error: Python.h: No such file or directory [ 89s] E 1 | #include [ 89s] E | ^~~~~~~~~~ [ 89s] E compilation terminated. [ 89s] E error: command 'gcc' failed with exit status 1 [ 89s] [ 89s] poetry/utils/env.py:833: EnvCommandError [ 89s] _______________________ test_default_with_excluded_data ________________________ [ 89s] [ 89s] mocker = [ 89s] [ 89s] def test_default_with_excluded_data(mocker): [ 89s] # Patch git module to return specific excluded files [ 89s] p = mocker.patch("poetry.vcs.git.Git.get_ignored_files") [ 89s] p.return_value = [ [ 89s] ( [ 89s] ( [ 89s] Path(__file__).parent [ 89s] / "fixtures" [ 89s] / "default_with_excluded_data" [ 89s] / "my_package" [ 89s] / "data" [ 89s] / "sub_data" [ 89s] / "data2.txt" [ 89s] ) [ 89s] .relative_to(project("default_with_excluded_data")) [ 89s] .as_posix() [ 89s] ) [ 89s] ] [ 89s] poetry = Factory().create_poetry(project("default_with_excluded_data")) [ 89s] [ 89s] builder = SdistBuilder(poetry, NullEnv(), NullIO()) [ 89s] [ 89s] # Check setup.py [ 89s] setup = builder.build_setup() [ 89s] setup_ast = ast.parse(setup) [ 89s] [ 89s] setup_ast.body = [n for n in setup_ast.body if isinstance(n, ast.Assign)] [ 89s] ns = {} [ 89s] exec(compile(setup_ast, filename="setup.py", mode="exec"), ns) [ 89s] assert "package_dir" not in ns [ 89s] assert ns["packages"] == ["my_package"] [ 89s] > assert ns["package_data"] == { [ 89s] "": ["*"], [ 89s] "my_package": ["data/*", "data/sub_data/data3.txt"], [ 89s] } [ 89s] E AssertionError: assert {'': ['*'], '.../sub_data/*']} == {'': ['*'], '...a/data3.txt']} [ 89s] E Omitting 1 identical items, use -vv to show [ 89s] E Differing items: [ 89s] E {'my_package': ['data/*', 'data/sub_data/*']} != {'my_package': ['data/*', 'data/sub_data/data3.txt']} [ 89s] E Full diff: [ 89s] E - {'': ['*'], 'my_package': ['data/*', 'data/sub_data/*']} [ 89s] E ? ^ [ 89s] E + {'': ['*'], 'my_package': ['data/*', 'data/sub_data/data3.txt']}... [ 89s] E [ 89s] E ...Full output truncated (2 lines hidden), use '-vv' to show [ 89s] [ 89s] tests/masonry/builders/test_sdist.py:388: AssertionError [ 89s] =============================== warnings summary =============================== [ 89s] /usr/lib/python3.7/site-packages/html5lib/_trie/_base.py:3 [ 89s] /usr/lib/python3.7/site-packages/html5lib/_trie/_base.py:3: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working [ 89s] from collections import Mapping [ 89s] [ 89s] tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_upload_errors [ 89s] tests/console/commands/test_search.py::test_search [ 89s] tests/masonry/publishing/test_uploader.py::test_uploader_properly_handles_400_errors [ 89s] tests/masonry/publishing/test_uploader.py::test_uploader_properly_handles_403_errors [ 89s] tests/masonry/publishing/test_uploader.py::test_uploader_registers_for_appropriate_400_errors [ 89s] /usr/lib/python3.7/site-packages/httpretty/core.py:448: PendingDeprecationWarning: isAlive() is deprecated, use is_alive() instead [ 89s] if t.isAlive(): [ 89s] [ 89s] tests/installation/test_installer.py::test_run_with_prereleases [ 89s] /home/abuild/rpmbuild/BUILD/poetry-1.0.0b8/poetry/packages/package.py:284: DeprecationWarning: The "A" dependency specifies the "allows-prereleases" property, which is deprecated. Use "allow-prereleases" instead. [ 89s] warn(message, DeprecationWarning) [ 89s] [ 89s] -- Docs: https://docs.pytest.org/en/latest/warnings.html [ 89s] ======= 50 failed, 636 passed, 2 skipped, 7 warnings in 81.82s (0:01:21) ======= [ 89s] error: Bad exit status from /var/tmp/rpm-tmp.yZUZ2g (%check) [ 89s] [ 89s] [ 89s] RPM build errors: [ 89s] Macro expanded in comment on line 45: %{python_module mkdocs} [ 89s] [ 89s] Bad exit status from /var/tmp/rpm-tmp.yZUZ2g (%check) [ 89s] [ 89s] milic failed "build python-poetry.spec" at Thu Nov 28 17:12:13 UTC 2019. [ 89s]