0s autopkgtest [04:16:32]: starting date and time: 2025-02-19 04:16:32+0000 0s autopkgtest [04:16:32]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [04:16:32]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.1_5qqh1w/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:protontricks --apt-upgrade protontricks --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=protontricks/1.12.0-2 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@lcy02-72.secgroup --name adt-plucky-amd64-protontricks-20250219-041632-juju-7f2275-prod-proposed-migration-environment-2-2e6ffc1e-9a1f-4fc2-8f38-299fffc315dc --image adt/ubuntu-plucky-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 44s autopkgtest [04:17:16]: testbed dpkg architecture: amd64 44s autopkgtest [04:17:16]: testbed apt version: 2.9.29 44s autopkgtest [04:17:16]: @@@@@@@@@@@@@@@@@@@@ test bed setup 44s autopkgtest [04:17:16]: testbed release detected to be: None 45s autopkgtest [04:17:17]: updating testbed package index (apt update) 45s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [110 kB] 45s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 45s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 45s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 45s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [788 kB] 45s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [14.6 kB] 45s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [79.1 kB] 45s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [3120 B] 45s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [84.0 kB] 45s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [106 kB] 45s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [7984 B] 45s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/restricted i386 Packages [2412 B] 45s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [271 kB] 45s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [712 kB] 45s Get:15 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [3440 B] 45s Get:16 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [12.4 kB] 45s Fetched 2194 kB in 0s (5986 kB/s) 46s Reading package lists... 46s Reading package lists... 46s Building dependency tree... 46s Reading state information... 47s Calculating upgrade... 47s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 47s Reading package lists... 47s Building dependency tree... 47s Reading state information... 48s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 48s autopkgtest [04:17:20]: upgrading testbed (apt dist-upgrade and autopurge) 48s Reading package lists... 48s Building dependency tree... 48s Reading state information... 49s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 49s Starting 2 pkgProblemResolver with broken count: 0 49s Done 49s Entering ResolveByKeep 49s 50s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 50s Reading package lists... 50s Building dependency tree... 50s Reading state information... 50s Starting pkgProblemResolver with broken count: 0 50s Starting 2 pkgProblemResolver with broken count: 0 50s Done 51s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 52s autopkgtest [04:17:24]: testbed running kernel: Linux 6.12.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Tue Feb 4 16:02:16 UTC 2025 52s autopkgtest [04:17:24]: @@@@@@@@@@@@@@@@@@@@ apt-source protontricks 53s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse protontricks 1.12.0-2 (dsc) [2242 B] 53s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse protontricks 1.12.0-2 (tar) [171 kB] 53s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse protontricks 1.12.0-2 (diff) [2616 B] 53s gpgv: Signature made Sun Feb 16 01:27:25 2025 UTC 53s gpgv: using RSA key 8F6DE104377F3B11E741748731F3144544A1741A 53s gpgv: issuer "tchet@debian.org" 53s gpgv: Can't check signature: No public key 53s dpkg-source: warning: cannot verify inline signature for ./protontricks_1.12.0-2.dsc: no acceptable signature found 53s autopkgtest [04:17:25]: testing package protontricks version 1.12.0-2 54s autopkgtest [04:17:26]: build not needed 55s autopkgtest [04:17:27]: test pytest: preparing testbed 55s Reading package lists... 55s Building dependency tree... 55s Reading state information... 56s Starting pkgProblemResolver with broken count: 0 56s Starting 2 pkgProblemResolver with broken count: 0 56s Done 56s The following NEW packages will be installed: 56s adwaita-icon-theme at-spi2-common dconf-gsettings-backend dconf-service 56s fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono 56s gtk-update-icon-cache hicolor-icon-theme libaom3 libasound2-data 56s libasound2t64 libasyncns0 libatk-bridge2.0-0t64 libatk1.0-0t64 56s libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 56s libcairo-gobject2 libcairo2 libcapi20-3t64 libcolord2 libcups2t64 libdatrie1 56s libdconf1 libde265-0 libdeflate0 libepoxy0 libexif12 libflac12t64 56s libfontconfig1 libgd3 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgomp1 56s libgphoto2-6t64 libgphoto2-port12t64 libgraphite2-3 56s libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgtk-3-0t64 56s libgtk-3-common libharfbuzz0b libheif-plugin-aomdec libheif-plugin-libde265 56s libheif1 libimagequant0 libjbig0 libjpeg-turbo8 libjpeg8 liblcms2-2 liblerc4 56s libltdl7 libmp3lame0 libmpg123-0t64 libogg0 libopenjp2-7 libopus0 56s liborc-0.4-0t64 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 56s libpcsclite1 libpixman-1-0 libpulse0 libraqm0 libsharpyuv0 libsndfile1 56s libthai-data libthai0 libtiff6 libvorbis0a libvorbisenc2 libwayland-client0 56s libwayland-cursor0 libwayland-egl1 libwebp7 libwebpdemux2 libwebpmux3 56s libwine libx11-xcb1 libxcb-render0 libxcb-shm0 libxcomposite1 libxcursor1 56s libxdamage1 libxfixes3 libxi6 libxinerama1 libxkbregistry0 libxpm4 56s libxrandr2 libxrender1 libz-mingw-w64 ocl-icd-libopencl1 protontricks 56s python3-all python3-iniconfig python3-packaging python3-pil python3-pluggy 56s python3-pytest python3-vdf python3.12 python3.12-minimal wine wine64 56s winetricks yad 56s 0 upgraded, 111 newly installed, 0 to remove and 0 not upgraded. 56s Need to get 134 MB of archives. 56s After this operation, 780 MB of additional disk space will be used. 56s Get:1 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.12-minimal amd64 3.12.9-1 [2348 kB] 56s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.12 amd64 3.12.9-1 [671 kB] 56s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libgdk-pixbuf2.0-common all 2.42.12+dfsg-2 [8004 B] 56s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 libjpeg-turbo8 amd64 2.1.5-3ubuntu2 [179 kB] 56s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 libjpeg8 amd64 8c-2ubuntu11 [2148 B] 56s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 libdeflate0 amd64 1.23-1 [64.1 kB] 56s Get:7 http://ftpmaster.internal/ubuntu plucky/main amd64 libjbig0 amd64 2.1-6.1ubuntu2 [29.7 kB] 56s Get:8 http://ftpmaster.internal/ubuntu plucky/main amd64 liblerc4 amd64 4.0.0+ds-5ubuntu1 [271 kB] 56s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 libsharpyuv0 amd64 1.5.0-0.1 [25.9 kB] 56s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 libwebp7 amd64 1.5.0-0.1 [378 kB] 56s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libtiff6 amd64 4.5.1+git230720-4ubuntu4 [200 kB] 56s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 libgdk-pixbuf-2.0-0 amd64 2.42.12+dfsg-2 [161 kB] 56s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 gtk-update-icon-cache amd64 4.17.4+ds-4 [53.9 kB] 56s Get:14 http://ftpmaster.internal/ubuntu plucky/main amd64 hicolor-icon-theme all 0.18-2 [13.3 kB] 56s Get:15 http://ftpmaster.internal/ubuntu plucky/main amd64 adwaita-icon-theme all 48~beta-3 [578 kB] 56s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 at-spi2-common all 2.55.2-1 [8916 B] 56s Get:17 http://ftpmaster.internal/ubuntu plucky/main amd64 libdconf1 amd64 0.40.0-5 [39.8 kB] 56s Get:18 http://ftpmaster.internal/ubuntu plucky/main amd64 dconf-service amd64 0.40.0-5 [28.4 kB] 56s Get:19 http://ftpmaster.internal/ubuntu plucky/main amd64 dconf-gsettings-backend amd64 0.40.0-5 [22.7 kB] 56s Get:20 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-dejavu-mono all 2.37-8 [502 kB] 56s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 fonts-dejavu-core all 2.37-8 [835 kB] 56s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 fontconfig-config amd64 2.15.0-2ubuntu1 [37.4 kB] 56s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 libfontconfig1 amd64 2.15.0-2ubuntu1 [164 kB] 56s Get:24 http://ftpmaster.internal/ubuntu plucky/main amd64 fontconfig amd64 2.15.0-2ubuntu1 [180 kB] 56s Get:25 http://ftpmaster.internal/ubuntu plucky/main amd64 libaom3 amd64 3.12.0-1 [2742 kB] 56s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 libasound2-data all 1.2.13-1build1 [21.1 kB] 56s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 libasound2t64 amd64 1.2.13-1build1 [437 kB] 56s Get:28 http://ftpmaster.internal/ubuntu plucky/main amd64 libasyncns0 amd64 0.8-6build4 [11.3 kB] 56s Get:29 http://ftpmaster.internal/ubuntu plucky/main amd64 libatk1.0-0t64 amd64 2.55.2-1 [55.2 kB] 56s Get:30 http://ftpmaster.internal/ubuntu plucky/main amd64 libxi6 amd64 2:1.8.2-1 [32.4 kB] 56s Get:31 http://ftpmaster.internal/ubuntu plucky/main amd64 libatspi2.0-0t64 amd64 2.55.2-1 [87.6 kB] 56s Get:32 http://ftpmaster.internal/ubuntu plucky/main amd64 libatk-bridge2.0-0t64 amd64 2.55.2-1 [69.0 kB] 56s Get:33 http://ftpmaster.internal/ubuntu plucky/main amd64 libavahi-common-data amd64 0.8-14ubuntu1 [30.5 kB] 56s Get:34 http://ftpmaster.internal/ubuntu plucky/main amd64 libavahi-common3 amd64 0.8-14ubuntu1 [23.3 kB] 56s Get:35 http://ftpmaster.internal/ubuntu plucky/main amd64 libavahi-client3 amd64 0.8-14ubuntu1 [27.5 kB] 56s Get:36 http://ftpmaster.internal/ubuntu plucky/main amd64 libpixman-1-0 amd64 0.44.0-3 [427 kB] 56s Get:37 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-render0 amd64 1.17.0-2 [16.2 kB] 56s Get:38 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcb-shm0 amd64 1.17.0-2 [5758 B] 56s Get:39 http://ftpmaster.internal/ubuntu plucky/main amd64 libxrender1 amd64 1:0.9.10-1.1build1 [19.0 kB] 56s Get:40 http://ftpmaster.internal/ubuntu plucky/main amd64 libcairo2 amd64 1.18.2-2 [569 kB] 56s Get:41 http://ftpmaster.internal/ubuntu plucky/main amd64 libcairo-gobject2 amd64 1.18.2-2 [127 kB] 56s Get:42 http://ftpmaster.internal/ubuntu plucky/universe amd64 libcapi20-3t64 amd64 1:3.27-3.2 [30.8 kB] 56s Get:43 http://ftpmaster.internal/ubuntu plucky/main amd64 liblcms2-2 amd64 2.16-2 [212 kB] 56s Get:44 http://ftpmaster.internal/ubuntu plucky/main amd64 libcolord2 amd64 1.4.7-1build2 [149 kB] 56s Get:45 http://ftpmaster.internal/ubuntu plucky/main amd64 libcups2t64 amd64 2.4.11-0ubuntu2 [292 kB] 56s Get:46 http://ftpmaster.internal/ubuntu plucky/main amd64 libdatrie1 amd64 0.2.13-3build1 [19.0 kB] 56s Get:47 http://ftpmaster.internal/ubuntu plucky/main amd64 libde265-0 amd64 1.0.15-1build4 [168 kB] 56s Get:48 http://ftpmaster.internal/ubuntu plucky/main amd64 libepoxy0 amd64 1.5.10-2 [218 kB] 57s Get:49 http://ftpmaster.internal/ubuntu plucky/main amd64 libexif12 amd64 0.6.25-1 [87.7 kB] 57s Get:50 http://ftpmaster.internal/ubuntu plucky/main amd64 libogg0 amd64 1.3.5-3build1 [22.7 kB] 57s Get:51 http://ftpmaster.internal/ubuntu plucky/main amd64 libflac12t64 amd64 1.4.3+ds-4 [268 kB] 57s Get:52 http://ftpmaster.internal/ubuntu plucky/main amd64 libheif-plugin-aomdec amd64 1.19.5-1build1 [11.6 kB] 57s Get:53 http://ftpmaster.internal/ubuntu plucky/main amd64 libheif-plugin-libde265 amd64 1.19.5-1build1 [9074 B] 57s Get:54 http://ftpmaster.internal/ubuntu plucky/main amd64 libheif1 amd64 1.19.5-1build1 [422 kB] 57s Get:55 http://ftpmaster.internal/ubuntu plucky/main amd64 libgomp1 amd64 15-20250213-1ubuntu1 [148 kB] 57s Get:56 http://ftpmaster.internal/ubuntu plucky/main amd64 libimagequant0 amd64 2.18.0-1build1 [36.3 kB] 57s Get:57 http://ftpmaster.internal/ubuntu plucky/main amd64 libgraphite2-3 amd64 1.3.14-2ubuntu1 [73.1 kB] 57s Get:58 http://ftpmaster.internal/ubuntu plucky/main amd64 libharfbuzz0b amd64 10.2.0-1 [543 kB] 57s Get:59 http://ftpmaster.internal/ubuntu plucky/main amd64 libraqm0 amd64 0.10.2-1 [17.2 kB] 57s Get:60 http://ftpmaster.internal/ubuntu plucky/main amd64 libxpm4 amd64 1:3.5.17-1build2 [36.5 kB] 57s Get:61 http://ftpmaster.internal/ubuntu plucky/main amd64 libgd3 amd64 2.3.3-12ubuntu3 [127 kB] 57s Get:62 http://ftpmaster.internal/ubuntu plucky/main amd64 libltdl7 amd64 2.5.4-3build1 [46.2 kB] 57s Get:63 http://ftpmaster.internal/ubuntu plucky/main amd64 libgphoto2-port12t64 amd64 2.5.31-4 [60.6 kB] 57s Get:64 http://ftpmaster.internal/ubuntu plucky/main amd64 libgphoto2-6t64 amd64 2.5.31-4 [834 kB] 57s Get:65 http://ftpmaster.internal/ubuntu plucky/main amd64 libgstreamer1.0-0 amd64 1.25.50-1 [1224 kB] 57s Get:66 http://ftpmaster.internal/ubuntu plucky/main amd64 liborc-0.4-0t64 amd64 1:0.4.40-1 [205 kB] 57s Get:67 http://ftpmaster.internal/ubuntu plucky/main amd64 libgstreamer-plugins-base1.0-0 amd64 1.25.50-1 [1049 kB] 57s Get:68 http://ftpmaster.internal/ubuntu plucky/main amd64 libthai-data all 0.1.29-2build1 [158 kB] 57s Get:69 http://ftpmaster.internal/ubuntu plucky/main amd64 libthai0 amd64 0.1.29-2build1 [18.9 kB] 57s Get:70 http://ftpmaster.internal/ubuntu plucky/main amd64 libpango-1.0-0 amd64 1.56.1-1 [255 kB] 57s Get:71 http://ftpmaster.internal/ubuntu plucky/main amd64 libpangoft2-1.0-0 amd64 1.56.1-1 [52.6 kB] 57s Get:72 http://ftpmaster.internal/ubuntu plucky/main amd64 libpangocairo-1.0-0 amd64 1.56.1-1 [29.1 kB] 57s Get:73 http://ftpmaster.internal/ubuntu plucky/main amd64 libwayland-client0 amd64 1.23.1-1 [29.1 kB] 57s Get:74 http://ftpmaster.internal/ubuntu plucky/main amd64 libwayland-cursor0 amd64 1.23.1-1 [10.9 kB] 57s Get:75 http://ftpmaster.internal/ubuntu plucky/main amd64 libwayland-egl1 amd64 1.23.1-1 [5744 B] 57s Get:76 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcomposite1 amd64 1:0.4.6-1 [6642 B] 57s Get:77 http://ftpmaster.internal/ubuntu plucky/main amd64 libxfixes3 amd64 1:6.0.0-2build1 [10.8 kB] 57s Get:78 http://ftpmaster.internal/ubuntu plucky/main amd64 libxcursor1 amd64 1:1.2.3-1 [23.1 kB] 57s Get:79 http://ftpmaster.internal/ubuntu plucky/main amd64 libxdamage1 amd64 1:1.1.6-1build1 [6150 B] 57s Get:80 http://ftpmaster.internal/ubuntu plucky/main amd64 libxinerama1 amd64 2:1.1.4-3build1 [6396 B] 57s Get:81 http://ftpmaster.internal/ubuntu plucky/main amd64 libxrandr2 amd64 2:1.5.4-1 [19.6 kB] 57s Get:82 http://ftpmaster.internal/ubuntu plucky/main amd64 libgtk-3-common all 3.24.48-3ubuntu1 [1424 kB] 57s Get:83 http://ftpmaster.internal/ubuntu plucky/main amd64 libgtk-3-0t64 amd64 3.24.48-3ubuntu1 [3169 kB] 57s Get:84 http://ftpmaster.internal/ubuntu plucky/main amd64 libmp3lame0 amd64 3.100-6build1 [142 kB] 57s Get:85 http://ftpmaster.internal/ubuntu plucky/main amd64 libmpg123-0t64 amd64 1.32.10-1 [191 kB] 57s Get:86 http://ftpmaster.internal/ubuntu plucky/main amd64 libopus0 amd64 1.5.2-2 [2913 kB] 57s Get:87 http://ftpmaster.internal/ubuntu plucky/main amd64 libpcsclite1 amd64 2.3.1-1 [26.6 kB] 57s Get:88 http://ftpmaster.internal/ubuntu plucky/main amd64 libvorbis0a amd64 1.3.7-2 [98.4 kB] 57s Get:89 http://ftpmaster.internal/ubuntu plucky/main amd64 libvorbisenc2 amd64 1.3.7-2 [80.8 kB] 57s Get:90 http://ftpmaster.internal/ubuntu plucky/main amd64 libsndfile1 amd64 1.2.2-2 [275 kB] 57s Get:91 http://ftpmaster.internal/ubuntu plucky/main amd64 libx11-xcb1 amd64 2:1.8.10-2 [7944 B] 57s Get:92 http://ftpmaster.internal/ubuntu plucky/main amd64 libpulse0 amd64 1:17.0+dfsg1-2ubuntu1 [302 kB] 57s Get:93 http://ftpmaster.internal/ubuntu plucky/main amd64 libwebpdemux2 amd64 1.5.0-0.1 [13.0 kB] 57s Get:94 http://ftpmaster.internal/ubuntu plucky/main amd64 libwebpmux3 amd64 1.5.0-0.1 [27.6 kB] 57s Get:95 http://ftpmaster.internal/ubuntu plucky/main amd64 libxkbregistry0 amd64 1.7.0-2 [15.2 kB] 57s Get:96 http://ftpmaster.internal/ubuntu plucky/universe amd64 ocl-icd-libopencl1 amd64 2.3.2-1build1 [38.5 kB] 57s Get:97 http://ftpmaster.internal/ubuntu plucky/universe amd64 libz-mingw-w64 all 1.3.1+dfsg-1 [132 kB] 57s Get:98 http://ftpmaster.internal/ubuntu plucky/universe amd64 libwine amd64 9.0~repack-4build3 [105 MB] 60s Get:99 http://ftpmaster.internal/ubuntu plucky/main amd64 libopenjp2-7 amd64 2.5.0-2ubuntu3 [217 kB] 60s Get:100 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-pil amd64 11.1.0-5 [589 kB] 60s Get:101 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-vdf all 3.4-5 [11.3 kB] 60s Get:102 http://ftpmaster.internal/ubuntu plucky/universe amd64 yad amd64 7.2-1 [193 kB] 60s Get:103 http://ftpmaster.internal/ubuntu plucky/universe amd64 wine64 amd64 9.0~repack-4build3 [256 kB] 60s Get:104 http://ftpmaster.internal/ubuntu plucky/universe amd64 wine all 9.0~repack-4build3 [52.0 kB] 60s Get:105 http://ftpmaster.internal/ubuntu plucky/universe amd64 winetricks all 20250102-1 [161 kB] 60s Get:106 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 protontricks all 1.12.0-2 [45.9 kB] 60s Get:107 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-all amd64 3.13.1-1~exp2 [894 B] 60s Get:108 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 60s Get:109 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-packaging all 24.2-1 [51.5 kB] 60s Get:110 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pluggy all 1.5.0-1 [21.0 kB] 60s Get:111 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pytest all 8.3.4-1 [252 kB] 61s Fetched 134 MB in 4s (32.1 MB/s) 61s Selecting previously unselected package python3.12-minimal. 61s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 108925 files and directories currently installed.) 61s Preparing to unpack .../000-python3.12-minimal_3.12.9-1_amd64.deb ... 61s Unpacking python3.12-minimal (3.12.9-1) ... 61s Selecting previously unselected package python3.12. 61s Preparing to unpack .../001-python3.12_3.12.9-1_amd64.deb ... 61s Unpacking python3.12 (3.12.9-1) ... 61s Selecting previously unselected package libgdk-pixbuf2.0-common. 61s Preparing to unpack .../002-libgdk-pixbuf2.0-common_2.42.12+dfsg-2_all.deb ... 61s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-2) ... 61s Selecting previously unselected package libjpeg-turbo8:amd64. 61s Preparing to unpack .../003-libjpeg-turbo8_2.1.5-3ubuntu2_amd64.deb ... 61s Unpacking libjpeg-turbo8:amd64 (2.1.5-3ubuntu2) ... 61s Selecting previously unselected package libjpeg8:amd64. 61s Preparing to unpack .../004-libjpeg8_8c-2ubuntu11_amd64.deb ... 61s Unpacking libjpeg8:amd64 (8c-2ubuntu11) ... 61s Selecting previously unselected package libdeflate0:amd64. 61s Preparing to unpack .../005-libdeflate0_1.23-1_amd64.deb ... 61s Unpacking libdeflate0:amd64 (1.23-1) ... 61s Selecting previously unselected package libjbig0:amd64. 61s Preparing to unpack .../006-libjbig0_2.1-6.1ubuntu2_amd64.deb ... 61s Unpacking libjbig0:amd64 (2.1-6.1ubuntu2) ... 61s Selecting previously unselected package liblerc4:amd64. 61s Preparing to unpack .../007-liblerc4_4.0.0+ds-5ubuntu1_amd64.deb ... 61s Unpacking liblerc4:amd64 (4.0.0+ds-5ubuntu1) ... 61s Selecting previously unselected package libsharpyuv0:amd64. 61s Preparing to unpack .../008-libsharpyuv0_1.5.0-0.1_amd64.deb ... 61s Unpacking libsharpyuv0:amd64 (1.5.0-0.1) ... 61s Selecting previously unselected package libwebp7:amd64. 61s Preparing to unpack .../009-libwebp7_1.5.0-0.1_amd64.deb ... 61s Unpacking libwebp7:amd64 (1.5.0-0.1) ... 61s Selecting previously unselected package libtiff6:amd64. 61s Preparing to unpack .../010-libtiff6_4.5.1+git230720-4ubuntu4_amd64.deb ... 61s Unpacking libtiff6:amd64 (4.5.1+git230720-4ubuntu4) ... 61s Selecting previously unselected package libgdk-pixbuf-2.0-0:amd64. 61s Preparing to unpack .../011-libgdk-pixbuf-2.0-0_2.42.12+dfsg-2_amd64.deb ... 61s Unpacking libgdk-pixbuf-2.0-0:amd64 (2.42.12+dfsg-2) ... 62s Selecting previously unselected package gtk-update-icon-cache. 62s Preparing to unpack .../012-gtk-update-icon-cache_4.17.4+ds-4_amd64.deb ... 62s No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. 62s No diversion 'diversion of /usr/share/man/man8/update-icon-caches.8.gz to /usr/share/man/man8/update-icon-caches.gtk2.8.gz by libgtk-3-bin', none removed. 62s Unpacking gtk-update-icon-cache (4.17.4+ds-4) ... 62s Selecting previously unselected package hicolor-icon-theme. 62s Preparing to unpack .../013-hicolor-icon-theme_0.18-2_all.deb ... 62s Unpacking hicolor-icon-theme (0.18-2) ... 62s Selecting previously unselected package adwaita-icon-theme. 62s Preparing to unpack .../014-adwaita-icon-theme_48~beta-3_all.deb ... 62s Unpacking adwaita-icon-theme (48~beta-3) ... 62s Selecting previously unselected package at-spi2-common. 62s Preparing to unpack .../015-at-spi2-common_2.55.2-1_all.deb ... 62s Unpacking at-spi2-common (2.55.2-1) ... 62s Selecting previously unselected package libdconf1:amd64. 62s Preparing to unpack .../016-libdconf1_0.40.0-5_amd64.deb ... 62s Unpacking libdconf1:amd64 (0.40.0-5) ... 62s Selecting previously unselected package dconf-service. 62s Preparing to unpack .../017-dconf-service_0.40.0-5_amd64.deb ... 62s Unpacking dconf-service (0.40.0-5) ... 62s Selecting previously unselected package dconf-gsettings-backend:amd64. 62s Preparing to unpack .../018-dconf-gsettings-backend_0.40.0-5_amd64.deb ... 62s Unpacking dconf-gsettings-backend:amd64 (0.40.0-5) ... 62s Selecting previously unselected package fonts-dejavu-mono. 62s Preparing to unpack .../019-fonts-dejavu-mono_2.37-8_all.deb ... 62s Unpacking fonts-dejavu-mono (2.37-8) ... 62s Selecting previously unselected package fonts-dejavu-core. 62s Preparing to unpack .../020-fonts-dejavu-core_2.37-8_all.deb ... 62s Unpacking fonts-dejavu-core (2.37-8) ... 62s Selecting previously unselected package fontconfig-config. 62s Preparing to unpack .../021-fontconfig-config_2.15.0-2ubuntu1_amd64.deb ... 62s Unpacking fontconfig-config (2.15.0-2ubuntu1) ... 62s Selecting previously unselected package libfontconfig1:amd64. 62s Preparing to unpack .../022-libfontconfig1_2.15.0-2ubuntu1_amd64.deb ... 62s Unpacking libfontconfig1:amd64 (2.15.0-2ubuntu1) ... 62s Selecting previously unselected package fontconfig. 62s Preparing to unpack .../023-fontconfig_2.15.0-2ubuntu1_amd64.deb ... 62s Unpacking fontconfig (2.15.0-2ubuntu1) ... 62s Selecting previously unselected package libaom3:amd64. 62s Preparing to unpack .../024-libaom3_3.12.0-1_amd64.deb ... 62s Unpacking libaom3:amd64 (3.12.0-1) ... 62s Selecting previously unselected package libasound2-data. 62s Preparing to unpack .../025-libasound2-data_1.2.13-1build1_all.deb ... 62s Unpacking libasound2-data (1.2.13-1build1) ... 63s Selecting previously unselected package libasound2t64:amd64. 63s Preparing to unpack .../026-libasound2t64_1.2.13-1build1_amd64.deb ... 63s Unpacking libasound2t64:amd64 (1.2.13-1build1) ... 63s Selecting previously unselected package libasyncns0:amd64. 63s Preparing to unpack .../027-libasyncns0_0.8-6build4_amd64.deb ... 63s Unpacking libasyncns0:amd64 (0.8-6build4) ... 63s Selecting previously unselected package libatk1.0-0t64:amd64. 63s Preparing to unpack .../028-libatk1.0-0t64_2.55.2-1_amd64.deb ... 63s Unpacking libatk1.0-0t64:amd64 (2.55.2-1) ... 63s Selecting previously unselected package libxi6:amd64. 63s Preparing to unpack .../029-libxi6_2%3a1.8.2-1_amd64.deb ... 63s Unpacking libxi6:amd64 (2:1.8.2-1) ... 63s Selecting previously unselected package libatspi2.0-0t64:amd64. 63s Preparing to unpack .../030-libatspi2.0-0t64_2.55.2-1_amd64.deb ... 63s Unpacking libatspi2.0-0t64:amd64 (2.55.2-1) ... 63s Selecting previously unselected package libatk-bridge2.0-0t64:amd64. 63s Preparing to unpack .../031-libatk-bridge2.0-0t64_2.55.2-1_amd64.deb ... 63s Unpacking libatk-bridge2.0-0t64:amd64 (2.55.2-1) ... 63s Selecting previously unselected package libavahi-common-data:amd64. 63s Preparing to unpack .../032-libavahi-common-data_0.8-14ubuntu1_amd64.deb ... 63s Unpacking libavahi-common-data:amd64 (0.8-14ubuntu1) ... 63s Selecting previously unselected package libavahi-common3:amd64. 63s Preparing to unpack .../033-libavahi-common3_0.8-14ubuntu1_amd64.deb ... 63s Unpacking libavahi-common3:amd64 (0.8-14ubuntu1) ... 63s Selecting previously unselected package libavahi-client3:amd64. 63s Preparing to unpack .../034-libavahi-client3_0.8-14ubuntu1_amd64.deb ... 63s Unpacking libavahi-client3:amd64 (0.8-14ubuntu1) ... 63s Selecting previously unselected package libpixman-1-0:amd64. 63s Preparing to unpack .../035-libpixman-1-0_0.44.0-3_amd64.deb ... 63s Unpacking libpixman-1-0:amd64 (0.44.0-3) ... 63s Selecting previously unselected package libxcb-render0:amd64. 63s Preparing to unpack .../036-libxcb-render0_1.17.0-2_amd64.deb ... 63s Unpacking libxcb-render0:amd64 (1.17.0-2) ... 63s Selecting previously unselected package libxcb-shm0:amd64. 63s Preparing to unpack .../037-libxcb-shm0_1.17.0-2_amd64.deb ... 63s Unpacking libxcb-shm0:amd64 (1.17.0-2) ... 63s Selecting previously unselected package libxrender1:amd64. 63s Preparing to unpack .../038-libxrender1_1%3a0.9.10-1.1build1_amd64.deb ... 63s Unpacking libxrender1:amd64 (1:0.9.10-1.1build1) ... 63s Selecting previously unselected package libcairo2:amd64. 63s Preparing to unpack .../039-libcairo2_1.18.2-2_amd64.deb ... 63s Unpacking libcairo2:amd64 (1.18.2-2) ... 63s Selecting previously unselected package libcairo-gobject2:amd64. 63s Preparing to unpack .../040-libcairo-gobject2_1.18.2-2_amd64.deb ... 63s Unpacking libcairo-gobject2:amd64 (1.18.2-2) ... 63s Selecting previously unselected package libcapi20-3t64:amd64. 63s Preparing to unpack .../041-libcapi20-3t64_1%3a3.27-3.2_amd64.deb ... 63s Unpacking libcapi20-3t64:amd64 (1:3.27-3.2) ... 63s Selecting previously unselected package liblcms2-2:amd64. 63s Preparing to unpack .../042-liblcms2-2_2.16-2_amd64.deb ... 63s Unpacking liblcms2-2:amd64 (2.16-2) ... 63s Selecting previously unselected package libcolord2:amd64. 63s Preparing to unpack .../043-libcolord2_1.4.7-1build2_amd64.deb ... 63s Unpacking libcolord2:amd64 (1.4.7-1build2) ... 63s Selecting previously unselected package libcups2t64:amd64. 63s Preparing to unpack .../044-libcups2t64_2.4.11-0ubuntu2_amd64.deb ... 63s Unpacking libcups2t64:amd64 (2.4.11-0ubuntu2) ... 63s Selecting previously unselected package libdatrie1:amd64. 63s Preparing to unpack .../045-libdatrie1_0.2.13-3build1_amd64.deb ... 63s Unpacking libdatrie1:amd64 (0.2.13-3build1) ... 63s Selecting previously unselected package libde265-0:amd64. 63s Preparing to unpack .../046-libde265-0_1.0.15-1build4_amd64.deb ... 63s Unpacking libde265-0:amd64 (1.0.15-1build4) ... 63s Selecting previously unselected package libepoxy0:amd64. 63s Preparing to unpack .../047-libepoxy0_1.5.10-2_amd64.deb ... 63s Unpacking libepoxy0:amd64 (1.5.10-2) ... 63s Selecting previously unselected package libexif12:amd64. 63s Preparing to unpack .../048-libexif12_0.6.25-1_amd64.deb ... 63s Unpacking libexif12:amd64 (0.6.25-1) ... 63s Selecting previously unselected package libogg0:amd64. 63s Preparing to unpack .../049-libogg0_1.3.5-3build1_amd64.deb ... 63s Unpacking libogg0:amd64 (1.3.5-3build1) ... 63s Selecting previously unselected package libflac12t64:amd64. 63s Preparing to unpack .../050-libflac12t64_1.4.3+ds-4_amd64.deb ... 63s Unpacking libflac12t64:amd64 (1.4.3+ds-4) ... 63s Selecting previously unselected package libheif-plugin-aomdec:amd64. 63s Preparing to unpack .../051-libheif-plugin-aomdec_1.19.5-1build1_amd64.deb ... 63s Unpacking libheif-plugin-aomdec:amd64 (1.19.5-1build1) ... 63s Selecting previously unselected package libheif-plugin-libde265:amd64. 63s Preparing to unpack .../052-libheif-plugin-libde265_1.19.5-1build1_amd64.deb ... 63s Unpacking libheif-plugin-libde265:amd64 (1.19.5-1build1) ... 63s Selecting previously unselected package libheif1:amd64. 63s Preparing to unpack .../053-libheif1_1.19.5-1build1_amd64.deb ... 63s Unpacking libheif1:amd64 (1.19.5-1build1) ... 63s Selecting previously unselected package libgomp1:amd64. 63s Preparing to unpack .../054-libgomp1_15-20250213-1ubuntu1_amd64.deb ... 63s Unpacking libgomp1:amd64 (15-20250213-1ubuntu1) ... 63s Selecting previously unselected package libimagequant0:amd64. 63s Preparing to unpack .../055-libimagequant0_2.18.0-1build1_amd64.deb ... 63s Unpacking libimagequant0:amd64 (2.18.0-1build1) ... 63s Selecting previously unselected package libgraphite2-3:amd64. 63s Preparing to unpack .../056-libgraphite2-3_1.3.14-2ubuntu1_amd64.deb ... 63s Unpacking libgraphite2-3:amd64 (1.3.14-2ubuntu1) ... 63s Selecting previously unselected package libharfbuzz0b:amd64. 63s Preparing to unpack .../057-libharfbuzz0b_10.2.0-1_amd64.deb ... 63s Unpacking libharfbuzz0b:amd64 (10.2.0-1) ... 64s Selecting previously unselected package libraqm0:amd64. 64s Preparing to unpack .../058-libraqm0_0.10.2-1_amd64.deb ... 64s Unpacking libraqm0:amd64 (0.10.2-1) ... 64s Selecting previously unselected package libxpm4:amd64. 64s Preparing to unpack .../059-libxpm4_1%3a3.5.17-1build2_amd64.deb ... 64s Unpacking libxpm4:amd64 (1:3.5.17-1build2) ... 64s Selecting previously unselected package libgd3:amd64. 64s Preparing to unpack .../060-libgd3_2.3.3-12ubuntu3_amd64.deb ... 64s Unpacking libgd3:amd64 (2.3.3-12ubuntu3) ... 64s Selecting previously unselected package libltdl7:amd64. 64s Preparing to unpack .../061-libltdl7_2.5.4-3build1_amd64.deb ... 64s Unpacking libltdl7:amd64 (2.5.4-3build1) ... 64s Selecting previously unselected package libgphoto2-port12t64:amd64. 64s Preparing to unpack .../062-libgphoto2-port12t64_2.5.31-4_amd64.deb ... 64s Unpacking libgphoto2-port12t64:amd64 (2.5.31-4) ... 64s Selecting previously unselected package libgphoto2-6t64:amd64. 64s Preparing to unpack .../063-libgphoto2-6t64_2.5.31-4_amd64.deb ... 64s Unpacking libgphoto2-6t64:amd64 (2.5.31-4) ... 64s Selecting previously unselected package libgstreamer1.0-0:amd64. 64s Preparing to unpack .../064-libgstreamer1.0-0_1.25.50-1_amd64.deb ... 64s Unpacking libgstreamer1.0-0:amd64 (1.25.50-1) ... 64s Selecting previously unselected package liborc-0.4-0t64:amd64. 64s Preparing to unpack .../065-liborc-0.4-0t64_1%3a0.4.40-1_amd64.deb ... 64s Unpacking liborc-0.4-0t64:amd64 (1:0.4.40-1) ... 64s Selecting previously unselected package libgstreamer-plugins-base1.0-0:amd64. 64s Preparing to unpack .../066-libgstreamer-plugins-base1.0-0_1.25.50-1_amd64.deb ... 64s Unpacking libgstreamer-plugins-base1.0-0:amd64 (1.25.50-1) ... 64s Selecting previously unselected package libthai-data. 64s Preparing to unpack .../067-libthai-data_0.1.29-2build1_all.deb ... 64s Unpacking libthai-data (0.1.29-2build1) ... 64s Selecting previously unselected package libthai0:amd64. 64s Preparing to unpack .../068-libthai0_0.1.29-2build1_amd64.deb ... 64s Unpacking libthai0:amd64 (0.1.29-2build1) ... 64s Selecting previously unselected package libpango-1.0-0:amd64. 64s Preparing to unpack .../069-libpango-1.0-0_1.56.1-1_amd64.deb ... 64s Unpacking libpango-1.0-0:amd64 (1.56.1-1) ... 64s Selecting previously unselected package libpangoft2-1.0-0:amd64. 64s Preparing to unpack .../070-libpangoft2-1.0-0_1.56.1-1_amd64.deb ... 64s Unpacking libpangoft2-1.0-0:amd64 (1.56.1-1) ... 64s Selecting previously unselected package libpangocairo-1.0-0:amd64. 64s Preparing to unpack .../071-libpangocairo-1.0-0_1.56.1-1_amd64.deb ... 64s Unpacking libpangocairo-1.0-0:amd64 (1.56.1-1) ... 64s Selecting previously unselected package libwayland-client0:amd64. 64s Preparing to unpack .../072-libwayland-client0_1.23.1-1_amd64.deb ... 64s Unpacking libwayland-client0:amd64 (1.23.1-1) ... 64s Selecting previously unselected package libwayland-cursor0:amd64. 64s Preparing to unpack .../073-libwayland-cursor0_1.23.1-1_amd64.deb ... 64s Unpacking libwayland-cursor0:amd64 (1.23.1-1) ... 64s Selecting previously unselected package libwayland-egl1:amd64. 64s Preparing to unpack .../074-libwayland-egl1_1.23.1-1_amd64.deb ... 64s Unpacking libwayland-egl1:amd64 (1.23.1-1) ... 64s Selecting previously unselected package libxcomposite1:amd64. 64s Preparing to unpack .../075-libxcomposite1_1%3a0.4.6-1_amd64.deb ... 64s Unpacking libxcomposite1:amd64 (1:0.4.6-1) ... 64s Selecting previously unselected package libxfixes3:amd64. 64s Preparing to unpack .../076-libxfixes3_1%3a6.0.0-2build1_amd64.deb ... 64s Unpacking libxfixes3:amd64 (1:6.0.0-2build1) ... 64s Selecting previously unselected package libxcursor1:amd64. 64s Preparing to unpack .../077-libxcursor1_1%3a1.2.3-1_amd64.deb ... 64s Unpacking libxcursor1:amd64 (1:1.2.3-1) ... 64s Selecting previously unselected package libxdamage1:amd64. 64s Preparing to unpack .../078-libxdamage1_1%3a1.1.6-1build1_amd64.deb ... 64s Unpacking libxdamage1:amd64 (1:1.1.6-1build1) ... 64s Selecting previously unselected package libxinerama1:amd64. 64s Preparing to unpack .../079-libxinerama1_2%3a1.1.4-3build1_amd64.deb ... 64s Unpacking libxinerama1:amd64 (2:1.1.4-3build1) ... 64s Selecting previously unselected package libxrandr2:amd64. 64s Preparing to unpack .../080-libxrandr2_2%3a1.5.4-1_amd64.deb ... 64s Unpacking libxrandr2:amd64 (2:1.5.4-1) ... 64s Selecting previously unselected package libgtk-3-common. 64s Preparing to unpack .../081-libgtk-3-common_3.24.48-3ubuntu1_all.deb ... 64s Unpacking libgtk-3-common (3.24.48-3ubuntu1) ... 64s Selecting previously unselected package libgtk-3-0t64:amd64. 64s Preparing to unpack .../082-libgtk-3-0t64_3.24.48-3ubuntu1_amd64.deb ... 64s Unpacking libgtk-3-0t64:amd64 (3.24.48-3ubuntu1) ... 65s Selecting previously unselected package libmp3lame0:amd64. 65s Preparing to unpack .../083-libmp3lame0_3.100-6build1_amd64.deb ... 65s Unpacking libmp3lame0:amd64 (3.100-6build1) ... 65s Selecting previously unselected package libmpg123-0t64:amd64. 65s Preparing to unpack .../084-libmpg123-0t64_1.32.10-1_amd64.deb ... 65s Unpacking libmpg123-0t64:amd64 (1.32.10-1) ... 65s Selecting previously unselected package libopus0:amd64. 65s Preparing to unpack .../085-libopus0_1.5.2-2_amd64.deb ... 65s Unpacking libopus0:amd64 (1.5.2-2) ... 65s Selecting previously unselected package libpcsclite1:amd64. 65s Preparing to unpack .../086-libpcsclite1_2.3.1-1_amd64.deb ... 65s Unpacking libpcsclite1:amd64 (2.3.1-1) ... 65s Selecting previously unselected package libvorbis0a:amd64. 65s Preparing to unpack .../087-libvorbis0a_1.3.7-2_amd64.deb ... 65s Unpacking libvorbis0a:amd64 (1.3.7-2) ... 65s Selecting previously unselected package libvorbisenc2:amd64. 65s Preparing to unpack .../088-libvorbisenc2_1.3.7-2_amd64.deb ... 65s Unpacking libvorbisenc2:amd64 (1.3.7-2) ... 65s Selecting previously unselected package libsndfile1:amd64. 65s Preparing to unpack .../089-libsndfile1_1.2.2-2_amd64.deb ... 65s Unpacking libsndfile1:amd64 (1.2.2-2) ... 65s Selecting previously unselected package libx11-xcb1:amd64. 65s Preparing to unpack .../090-libx11-xcb1_2%3a1.8.10-2_amd64.deb ... 65s Unpacking libx11-xcb1:amd64 (2:1.8.10-2) ... 65s Selecting previously unselected package libpulse0:amd64. 65s Preparing to unpack .../091-libpulse0_1%3a17.0+dfsg1-2ubuntu1_amd64.deb ... 65s Unpacking libpulse0:amd64 (1:17.0+dfsg1-2ubuntu1) ... 65s Selecting previously unselected package libwebpdemux2:amd64. 65s Preparing to unpack .../092-libwebpdemux2_1.5.0-0.1_amd64.deb ... 65s Unpacking libwebpdemux2:amd64 (1.5.0-0.1) ... 65s Selecting previously unselected package libwebpmux3:amd64. 65s Preparing to unpack .../093-libwebpmux3_1.5.0-0.1_amd64.deb ... 65s Unpacking libwebpmux3:amd64 (1.5.0-0.1) ... 65s Selecting previously unselected package libxkbregistry0:amd64. 65s Preparing to unpack .../094-libxkbregistry0_1.7.0-2_amd64.deb ... 65s Unpacking libxkbregistry0:amd64 (1.7.0-2) ... 65s Selecting previously unselected package ocl-icd-libopencl1:amd64. 65s Preparing to unpack .../095-ocl-icd-libopencl1_2.3.2-1build1_amd64.deb ... 65s Unpacking ocl-icd-libopencl1:amd64 (2.3.2-1build1) ... 65s Selecting previously unselected package libz-mingw-w64. 65s Preparing to unpack .../096-libz-mingw-w64_1.3.1+dfsg-1_all.deb ... 65s Unpacking libz-mingw-w64 (1.3.1+dfsg-1) ... 65s Selecting previously unselected package libwine:amd64. 65s Preparing to unpack .../097-libwine_9.0~repack-4build3_amd64.deb ... 65s Unpacking libwine:amd64 (9.0~repack-4build3) ... 68s Selecting previously unselected package libopenjp2-7:amd64. 68s Preparing to unpack .../098-libopenjp2-7_2.5.0-2ubuntu3_amd64.deb ... 68s Unpacking libopenjp2-7:amd64 (2.5.0-2ubuntu3) ... 68s Selecting previously unselected package python3-pil:amd64. 68s Preparing to unpack .../099-python3-pil_11.1.0-5_amd64.deb ... 68s Unpacking python3-pil:amd64 (11.1.0-5) ... 68s Selecting previously unselected package python3-vdf. 68s Preparing to unpack .../100-python3-vdf_3.4-5_all.deb ... 68s Unpacking python3-vdf (3.4-5) ... 68s Selecting previously unselected package yad. 68s Preparing to unpack .../101-yad_7.2-1_amd64.deb ... 68s Unpacking yad (7.2-1) ... 68s Selecting previously unselected package wine64. 68s Preparing to unpack .../102-wine64_9.0~repack-4build3_amd64.deb ... 68s Unpacking wine64 (9.0~repack-4build3) ... 68s Selecting previously unselected package wine. 68s Preparing to unpack .../103-wine_9.0~repack-4build3_all.deb ... 68s Unpacking wine (9.0~repack-4build3) ... 68s Selecting previously unselected package winetricks. 68s Preparing to unpack .../104-winetricks_20250102-1_all.deb ... 68s Unpacking winetricks (20250102-1) ... 68s Selecting previously unselected package protontricks. 68s Preparing to unpack .../105-protontricks_1.12.0-2_all.deb ... 68s Unpacking protontricks (1.12.0-2) ... 68s Selecting previously unselected package python3-all. 68s Preparing to unpack .../106-python3-all_3.13.1-1~exp2_amd64.deb ... 68s Unpacking python3-all (3.13.1-1~exp2) ... 68s Selecting previously unselected package python3-iniconfig. 68s Preparing to unpack .../107-python3-iniconfig_1.1.1-2_all.deb ... 68s Unpacking python3-iniconfig (1.1.1-2) ... 68s Selecting previously unselected package python3-packaging. 68s Preparing to unpack .../108-python3-packaging_24.2-1_all.deb ... 68s Unpacking python3-packaging (24.2-1) ... 68s Selecting previously unselected package python3-pluggy. 68s Preparing to unpack .../109-python3-pluggy_1.5.0-1_all.deb ... 68s Unpacking python3-pluggy (1.5.0-1) ... 68s Selecting previously unselected package python3-pytest. 68s Preparing to unpack .../110-python3-pytest_8.3.4-1_all.deb ... 68s Unpacking python3-pytest (8.3.4-1) ... 68s Setting up libgraphite2-3:amd64 (1.3.14-2ubuntu1) ... 68s Setting up liblcms2-2:amd64 (2.16-2) ... 68s Setting up python3-iniconfig (1.1.1-2) ... 69s Setting up libpixman-1-0:amd64 (0.44.0-3) ... 69s Setting up python3.12-minimal (3.12.9-1) ... 69s Setting up libsharpyuv0:amd64 (1.5.0-0.1) ... 69s Setting up libaom3:amd64 (3.12.0-1) ... 69s Setting up libx11-xcb1:amd64 (2:1.8.10-2) ... 69s Setting up libxdamage1:amd64 (1:1.1.6-1build1) ... 69s Setting up libogg0:amd64 (1.3.5-3build1) ... 69s Setting up liblerc4:amd64 (4.0.0+ds-5ubuntu1) ... 69s Setting up libxpm4:amd64 (1:3.5.17-1build2) ... 69s Setting up hicolor-icon-theme (0.18-2) ... 69s Setting up libxi6:amd64 (2:1.8.2-1) ... 69s Setting up libxrender1:amd64 (1:0.9.10-1.1build1) ... 69s Setting up libdatrie1:amd64 (0.2.13-3build1) ... 69s Setting up libxcb-render0:amd64 (1.17.0-2) ... 69s Setting up python3.12 (3.12.9-1) ... 71s Setting up python3-vdf (3.4-5) ... 71s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-2) ... 71s Setting up libdeflate0:amd64 (1.23-1) ... 71s Setting up python3-all (3.13.1-1~exp2) ... 71s Setting up libxcb-shm0:amd64 (1.17.0-2) ... 71s Setting up libmpg123-0t64:amd64 (1.32.10-1) ... 71s Setting up libgomp1:amd64 (15-20250213-1ubuntu1) ... 71s Setting up libz-mingw-w64 (1.3.1+dfsg-1) ... 71s Setting up libjbig0:amd64 (2.1-6.1ubuntu2) ... 71s Setting up libcolord2:amd64 (1.4.7-1build2) ... 71s Setting up liborc-0.4-0t64:amd64 (1:0.4.40-1) ... 71s Setting up libdconf1:amd64 (0.40.0-5) ... 71s Setting up libasound2-data (1.2.13-1build1) ... 71s Setting up python3-packaging (24.2-1) ... 71s Setting up libasound2t64:amd64 (1.2.13-1build1) ... 71s Setting up libxkbregistry0:amd64 (1.7.0-2) ... 71s Setting up libepoxy0:amd64 (1.5.10-2) ... 71s Setting up libxfixes3:amd64 (1:6.0.0-2build1) ... 71s Setting up libavahi-common-data:amd64 (0.8-14ubuntu1) ... 71s Setting up libatspi2.0-0t64:amd64 (2.55.2-1) ... 71s Setting up libopus0:amd64 (1.5.2-2) ... 71s Setting up libxinerama1:amd64 (2:1.1.4-3build1) ... 71s Setting up libexif12:amd64 (0.6.25-1) ... 71s Setting up libimagequant0:amd64 (2.18.0-1build1) ... 71s Setting up fonts-dejavu-mono (2.37-8) ... 71s Setting up libvorbis0a:amd64 (1.3.7-2) ... 71s Setting up libxrandr2:amd64 (2:1.5.4-1) ... 71s Setting up fonts-dejavu-core (2.37-8) ... 71s Setting up libpcsclite1:amd64 (2.3.1-1) ... 71s Setting up libcapi20-3t64:amd64 (1:3.27-3.2) ... 71s Setting up libjpeg-turbo8:amd64 (2.1.5-3ubuntu2) ... 71s Setting up libltdl7:amd64 (2.5.4-3build1) ... 71s Setting up python3-pluggy (1.5.0-1) ... 71s Setting up libwebp7:amd64 (1.5.0-0.1) ... 71s Setting up ocl-icd-libopencl1:amd64 (2.3.2-1build1) ... 71s Setting up libasyncns0:amd64 (0.8-6build4) ... 71s Setting up at-spi2-common (2.55.2-1) ... 71s Setting up libopenjp2-7:amd64 (2.5.0-2ubuntu3) ... 71s Setting up libharfbuzz0b:amd64 (10.2.0-1) ... 71s Setting up libthai-data (0.1.29-2build1) ... 71s Setting up libgphoto2-port12t64:amd64 (2.5.31-4) ... 71s Setting up libflac12t64:amd64 (1.4.3+ds-4) ... 71s Setting up libwayland-egl1:amd64 (1.23.1-1) ... 71s Setting up libde265-0:amd64 (1.0.15-1build4) ... 71s Setting up libwebpmux3:amd64 (1.5.0-0.1) ... 71s Setting up libxcomposite1:amd64 (1:0.4.6-1) ... 71s Setting up libgstreamer1.0-0:amd64 (1.25.50-1) ... 71s Setcap worked! gst-ptp-helper is not suid! 71s Setting up libmp3lame0:amd64 (3.100-6build1) ... 71s Setting up libvorbisenc2:amd64 (1.3.7-2) ... 71s Setting up libwayland-client0:amd64 (1.23.1-1) ... 71s Setting up libjpeg8:amd64 (8c-2ubuntu11) ... 71s Setting up libatk1.0-0t64:amd64 (2.55.2-1) ... 71s Setting up fontconfig-config (2.15.0-2ubuntu1) ... 71s Setting up python3-pytest (8.3.4-1) ... 72s Setting up libwebpdemux2:amd64 (1.5.0-0.1) ... 72s Setting up libxcursor1:amd64 (1:1.2.3-1) ... 72s Setting up libavahi-common3:amd64 (0.8-14ubuntu1) ... 72s Setting up libgstreamer-plugins-base1.0-0:amd64 (1.25.50-1) ... 72s Setting up dconf-service (0.40.0-5) ... 72s Setting up libthai0:amd64 (0.1.29-2build1) ... 72s Setting up libraqm0:amd64 (0.10.2-1) ... 72s Setting up libtiff6:amd64 (4.5.1+git230720-4ubuntu4) ... 72s Setting up libwayland-cursor0:amd64 (1.23.1-1) ... 72s Setting up libgdk-pixbuf-2.0-0:amd64 (2.42.12+dfsg-2) ... 72s Setting up libfontconfig1:amd64 (2.15.0-2ubuntu1) ... 72s Setting up libsndfile1:amd64 (1.2.2-2) ... 72s Setting up libavahi-client3:amd64 (0.8-14ubuntu1) ... 72s Setting up libatk-bridge2.0-0t64:amd64 (2.55.2-1) ... 72s Setting up gtk-update-icon-cache (4.17.4+ds-4) ... 72s Setting up fontconfig (2.15.0-2ubuntu1) ... 74s Regenerating fonts cache... done. 74s Setting up dconf-gsettings-backend:amd64 (0.40.0-5) ... 74s Setting up libpulse0:amd64 (1:17.0+dfsg1-2ubuntu1) ... 74s Setting up libpango-1.0-0:amd64 (1.56.1-1) ... 74s Setting up libcairo2:amd64 (1.18.2-2) ... 74s Setting up python3-pil:amd64 (11.1.0-5) ... 75s Setting up adwaita-icon-theme (48~beta-3) ... 75s update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode 75s Setting up libcairo-gobject2:amd64 (1.18.2-2) ... 75s Setting up libpangoft2-1.0-0:amd64 (1.56.1-1) ... 75s Setting up libcups2t64:amd64 (2.4.11-0ubuntu2) ... 75s Setting up libgtk-3-common (3.24.48-3ubuntu1) ... 75s Setting up libpangocairo-1.0-0:amd64 (1.56.1-1) ... 75s Setting up libheif-plugin-aomdec:amd64 (1.19.5-1build1) ... 75s Setting up libheif-plugin-libde265:amd64 (1.19.5-1build1) ... 75s Setting up libheif1:amd64 (1.19.5-1build1) ... 75s Setting up libgd3:amd64 (2.3.3-12ubuntu3) ... 75s Setting up libgphoto2-6t64:amd64 (2.5.31-4) ... 75s Setting up libwine:amd64 (9.0~repack-4build3) ... 75s Setting up wine64 (9.0~repack-4build3) ... 75s Setting up wine (9.0~repack-4build3) ... 75s Setting up winetricks (20250102-1) ... 75s Processing triggers for libc-bin (2.40-4ubuntu1) ... 75s Processing triggers for systemd (257.2-3ubuntu1) ... 75s Processing triggers for man-db (2.13.0-1) ... 76s Processing triggers for libglib2.0-0t64:amd64 (2.83.3-2) ... 76s Setting up libgtk-3-0t64:amd64 (3.24.48-3ubuntu1) ... 76s Processing triggers for udev (257.2-3ubuntu1) ... 77s Setting up yad (7.2-1) ... 77s Setting up protontricks (1.12.0-2) ... 77s Processing triggers for wine (9.0~repack-4build3) ... 77s Processing triggers for libc-bin (2.40-4ubuntu1) ... 77s autopkgtest [04:17:49]: test pytest: [----------------------- 78s ============================= test session starts ============================== 78s platform linux -- Python 3.12.9, pytest-8.3.4, pluggy-1.5.0 78s rootdir: /tmp/autopkgtest.E0RR5M/build.a3t/src 78s configfile: pyproject.toml 78s plugins: typeguard-4.4.1 78s collected 151 items 78s 78s tests/cli/test_desktop_install.py . [ 0%] 78s tests/cli/test_launch.py FF.......... [ 8%] 79s tests/cli/test_main.py FFFFFFF...FF..FFF.FFFFFFFFFFFF....FFFFFFFFF..FF [ 39%] 79s tests/cli/test_util.py .FFF.F [ 43%] 79s tests/test_config.py .. [ 45%] 79s tests/test_flatpak.py ......... [ 50%] 79s tests/test_gui.py ................... [ 63%] 80s tests/test_steam.py ............................................. [ 93%] 80s tests/test_util.py ........ [ 98%] 80s tests/test_winetricks.py .. [100%] 80s 80s =================================== FAILURES =================================== 80s ________________________ TestCLIRun.test_run_executable ________________________ 80s 80s self = 80s steam_app_factory = .func at 0x7bc91fdd0cc0> 80s default_proton = 80s command_mock = 80s gui_provider = 80s launch_cli = .func at 0x7bc91fdd11c0> 80s 80s def test_run_executable( 80s self, steam_app_factory, default_proton, 80s command_mock, gui_provider, launch_cli): 80s """ 80s Run an EXE file by selecting using the GUI 80s """ 80s steam_app = steam_app_factory("Fake game", appid=10) 80s 80s # Fake the user selecting the game 80s gui_provider.mock_stdout = "Fake game: 10" 80s 80s launch_cli(["test.exe"]) 80s 80s # 'test.exe' was executed 80s > command = command_mock.commands[-1] 80s E IndexError: list index out of range 80s 80s /tmp/autopkgtest.E0RR5M/build.a3t/src/tests/cli/test_launch.py:30: IndexError 80s ------------------------------ Captured log call ------------------------------- 80s DEBUG protontricks:util.py:81 Stream log handler added 80s INFO protontricks:steam.py:413 Found Steam directory at /tmp/pytest-of-ubuntu/pytest-0/test_run_executable0/home/fakeuser/.steam/steam 80s INFO protontricks:steam.py:1003 Found 0 Steam library folders 80s DEBUG protontricks:gui.py:430 Following inaccessible paths were found: set() 80s DEBUG protontricks:gui.py:439 Following paths have been ignored: set() 80s DEBUG protontricks:steam.py:204 Creating SteamApp from manifest file in /tmp/pytest-of-ubuntu/pytest-0/test_run_executable0/home/fakeuser/.steam/steam/steamapps/appmanifest_123450.acf 80s DEBUG protontricks:steam.py:887 Found compatdata directories for app 123450: [] 80s DEBUG protontricks:steam.py:204 Creating SteamApp from manifest file in /tmp/pytest-of-ubuntu/pytest-0/test_run_executable0/home/fakeuser/.steam/steam/steamapps/appmanifest_10.acf 80s DEBUG protontricks:steam.py:887 Found compatdata directories for app 10: [PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_executable0/home/fakeuser/.steam/steam/steamapps/compatdata/10/pfx')] 80s DEBUG protontricks:steam.py:1216 Found Steam user entries: [{'steamid3': 42, 'account_name': 'TestUser', 'timestamp': '0'}] 80s INFO protontricks:steam.py:1222 Currently logged-in Steam user: TestUser 80s INFO protontricks:steam.py:1267 Couldn't find custom shortcuts. Maybe none have been created yet? 80s INFO protontricks:gui.py:48 Using 'yad' as GUI provider 80s INFO protontricks:launch.py:201 Calling `protontricks` with the command: ['--no-background-wineserver', '-c', 'wine /tmp/pytest-of-ubuntu/pytest-0/test_run_executable0/home/fakeuser/test.exe', '10'] 80s _____________________ TestCLIRun.test_run_executable_appid _____________________ 80s 80s self = 80s default_proton = 80s steam_app_factory = .func at 0x7bc91fdd18a0> 80s command_mock = 80s launch_cli = .func at 0x7bc91fdd1940> 80s 80s def test_run_executable_appid( 80s self, default_proton, steam_app_factory, command_mock, launch_cli): 80s """ 80s Run an EXE file directly for a chosen game 80s """ 80s steam_app = steam_app_factory(name="Fake game 1", appid=10) 80s 80s launch_cli(["--appid", "10", "test.exe"]) 80s 80s # 'test.exe' was executed 80s > command = command_mock.commands[-1] 80s E IndexError: list index out of range 80s 80s /tmp/autopkgtest.E0RR5M/build.a3t/src/tests/cli/test_launch.py:46: IndexError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_executable_appid0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s ------------------------------ Captured log call ------------------------------- 80s DEBUG protontricks:util.py:81 Stream log handler added 80s INFO protontricks:steam.py:413 Found Steam directory at /tmp/pytest-of-ubuntu/pytest-0/test_run_executable_appid0/home/fakeuser/.steam/steam 80s INFO protontricks:steam.py:1003 Found 0 Steam library folders 80s DEBUG protontricks:gui.py:430 Following inaccessible paths were found: set() 80s DEBUG protontricks:gui.py:439 Following paths have been ignored: set() 80s DEBUG protontricks:steam.py:204 Creating SteamApp from manifest file in /tmp/pytest-of-ubuntu/pytest-0/test_run_executable_appid0/home/fakeuser/.steam/steam/steamapps/appmanifest_123450.acf 80s DEBUG protontricks:steam.py:887 Found compatdata directories for app 123450: [] 80s DEBUG protontricks:steam.py:204 Creating SteamApp from manifest file in /tmp/pytest-of-ubuntu/pytest-0/test_run_executable_appid0/home/fakeuser/.steam/steam/steamapps/appmanifest_10.acf 80s DEBUG protontricks:steam.py:887 Found compatdata directories for app 10: [PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_executable_appid0/home/fakeuser/.steam/steam/steamapps/compatdata/10/pfx')] 80s DEBUG protontricks:steam.py:1216 Found Steam user entries: [{'steamid3': 42, 'account_name': 'TestUser', 'timestamp': '0'}] 80s INFO protontricks:steam.py:1222 Currently logged-in Steam user: TestUser 80s INFO protontricks:steam.py:1267 Couldn't find custom shortcuts. Maybe none have been created yet? 80s INFO protontricks:launch.py:201 Calling `protontricks` with the command: ['--no-background-wineserver', '-c', 'wine /tmp/pytest-of-ubuntu/pytest-0/test_run_executable_appid0/home/fakeuser/test.exe', '10'] 80s ________________________ TestCLIRun.test_run_winetricks ________________________ 80s 80s self = 80s cli = .func at 0x7bc91fdd2340> 80s steam_app_factory = .func at 0x7bc91fdd22a0> 80s default_proton = 80s command_mock = 80s home_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks0/home/fakeuser') 80s 80s def test_run_winetricks( 80s self, cli, steam_app_factory, default_proton, command_mock, 80s home_dir): 80s """ 80s Perform a Protontricks command directly for a certain game 80s """ 80s proton_install_path = Path(default_proton.install_path) 80s 80s steam_app = steam_app_factory(name="Fake game 1", appid=10) 80s 80s cli(["10", "winecfg"], env={"STEAM_RUNTIME": "0"}) 80s 80s # winecfg was actually run 80s > command = command_mock.commands[-1] 80s E IndexError: list index out of range 80s 80s tests/cli/test_main.py:23: IndexError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s ___________________ TestCLIRun.test_run_winetricks_shortcut ____________________ 80s 80s self = 80s cli = .func at 0x7bc91fdd32e0> 80s shortcut_factory = .func at 0x7bc91fdd3240> 80s default_proton = 80s command_mock = 80s steam_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_shortcut0/home/fakeuser/.steam/steam') 80s 80s def test_run_winetricks_shortcut( 80s self, cli, shortcut_factory, default_proton, command_mock, 80s steam_dir): 80s """ 80s Perform a Protontricks command for a non-Steam shortcut 80s """ 80s proton_install_path = Path(default_proton.install_path) 80s shortcut_factory(install_dir="fake/path/", name="fakegame.exe") 80s 80s cli(["4149337689", "winecfg"]) 80s 80s # Default Proton is used 80s > command = command_mock.commands[-1] 80s E IndexError: list index out of range 80s 80s tests/cli/test_main.py:53: IndexError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_shortcut0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s _________________ TestCLIRun.test_run_winetricks_select_proton _________________ 80s 80s self = 80s cli = .func at 0x7bc91fdd0ea0> 80s steam_app_factory = .func at 0x7bc91fdd13a0> 80s default_proton = 80s custom_proton_factory = .func at 0x7bc91fdd1440> 80s command_mock = 80s home_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_select_pro0/home/fakeuser') 80s 80s def test_run_winetricks_select_proton( 80s self, cli, steam_app_factory, default_proton, 80s custom_proton_factory, command_mock, home_dir): 80s """ 80s Perform a Protontricks command while selecting a specific 80s Proton version using PROTON_VERSION env var 80s """ 80s steam_app_factory(name="Fake game", appid=10) 80s custom_proton = custom_proton_factory(name="Custom Proton") 80s cli(["10", "winecfg"], env={"PROTON_VERSION": "Custom Proton"}) 80s 80s > assert command_mock.commands[-1].env["PROTON_PATH"] \ 80s == str(custom_proton.install_path) 80s E IndexError: list index out of range 80s 80s tests/cli/test_main.py:69: IndexError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_select_pro0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s _________________ TestCLIRun.test_run_winetricks_select_steam __________________ 80s 80s self = 80s cli = .func at 0x7bc91fdd3600> 80s steam_app_factory = .func at 0x7bc91fdd3ce0> 80s default_proton = 80s command_mock = 80s home_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_select_ste0/home/fakeuser') 80s 80s def test_run_winetricks_select_steam( 80s self, cli, steam_app_factory, default_proton, command_mock, 80s home_dir): 80s """ 80s Perform a Protontricks command while selecting a specific 80s Steam installation directory 80s """ 80s steam_app_factory(name="Fake game", appid=10) 80s os.rename( 80s str(home_dir / ".steam" / "steam"), 80s str(home_dir / ".steam_new") 80s ) 80s os.rename( 80s str(home_dir / ".steam" / "root" / "ubuntu12_32"), 80s str(home_dir / ".steam_new" / "ubuntu12_32") 80s ) 80s 80s cli( 80s ["10", "winecfg"], 80s env={"STEAM_DIR": str(home_dir / ".steam_new")} 80s ) 80s 80s > command = command_mock.commands[-1] 80s E IndexError: list index out of range 80s 80s tests/cli/test_main.py:94: IndexError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_select_ste0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s _______________ TestCLIRun.test_run_winetricks_steam_runtime_v1 ________________ 80s 80s self = 80s cli = .func at 0x7bc91fd802c0> 80s steam_app_factory = .func at 0x7bc91fd80220> 80s steam_runtime_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_steam_runt0/home/fakeuser/.steam/root/ubuntu12_32') 80s default_proton = 80s command_mock = 80s home_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_steam_runt0/home/fakeuser') 80s 80s def test_run_winetricks_steam_runtime_v1( 80s self, cli, steam_app_factory, steam_runtime_dir, default_proton, 80s command_mock, home_dir): 80s """ 80s Perform a Protontricks command using the older Steam Runtime 80s bundled with Steam 80s """ 80s steam_app_factory(name="Fake game 1", appid=10) 80s 80s cli(["10", "winecfg"], env={"STEAM_RUNTIME": "1"}) 80s 80s wine_bin_dir = ( 80s home_dir / ".cache" / "protontricks" / "proton" / "Proton 4.20" 80s / "bin" 80s ) 80s 80s # winecfg was actually run 80s > command = command_mock.commands[-1] 80s E IndexError: list index out of range 80s 80s tests/cli/test_main.py:121: IndexError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_steam_runt0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s _______________ TestCLIRun.test_run_winetricks_steam_runtime_v2 ________________ 80s 80s self = 80s cli = .func at 0x7bc91fd80ea0> 80s home_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_steam_runt1/home/fakeuser') 80s steam_app_factory = .func at 0x7bc91fd811c0> 80s steam_runtime_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_steam_runt1/home/fakeuser/.steam/root/ubuntu12_32') 80s steam_runtime_soldier = 80s command_mock = 80s proton_factory = .func at 0x7bc91fd81260> 80s caplog = <_pytest.logging.LogCaptureFixture object at 0x7bc91fd6b6b0> 80s 80s def test_run_winetricks_steam_runtime_v2( 80s self, cli, home_dir, steam_app_factory, steam_runtime_dir, 80s steam_runtime_soldier, command_mock, proton_factory, caplog): 80s """ 80s Perform a Protontricks command using a newer Steam Runtime that is 80s installed as its own application 80s """ 80s proton_app = proton_factory( 80s name="Proton 5.13", appid=10, compat_tool_name="proton_513", 80s is_default_proton=True, required_tool_app=steam_runtime_soldier 80s ) 80s steam_app_factory(name="Fake game 1", appid=20) 80s 80s cli(["20", "winecfg"], env={"STEAM_RUNTIME": "1"}) 80s 80s wine_bin_dir = ( 80s home_dir / ".cache" / "protontricks" / "proton" / "Proton 5.13" 80s / "bin" 80s ) 80s 80s # Launcher process was launched to handle launching processes 80s # inside the sandbox 80s > assert command_mock.commands[0].args[0] \ 80s == str(wine_bin_dir / "bwrap-launcher") 80s E IndexError: list index out of range 80s 80s tests/cli/test_main.py:170: IndexError 80s ------------------------------ Captured log call ------------------------------- 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_steam_runt1/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s ___________ TestCLIRun.test_run_winetricks_steam_runtime_v2_no_bwrap ___________ 80s 80s self = 80s cli = .func at 0x7bc91fd81f80> 80s home_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_steam_runt2/home/fakeuser') 80s steam_app_factory = .func at 0x7bc91fd81e40> 80s steam_runtime_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_steam_runt2/home/fakeuser/.steam/root/ubuntu12_32') 80s steam_runtime_soldier = 80s command_mock = 80s proton_factory = .func at 0x7bc91fd81da0> 80s caplog = <_pytest.logging.LogCaptureFixture object at 0x7bc91fa05970> 80s 80s def test_run_winetricks_steam_runtime_v2_no_bwrap( 80s self, cli, home_dir, steam_app_factory, steam_runtime_dir, 80s steam_runtime_soldier, command_mock, proton_factory, caplog): 80s """ 80s Perform a Protontricks command using a newer Steam Runtime 80s *without* bwrap that is installed as its own application 80s """ 80s proton_app = proton_factory( 80s name="Proton 5.13", appid=10, compat_tool_name="proton_513", 80s is_default_proton=True, required_tool_app=steam_runtime_soldier 80s ) 80s steam_app_factory(name="Fake game 1", appid=20) 80s 80s cli(["--no-bwrap", "20", "winecfg"], env={"STEAM_RUNTIME": "1"}) 80s 80s wine_bin_dir = ( 80s home_dir / ".cache" / "protontricks" / "proton" / "Proton 5.13" 80s / "bin" 80s ) 80s 80s > command = command_mock.commands[-1] 80s E IndexError: list index out of range 80s 80s tests/cli/test_main.py:234: IndexError 80s ------------------------------ Captured log call ------------------------------- 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_steam_runt2/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s _________ TestCLIRun.test_run_background_wineserver_toggle[args3-True] _________ 80s 80s self = 80s cli = .func at 0x7bc91fd82f20> 80s steam_app_factory = .func at 0x7bc91fd82520> 80s default_new_proton = 80s command_mock = 80s args = ['--background-wineserver', '--no-bwrap', '-c', "'echo nothing'", '20'] 80s wineserver_launched = True 80s home_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_background_wineserver3/home/fakeuser') 80s 80s @pytest.mark.parametrize( 80s "args,wineserver_launched", 80s [ 80s # background wineserver disabled for bwrap by default 80s (["-c", "'echo nothing'", "20"], False), 80s 80s # background wineserver also disabled by default for everything 80s # else 80s (["--no-bwrap", "-c", "'echo nothing'", "20"], False), 80s 80s # Manually disable background wineserver 80s ( 80s ["--no-background-wineserver", "-c", "'echo nothing'", "20"], 80s False 80s ), 80s 80s # Manually enable background wineserver 80s ( 80s [ 80s "--background-wineserver", "--no-bwrap", 80s "-c", "'echo nothing'", "20" 80s ], 80s True 80s ) 80s ] 80s ) 80s def test_run_background_wineserver_toggle( 80s self, cli, steam_app_factory, default_new_proton, command_mock, 80s args, wineserver_launched, home_dir): 80s """ 80s Try running a Protontricks command with different arguments 80s and ensure background wineserver is (not) launched 80s depending on the scenario 80s """ 80s steam_app_factory(name="Fake game 1", appid=20) 80s 80s cli(args) 80s 80s wineserver_found = any( 80s True for command in command_mock.commands 80s if isinstance(command.args, str) 80s and command.args == str( 80s home_dir / ".cache/protontricks/proton/Proton 7.0/bin" 80s / "wineserver-keepalive" 80s ) 80s ) 80s 80s > assert wineserver_found == wineserver_launched 80s E assert False == True 80s 80s tests/cli/test_main.py:327: AssertionError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_background_wineserver3/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s ________________ TestCLIRun.test_run_winetricks_game_not_found _________________ 80s 80s self = 80s cli = .func at 0x7bc91fd82020> 80s steam_app_factory = .func at 0x7bc91fd839c0> 80s default_proton = 80s 80s def test_run_winetricks_game_not_found( 80s self, cli, steam_app_factory, default_proton): 80s """ 80s Try running a Protontricks command for a non-existing app 80s """ 80s result = cli(["100", "winecfg"], expect_returncode=1) 80s 80s > assert "Steam app with the given app ID could not be found" in result 80s E assert 'Steam app with the given app ID could not be found' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:336: AssertionError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_game_not_f0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s _____________________ TestCLIRun.test_run_steam_not_found ______________________ 80s 80s self = 80s cli = .func at 0x7bc91fa142c0> 80s steam_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_steam_not_found0/home/fakeuser/.steam/steam') 80s 80s def test_run_steam_not_found(self, cli, steam_dir): 80s """ 80s Try performing a command with a missing Steam directory 80s """ 80s shutil.rmtree(str(steam_dir)) 80s 80s result = cli(["10", "winecfg"], expect_returncode=1) 80s 80s > assert "Steam installation directory could not be found" in result 80s E assert 'Steam installation directory could not be found' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:363: AssertionError 80s ___________________ TestCLIRun.test_run_winetricks_not_found ___________________ 80s 80s self = 80s cli = .func at 0x7bc91fa14680> 80s default_proton = 80s home_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_not_found0/home/fakeuser') 80s steam_app_factory = .func at 0x7bc91fa14860> 80s 80s def test_run_winetricks_not_found( 80s self, cli, default_proton, home_dir, steam_app_factory): 80s """ 80s Try performing a command with missing Winetricks executable 80s """ 80s steam_app_factory(name="Fake game 1", appid=10) 80s (home_dir / ".local" / "bin" / "winetricks").unlink() 80s 80s result = cli(["10", "winecfg"], expect_returncode=1) 80s 80s > assert "Winetricks isn't installed" in result 80s E assert "Winetricks isn't installed" in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:375: AssertionError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_not_found0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s _________________ TestCLIRun.test_run_winetricks_from_desktop __________________ 80s 80s self = 80s cli = .func at 0x7bc91fd82c00> 80s default_proton = 80s home_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_from_deskt0/home/fakeuser') 80s steam_app_factory = .func at 0x7bc91fd83600> 80s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7bc91fa07aa0> 80s gui_provider = 80s 80s def test_run_winetricks_from_desktop( 80s self, cli, default_proton, home_dir, steam_app_factory, 80s monkeypatch, gui_provider): 80s """ 80s Try performing a command with missing Winetricks executable. 80s 80s Run command using --no-term and ensure error dialog is shown 80s with the expected error message 80s """ 80s steam_app_factory(name="Fake game 1", appid=10) 80s (home_dir / ".local" / "bin" / "winetricks").unlink() 80s 80s cli(["--no-term", "10", "winecfg"], expect_returncode=1) 80s 80s > assert gui_provider.args[0] == "yad" 80s E TypeError: 'NoneType' object is not subscriptable 80s 80s tests/cli/test_main.py:391: TypeError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_winetricks_from_deskt0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s _________________ TestCLIRun.test_run_steam_runtime_not_found __________________ 80s 80s self = 80s cli = .func at 0x7bc91fd82480> 80s steam_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_steam_runtime_not_fou0/home/fakeuser/.steam/steam') 80s steam_app_factory = .func at 0x7bc91fd827a0> 80s 80s def test_run_steam_runtime_not_found( 80s self, cli, steam_dir, steam_app_factory): 80s """ 80s Try performing a command with Steam Runtime enabled but no 80s available Steam Runtime installation 80s """ 80s steam_app_factory(name="Fake game 1", appid=10) 80s result = cli( 80s ["10", "winecfg"], env={"STEAM_RUNTIME": "invalid/path"}, 80s expect_returncode=1 80s ) 80s 80s > assert "Steam Runtime was enabled but couldn't be found" in result 80s E assert "Steam Runtime was enabled but couldn't be found" in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:426: AssertionError 80s _____________________ TestCLIRun.test_run_proton_not_found _____________________ 80s 80s self = 80s cli = .func at 0x7bc91fd820c0> 80s steam_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_proton_not_found0/home/fakeuser/.steam/steam') 80s steam_app_factory = .func at 0x7bc91fd81a80> 80s 80s def test_run_proton_not_found(self, cli, steam_dir, steam_app_factory): 80s steam_app_factory(name="Fake game 1", appid=10) 80s result = cli(["10", "winecfg"], expect_returncode=1) 80s 80s > assert "Proton installation could not be found" in result 80s E assert 'Proton installation could not be found' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:432: AssertionError 80s __________________ TestCLIRun.test_run_compat_tool_not_proton __________________ 80s 80s self = 80s cli = .func at 0x7bc91fd813a0> 80s steam_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_compat_tool_not_proto0/home/fakeuser/.steam/steam') 80s default_proton = 80s custom_proton_factory = .func at 0x7bc91fd80fe0> 80s steam_app_factory = .func at 0x7bc91fd81440> 80s caplog = <_pytest.logging.LogCaptureFixture object at 0x7bc91fd68f20> 80s 80s def test_run_compat_tool_not_proton( 80s self, cli, steam_dir, default_proton, custom_proton_factory, 80s steam_app_factory, caplog): 80s """ 80s Try performing a Protontricks command for a Steam app that 80s uses a compatibility tool that isn't Proton. 80s 80s Regression test for https://github.com/Matoking/protontricks/issues/113 80s """ 80s # Create a compatibility tool that isn't actually Proton 80s tool_app = custom_proton_factory(name="Not Proton") 80s (tool_app.install_path / "proton").unlink() 80s 80s steam_app_factory( 80s name="Fake game", appid=10, compat_tool_name="Not Proton" 80s ) 80s 80s result = cli(["10", "winecfg"], expect_returncode=1) 80s 80s > assert "Proton installation could not be found" in result 80s E assert 'Proton installation could not be found' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:453: AssertionError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_compat_tool_not_proto0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s ________________ TestCLIRun.test_run_command_proton_incomplete _________________ 80s 80s self = 80s cli = .func at 0x7bc91fdd2fc0> 80s steam_app_factory = .func at 0x7bc91fdd37e0> 80s default_proton = 80s 80s def test_run_command_proton_incomplete( 80s self, cli, steam_app_factory, default_proton): 80s """ 80s Try performing a Protontricks command using a Proton installation that 80s is incomplete because it hasn't been launched yet. 80s 80s Regression test for 80s https://github.com/flathub/com.github.Matoking.protontricks/issues/10 80s """ 80s # Remove the 'dist' directory to make the Proton installation 80s # incomplete 80s shutil.rmtree(str(default_proton.install_path / "dist")) 80s 80s steam_app_factory(name="Fake game", appid=10) 80s 80s result = cli(["10", "winecfg"], expect_returncode=1) 80s 80s > assert "Proton installation is incomplete" in result 80s E assert 'Proton installation is incomplete' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:478: AssertionError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_command_proton_incomp0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s ________________ TestCLIRun.test_run_command_runtime_incomplete ________________ 80s 80s self = 80s cli = .func at 0x7bc91fdd1a80> 80s steam_app_factory = .func at 0x7bc91fdd2b60> 80s steam_runtime_soldier = 80s proton_factory = .func at 0x7bc91fdd0720> 80s steam_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_command_runtime_incom0/home/fakeuser/.steam/steam') 80s 80s def test_run_command_runtime_incomplete( 80s self, cli, steam_app_factory, steam_runtime_soldier, 80s proton_factory, steam_dir): 80s """ 80s Try performing a Protontricks command using a Proton installation that 80s is still missing a Steam Runtime installation. 80s 80s Regression test for https://github.com/Matoking/protontricks/issues/75 80s """ 80s proton_factory( 80s name="Proton 5.13", appid=10, compat_tool_name="proton_513", 80s is_default_proton=True, required_tool_app=steam_runtime_soldier 80s ) 80s steam_app_factory(name="Fake game 1", appid=20) 80s 80s # Delete the Steam Runtime installation to simulate an incomplete 80s # Proton installation that's missing the required Steam Runtime 80s shutil.rmtree(str(steam_runtime_soldier.install_path)) 80s (steam_dir / "steamapps" / "appmanifest_1391110.acf").unlink() 80s 80s > with pytest.raises(RuntimeError) as exc: 80s E Failed: DID NOT RAISE 80s 80s tests/cli/test_main.py:500: Failed 80s ------------------------------ Captured log call ------------------------------- 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_command_runtime_incom0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s _____________________ TestCLIRun.test_old_flatpak_detected _____________________ 80s 80s self = 80s cli = .func at 0x7bc91fdd2ac0> 80s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7bc91fa904a0> 80s caplog = <_pytest.logging.LogCaptureFixture object at 0x7bc91fa90e60> 80s 80s def test_old_flatpak_detected(self, cli, monkeypatch, caplog): 80s """ 80s Try performing a Protontricks command when running inside an older 80s Flatpak environment and ensure bwrap is disabled. 80s """ 80s cli(["-s", "nothing"]) 80s 80s # No warning is printed since we're not running inside Flatpak 80s assert len([ 80s record for record in caplog.records 80s if record.levelname == "WARNING" 80s ]) == 0 80s 80s # Fake a Flatpak environment 80s monkeypatch.setattr( 80s "protontricks.cli.main.get_running_flatpak_version", 80s # Mock version 1.12.0. 1.12.1 is new enough to not require 80s # disabling bwrap. 80s lambda: (1, 12, 0) 80s ) 80s 80s cli(["-s", "nothing"]) 80s 80s > assert len([ 80s record for record in caplog.records 80s if record.levelname == "WARNING" 80s ]) == 1 80s E assert 0 == 1 80s E + where 0 = len([]) 80s 80s tests/cli/test_main.py:529: AssertionError 80s _____________________ TestCLIRun.test_new_flatpak_detected _____________________ 80s 80s self = 80s cli = .func at 0x7bc91fdd2de0> 80s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7bc91fa90b30> 80s caplog = <_pytest.logging.LogCaptureFixture object at 0x7bc91fa90ce0> 80s 80s def test_new_flatpak_detected(self, cli, monkeypatch, caplog): 80s """ 80s Try performing a Protontricks command when running inside a newer 80s Flatpak environment and ensure Flatpak is detected correctly. 80s """ 80s # Fake a newer Flatpak environment 80s monkeypatch.setattr( 80s "protontricks.cli.main.get_running_flatpak_version", 80s lambda: (1, 12, 1) 80s ) 80s 80s cli(["-s", "nothing"]) 80s 80s # Flatpak is new enough not to generate a warning. 80s assert len([ 80s record for record in caplog.records 80s if record.levelname == "WARNING" 80s ]) == 0 80s > assert any([ 80s record for record in caplog.records 80s if record.levelname == "INFO" 80s and "Running inside Flatpak sandbox, version 1.12.1" 80s in record.message 80s ]) 80s E assert False 80s E + where False = any([]) 80s 80s tests/cli/test_main.py:560: AssertionError 80s _____________ TestCLIRun.test_cli_error_handler_uncaught_exception _____________ 80s 80s self = 80s cli = .func at 0x7bc91fa14d60> 80s default_proton = 80s steam_app_factory = .func at 0x7bc91fa14e00> 80s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7bc91fa90140> 80s gui_provider = 80s 80s def test_cli_error_handler_uncaught_exception( 80s self, cli, default_proton, steam_app_factory, monkeypatch, 80s gui_provider): 80s """ 80s Ensure that 'cli_error_handler' correctly catches any uncaught 80s exception and includes a stack trace in the error dialog. 80s """ 80s def _mock_from_appmanifest(*args, **kwargs): 80s raise ValueError("Test appmanifest error") 80s 80s steam_app_factory(name="Fake game", appid=10) 80s 80s monkeypatch.setattr( 80s "protontricks.steam.SteamApp.from_appmanifest", 80s _mock_from_appmanifest 80s ) 80s 80s cli(["--no-term", "-s", "Fake"], expect_returncode=1) 80s 80s > assert gui_provider.args[0] == "yad" 80s E TypeError: 'NoneType' object is not subscriptable 80s 80s tests/cli/test_main.py:586: TypeError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_cli_error_handler_uncaugh1/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s ______________ TestCLIRun.test_run_filesystem_permission_missing _______________ 80s 80s self = 80s cli = .func at 0x7bc91fa15580> 80s steam_library_factory = .func at 0x7bc91fa151c0> 80s caplog = <_pytest.logging.LogCaptureFixture object at 0x7bc91fa93d40> 80s 80s @pytest.mark.usefixtures("flatpak_sandbox") 80s def test_run_filesystem_permission_missing( 80s self, cli, steam_library_factory, caplog): 80s """ 80s Try performing a command in a Flatpak sandbox where the user 80s hasn't provided adequate fileystem permissions. Ensure warning is 80s printed. 80s """ 80s path = steam_library_factory(name="GameDrive") 80s 80s cli(["-s", "fake"]) 80s 80s > record = next( 80s record for record in caplog.records 80s if "grant access to the required directories" in record.message 80s ) 80s E StopIteration 80s 80s tests/cli/test_main.py:605: StopIteration 80s 80s The above exception was the direct cause of the following exception: 80s 80s cls = 80s func = . at 0x7bc91fa15440> 80s when = 'call' 80s reraise = (, ) 80s 80s @classmethod 80s def from_call( 80s cls, 80s func: Callable[[], TResult], 80s when: Literal["collect", "setup", "call", "teardown"], 80s reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 80s ) -> CallInfo[TResult]: 80s """Call func, wrapping the result in a CallInfo. 80s 80s :param func: 80s The function to call. Called without arguments. 80s :type func: Callable[[], _pytest.runner.TResult] 80s :param when: 80s The phase in which the function is called. 80s :param reraise: 80s Exception or exceptions that shall propagate if raised by the 80s function, instead of being wrapped in the CallInfo. 80s """ 80s excinfo = None 80s start = timing.time() 80s precise_start = timing.perf_counter() 80s try: 80s > result: TResult | None = func() 80s 80s /usr/lib/python3/dist-packages/_pytest/runner.py:341: 80s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 80s /usr/lib/python3/dist-packages/_pytest/runner.py:242: in 80s lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise 80s /usr/lib/python3/dist-packages/pluggy/_hooks.py:513: in __call__ 80s return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 80s /usr/lib/python3/dist-packages/pluggy/_manager.py:120: in _hookexec 80s return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 80s /usr/lib/python3/dist-packages/_pytest/threadexception.py:92: in pytest_runtest_call 80s yield from thread_exception_runtest_hook() 80s /usr/lib/python3/dist-packages/_pytest/threadexception.py:68: in thread_exception_runtest_hook 80s yield 80s /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:95: in pytest_runtest_call 80s yield from unraisable_exception_runtest_hook() 80s /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:70: in unraisable_exception_runtest_hook 80s yield 80s /usr/lib/python3/dist-packages/_pytest/logging.py:846: in pytest_runtest_call 80s yield from self._runtest_for(item, "call") 80s /usr/lib/python3/dist-packages/_pytest/logging.py:829: in _runtest_for 80s yield 80s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 80s 80s self = > _state='suspended' _in_suspended=False> _capture_fixture=<_pytest.capture.CaptureFixture object at 0x7bc91fa8d730>> 80s item = 80s 80s @hookimpl(wrapper=True) 80s def pytest_runtest_call(self, item: Item) -> Generator[None]: 80s with self.item_capture("call", item): 80s > return (yield) 80s E RuntimeError: generator raised StopIteration 80s 80s /usr/lib/python3/dist-packages/_pytest/capture.py:880: RuntimeError 80s ______________________ TestCLIRun.test_run_bwrap_default _______________________ 80s 80s self = 80s cli = .func at 0x7bc91fdd1e40> 80s steam_app_factory = .func at 0x7bc91fdd1580> 80s steam_runtime_soldier = 80s proton_factory = .func at 0x7bc91fdd1d00> 80s command_mock = 80s caplog = <_pytest.logging.LogCaptureFixture object at 0x7bc91fa907d0> 80s 80s @pytest.mark.usefixtures("command_mock") 80s def test_run_bwrap_default( 80s self, cli, steam_app_factory, steam_runtime_soldier, 80s proton_factory, command_mock, caplog): 80s """ 80s Perform command_mock for two Proton apps, one using a Proton version 80s using the legacy Steam Runtime and another app using newer Steam 80s Runtime with bwrap. Ensure that the correct default for `use_bwrap` 80s is used in both cases. 80s 80s Regression test for #150 80s """ 80s proton_factory( 80s name="Old Proton", appid=123450, compat_tool_name="old_proton", 80s ) 80s proton_factory( 80s name="New Proton", appid=543210, compat_tool_name="new_proton", 80s required_tool_app=steam_runtime_soldier 80s ) 80s 80s steam_app_factory( 80s name="Fake game", appid=10, compat_tool_name="old_proton" 80s ) 80s steam_app_factory( 80s name="Fake game 2", appid=20, compat_tool_name="new_proton" 80s ) 80s 80s # bwrap is disabled for the old app by default 80s cli(["-v", "-c", "bash", "10"]) 80s > assert any( 80s filter(lambda msg: "Using 'bwrap = False'" in msg, caplog.messages) 80s ) 80s E assert False 80s E + where False = any() 80s E + where = filter(. at 0x7bc91fdd0cc0>, []) 80s E + where [] = <_pytest.logging.LogCaptureFixture object at 0x7bc91fa907d0>.messages 80s 80s tests/cli/test_main.py:641: AssertionError 80s ------------------------------ Captured log call ------------------------------- 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_bwrap_default0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_bwrap_default0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s __________________ TestCLIRun.test_select_steam_installation ___________________ 80s 80s self = 80s cli = .func at 0x7bc91fdd0ae0> 80s steam_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_select_steam_installation0/home/fakeuser/.steam/steam') 80s flatpak_steam_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_select_steam_installation0/home/fakeuser/.var/app/com.valvesoftware.Steam/data/Steam') 80s steam_app_factory = .func at 0x7bc91fdd1a80> 80s proton_factory = .func at 0x7bc91fdd1300> 80s gui_provider = 80s 80s @pytest.mark.usefixtures("flatpak_sandbox") 80s def test_select_steam_installation( 80s self, cli, steam_dir, flatpak_steam_dir, steam_app_factory, 80s proton_factory, gui_provider): 80s """ 80s Test that the user is prompted to select the Steam installation, 80s and that the correct Steam installation is used in both cases 80s """ 80s # Only the Flatpak installation has an app 80s steam_app_factory( 80s name="Native Steam app", appid=10 80s ) 80s 80s proton_factory( 80s name="Flatpak Proton", appid=123450, 80s compat_tool_name="flatpak_proton" 80s ) 80s steam_app_factory( 80s name="Flatpak Steam app", appid=10, 80s compat_tool_name="flatpak_proton", 80s library_dir=flatpak_steam_dir, 80s ) 80s 80s # Mock the user choosing the Flatpak installation. 80s # Only the index is actually checked in the actual function. 80s gui_provider.mock_stdout = "1: Native - /home/fake/.steam" 80s 80s result = cli(["-s", "app"]) 80s 80s > assert "Native Steam app (10)" in result 80s E assert 'Native Steam app (10)' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:682: AssertionError 80s ------------------------------ Captured log call ------------------------------- 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_select_steam_installation0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s _______________ TestCLIRun.test_steam_installation_not_selected ________________ 80s 80s self = 80s cli = .func at 0x7bc91fd81c60> 80s gui_provider = 80s 80s @pytest.mark.usefixtures( 80s "flatpak_sandbox", "steam_dir", "flatpak_steam_dir" 80s ) 80s def test_steam_installation_not_selected(self, cli, gui_provider): 80s """ 80s Test that not selecting a Steam installation results in the correct 80s exit message 80s """ 80s # Mock the user choosing the Flatpak installation. 80s # Only the index is actually checked in the actual function. 80s gui_provider.mock_stdout = "" 80s gui_provider.mock_returncode = 1 80s 80s result = cli(["-s", "app"], expect_returncode=1) 80s 80s > assert "No Steam installation was selected" in result 80s E assert 'No Steam installation was selected' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:708: AssertionError 80s _______________________ TestCLICommand.test_run_command ________________________ 80s 80s self = 80s cli = .func at 0x7bc91fd81440> 80s default_proton = 80s steam_app_factory = .func at 0x7bc91fd827a0> 80s gui_provider = 80s command_mock = 80s home_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_run_command0/home/fakeuser') 80s 80s def test_run_command( 80s self, cli, default_proton, steam_app_factory, gui_provider, 80s command_mock, home_dir): 80s """ 80s Run a shell command for a given game 80s """ 80s steam_app = steam_app_factory(name="Fake game", appid=10) 80s proton_install_path = default_proton.install_path 80s 80s cli(["-c", "bash", "10"]) 80s 80s > command = command_mock.commands[-1] 80s E IndexError: list index out of range 80s 80s tests/cli/test_main.py:805: IndexError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_command0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s ___________________ TestCLICommand.test_run_command_cwd_app ____________________ 80s 80s self = 80s cli = .func at 0x7bc91fd81580> 80s steam_app_factory = .func at 0x7bc91fd811c0> 80s command_mock = 80s 80s @pytest.mark.usefixtures("default_proton") 80s def test_run_command_cwd_app(self, cli, steam_app_factory, command_mock): 80s """ 80s Run a shell command for a given game using `--cwd-app` flag and 80s ensure the working directory was set to the game's installation 80s directory 80s """ 80s steam_app = steam_app_factory(name="Fake game", appid=10) 80s 80s cli(["--cwd-app", "-c", "bash", "10"]) 80s 80s > command = command_mock.commands[-1] 80s E IndexError: list index out of range 80s 80s tests/cli/test_main.py:839: IndexError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_run_command_cwd_app0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s __________________ TestCLISearch.test_search_case_insensitive __________________ 80s 80s self = 80s cli = .func at 0x7bc91fd80ae0> 80s steam_app_factory = .func at 0x7bc91fd83e20> 80s 80s def test_search_case_insensitive(self, cli, steam_app_factory): 80s """ 80s Do a case-insensitive search 80s """ 80s steam_app_factory(name="FaKe GaMe 1", appid=10) 80s steam_app_factory(name="FAKE GAME 2", appid=20) 80s 80s # Search is case-insensitive 80s stdout = cli(["-s", "game"]) 80s 80s > assert "FaKe GaMe 1 (10)" in stdout 80s E assert 'FaKe GaMe 1 (10)' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:856: AssertionError 80s _________________ TestCLISearch.test_search_pfx_lock_required __________________ 80s 80s self = 80s cli = .func at 0x7bc91fa14ae0> 80s steam_app_factory = .func at 0x7bc91fa16020> 80s 80s def test_search_pfx_lock_required(self, cli, steam_app_factory): 80s """ 80s Do a search for a game that doesn't have a complete prefix yet 80s """ 80s steam_app = steam_app_factory(name="Fake game", appid=10) 80s 80s # Delete the pfx.lock file that signifies that the game has been 80s # launched at least once. Protontricks requires that this file 80s # exists 80s (Path(steam_app.prefix_path).parent / "pfx.lock").unlink() 80s 80s stdout = cli(["-s", "game"]) 80s 80s > assert "Found no games" in stdout 80s E assert 'Found no games' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:872: AssertionError 80s _________________ TestCLISearch.test_search_multiple_keywords __________________ 80s 80s self = 80s cli = .func at 0x7bc91fd81940> 80s steam_app_factory = .func at 0x7bc91fd83c40> 80s 80s def test_search_multiple_keywords(self, cli, steam_app_factory): 80s """ 80s Do a search for games with multiple subsequent words from the entire 80s name 80s """ 80s steam_app_factory(name="Apple banana cinnamon", appid=10) 80s steam_app_factory(name="Apple banana", appid=20) 80s 80s stdout = cli(["-s", "apple", "banana"]) 80s 80s # First game is found, second is not 80s > assert "Apple banana cinnamon (10)" in stdout 80s E assert 'Apple banana cinnamon (10)' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:886: AssertionError 80s __________________ TestCLISearch.test_search_strip_non_ascii ___________________ 80s 80s self = 80s cli = .func at 0x7bc91fd807c0> 80s steam_app_factory = .func at 0x7bc91fd809a0> 80s 80s def test_search_strip_non_ascii(self, cli, steam_app_factory): 80s """ 80s Do a search for a game with various symbols that are ignored 80s when doing the search 80s """ 80s steam_app_factory( 80s name="Frog™ Simulator®: Year of the 🐸 Edition", appid=10 80s ) 80s 80s # Non-ASCII symbols are not checked for when doing the search 80s stdout = cli([ 80s "-s", "frog", "simulator", "year", "of", "the", "edition" 80s ]) 80s 80s > assert "Frog™ Simulator®: Year of the 🐸 Edition (10)" in stdout 80s E assert 'Frog™ Simulator®: Year of the 🐸 Edition (10)' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:909: AssertionError 80s ______________ TestCLISearch.test_search_multiple_library_folders ______________ 80s 80s self = 80s cli = .func at 0x7bc91fd839c0> 80s steam_app_factory = .func at 0x7bc91fd81620> 80s steam_library_factory = .func at 0x7bc91fd80220> 80s 80s def test_search_multiple_library_folders( 80s self, cli, steam_app_factory, steam_library_factory): 80s """ 80s Create three games in three different locations and ensure 80s all are found when searched for 80s """ 80s library_dir_a = steam_library_factory("LibraryA") 80s library_dir_b = steam_library_factory("LibraryB") 80s 80s steam_app_factory(name="Fake game 1", appid=10) 80s steam_app_factory( 80s name="Fake game 2", appid=20, library_dir=library_dir_a 80s ) 80s steam_app_factory( 80s name="Fake game 3", appid=30, library_dir=library_dir_b 80s ) 80s 80s # All three games should be found automatically 80s result = cli(["-s", "game"]) 80s 80s > assert "Fake game 1" in result 80s E assert 'Fake game 1' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:931: AssertionError 80s ______________________ TestCLISearch.test_search_shortcut ______________________ 80s 80s self = 80s cli = .func at 0x7bc91fd81e40> 80s shortcut_factory = .func at 0x7bc91fd823e0> 80s 80s def test_search_shortcut( 80s self, cli, shortcut_factory): 80s """ 80s Create two non-Steam shortcut and ensure they can be found 80s """ 80s shortcut_factory(install_dir="fake/path/", name="fakegame.exe") 80s shortcut_factory(install_dir="fake/path2/", name="fakegame.exe") 80s 80s result = cli(["-v", "-s", "steam"]) 80s 80s > assert "Non-Steam shortcut: fakegame.exe (4149337689)" in result 80s E assert 'Non-Steam shortcut: fakegame.exe (4149337689)' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:945: AssertionError 80s _______________________ TestCLISearch.test_list_all_apps _______________________ 80s 80s self = 80s cli = .func at 0x7bc91fdd3880> 80s steam_app_factory = .func at 0x7bc91fdd3560> 80s 80s def test_list_all_apps(self, cli, steam_app_factory): 80s """ 80s List all apps using `-l` CLI flag 80s """ 80s steam_app_factory(name="Game number one", appid=10) 80s steam_app_factory(name="Fake game", appid=20) 80s 80s result = cli(["-l"]) 80s 80s > assert "Game number one" in result 80s E assert 'Game number one' in "Only one action can be performed at a time.\nusage: __main__.py [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]]...d command to the Steam app's installation directory.\n -V, --version show program's version number and exit\n" 80s 80s tests/cli/test_main.py:957: AssertionError 80s ___________________ test_cli_enable_logging[-v-log_levels1] ____________________ 80s 80s cli = .func at 0x7bc91fdd3ce0>, parameter = '-v' 80s log_levels = ['INFO'] 80s 80s @pytest.mark.parametrize( 80s "parameter,log_levels", 80s [ 80s (None, []), 80s ("-v", ["INFO"]), 80s ("-vv", ["INFO", "DEBUG"]) 80s ] 80s ) 80s def test_cli_enable_logging(cli, parameter, log_levels): 80s """ 80s Run the CLI interface with different logging levels and ensure 80s that log messages with corresponding log levels are printed 80s """ 80s if parameter: 80s _, stderr = cli( 80s [parameter, "-s", "nothing"], 80s expect_returncode=1, # We don't care whether the command succeeds 80s include_stderr=True 80s ) 80s 80s for log_level in log_levels: 80s > assert log_level in stderr 80s E AssertionError: assert 'INFO' in '' 80s 80s tests/cli/test_main.py:999: AssertionError 80s ___________________ test_cli_enable_logging[-vv-log_levels2] ___________________ 80s 80s cli = .func at 0x7bc91fdd0720>, parameter = '-vv' 80s log_levels = ['INFO', 'DEBUG'] 80s 80s @pytest.mark.parametrize( 80s "parameter,log_levels", 80s [ 80s (None, []), 80s ("-v", ["INFO"]), 80s ("-vv", ["INFO", "DEBUG"]) 80s ] 80s ) 80s def test_cli_enable_logging(cli, parameter, log_levels): 80s """ 80s Run the CLI interface with different logging levels and ensure 80s that log messages with corresponding log levels are printed 80s """ 80s if parameter: 80s _, stderr = cli( 80s [parameter, "-s", "nothing"], 80s expect_returncode=1, # We don't care whether the command succeeds 80s include_stderr=True 80s ) 80s 80s for log_level in log_levels: 80s > assert log_level in stderr 80s E AssertionError: assert 'INFO' in '' 80s 80s tests/cli/test_main.py:999: AssertionError 80s __________________ test_cli_error_handler_uncaught_exception ___________________ 80s 80s cli = .func at 0x7bc91fdd2200> 80s default_proton = 80s steam_app_factory = .func at 0x7bc91fdd0040> 80s broken_appmanifest = None 80s gui_provider = 80s 80s def test_cli_error_handler_uncaught_exception( 80s cli, default_proton, steam_app_factory, broken_appmanifest, 80s gui_provider): 80s """ 80s Ensure that 'cli_error_handler' correctly catches any uncaught 80s exception and includes a stack trace in the error dialog. 80s """ 80s steam_app_factory(name="Fake game", appid=10) 80s 80s cli(["--no-term", "-s", "Fake"], expect_returncode=1) 80s 80s > assert gui_provider.args[0] == "yad" 80s E TypeError: 'NoneType' object is not subscriptable 80s 80s tests/cli/test_util.py:47: TypeError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_cli_error_handler_uncaugh2/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s _________________ test_cli_error_handler_gui_provider_env[yad] _________________ 80s 80s cli = .func at 0x7bc91fa15580> 80s default_proton = 80s steam_app_factory = .func at 0x7bc91fa156c0> 80s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7bc91fda9fd0> 80s broken_appmanifest = None 80s gui_provider = 80s gui_cmd = 'yad' 80s 80s @pytest.mark.parametrize("gui_cmd", ["yad", "zenity"]) 80s def test_cli_error_handler_gui_provider_env( 80s cli, default_proton, steam_app_factory, monkeypatch, 80s broken_appmanifest, gui_provider, gui_cmd): 80s """ 80s Ensure that correct GUI provider is used depending on 'PROTONTRICKS_GUI' 80s environment variable 80s """ 80s monkeypatch.setenv("PROTONTRICKS_GUI", gui_cmd) 80s 80s steam_app_factory(name="Fake game", appid=10) 80s 80s cli(["--no-term", "-s", "Fake"], expect_returncode=1) 80s 80s > message = gui_provider.kwargs["input"] 80s E TypeError: 'NoneType' object is not subscriptable 80s 80s tests/cli/test_util.py:70: TypeError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_cli_error_handler_gui_pro0/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s _______________ test_cli_error_handler_gui_provider_env[zenity] ________________ 80s 80s cli = .func at 0x7bc91fa15bc0> 80s default_proton = 80s steam_app_factory = .func at 0x7bc91fa14fe0> 80s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7bc91fa93d40> 80s broken_appmanifest = None 80s gui_provider = 80s gui_cmd = 'zenity' 80s 80s @pytest.mark.parametrize("gui_cmd", ["yad", "zenity"]) 80s def test_cli_error_handler_gui_provider_env( 80s cli, default_proton, steam_app_factory, monkeypatch, 80s broken_appmanifest, gui_provider, gui_cmd): 80s """ 80s Ensure that correct GUI provider is used depending on 'PROTONTRICKS_GUI' 80s environment variable 80s """ 80s monkeypatch.setenv("PROTONTRICKS_GUI", gui_cmd) 80s 80s steam_app_factory(name="Fake game", appid=10) 80s 80s cli(["--no-term", "-s", "Fake"], expect_returncode=1) 80s 80s > message = gui_provider.kwargs["input"] 80s E TypeError: 'NoneType' object is not subscriptable 80s 80s tests/cli/test_util.py:70: TypeError 80s ------------------------------ Captured log setup ------------------------------ 80s DEBUG protontricks:steam.py:586 Loading appinfo.vdf in /tmp/pytest-of-ubuntu/pytest-0/test_cli_error_handler_gui_pro1/home/fakeuser/.steam/steam/appcache/appinfo.vdf 80s DEBUG protontricks:steam.py:603 appinfo.vdf has magic number b'(DV\x07' 80s ____________________________ test_log_file_cleanup _____________________________ 80s 80s cli = .func at 0x7bc91fa15e40> 80s steam_app_factory = .func at 0x7bc91fa15300> 80s gui_provider = 80s 80s def test_log_file_cleanup(cli, steam_app_factory, gui_provider): 80s """ 80s Ensure that log file contains the log files generated during the 80s CLI call and that it is cleared after running `_delete_log_file` 80s """ 80s steam_app_factory(name="Fake game", appid=10) 80s cli(["--no-term", "-s", "Fake"]) 80s 80s > assert "Found Steam directory" in _get_log_file_path().read_text() 80s 80s tests/cli/test_util.py:113: 80s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 80s /usr/lib/python3.12/pathlib.py:1029: in read_text 80s with self.open(mode='r', encoding=encoding, errors=errors) as f: 80s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 80s 80s self = PosixPath('/tmp/protontricks3198.log'), mode = 'r', buffering = -1 80s encoding = 'locale', errors = None, newline = None 80s 80s def open(self, mode='r', buffering=-1, encoding=None, 80s errors=None, newline=None): 80s """ 80s Open the file pointed to by this path and return a file object, as 80s the built-in open() function does. 80s """ 80s if "b" not in mode: 80s encoding = io.text_encoding(encoding) 80s > return io.open(self, mode, buffering, encoding, errors, newline) 80s E FileNotFoundError: [Errno 2] No such file or directory: '/tmp/protontricks3198.log' 80s 80s /usr/lib/python3.12/pathlib.py:1015: FileNotFoundError 80s =============================== warnings summary =============================== 80s ../../../../usr/lib/python3/dist-packages/protontricks/util.py:11 80s /usr/lib/python3/dist-packages/protontricks/util.py:11: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html 80s import pkg_resources 80s 80s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 80s =========================== short test summary info ============================ 80s FAILED tests/cli/test_launch.py::TestCLIRun::test_run_executable - IndexError... 80s FAILED tests/cli/test_launch.py::TestCLIRun::test_run_executable_appid - Inde... 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_winetricks - IndexError: ... 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_winetricks_shortcut - Ind... 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_winetricks_select_proton 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_winetricks_select_steam 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_winetricks_steam_runtime_v1 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_winetricks_steam_runtime_v2 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_winetricks_steam_runtime_v2_no_bwrap 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_background_wineserver_toggle[args3-True] 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_winetricks_game_not_found 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_steam_not_found - assert ... 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_winetricks_not_found - as... 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_winetricks_from_desktop 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_steam_runtime_not_found 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_proton_not_found - assert... 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_compat_tool_not_proton - ... 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_command_proton_incomplete 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_command_runtime_incomplete 80s FAILED tests/cli/test_main.py::TestCLIRun::test_old_flatpak_detected - assert... 80s FAILED tests/cli/test_main.py::TestCLIRun::test_new_flatpak_detected - assert... 80s FAILED tests/cli/test_main.py::TestCLIRun::test_cli_error_handler_uncaught_exception 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_filesystem_permission_missing 80s FAILED tests/cli/test_main.py::TestCLIRun::test_run_bwrap_default - assert False 80s FAILED tests/cli/test_main.py::TestCLIRun::test_select_steam_installation - a... 80s FAILED tests/cli/test_main.py::TestCLIRun::test_steam_installation_not_selected 80s FAILED tests/cli/test_main.py::TestCLICommand::test_run_command - IndexError:... 80s FAILED tests/cli/test_main.py::TestCLICommand::test_run_command_cwd_app - Ind... 80s FAILED tests/cli/test_main.py::TestCLISearch::test_search_case_insensitive - ... 80s FAILED tests/cli/test_main.py::TestCLISearch::test_search_pfx_lock_required 80s FAILED tests/cli/test_main.py::TestCLISearch::test_search_multiple_keywords 80s FAILED tests/cli/test_main.py::TestCLISearch::test_search_strip_non_ascii - a... 80s FAILED tests/cli/test_main.py::TestCLISearch::test_search_multiple_library_folders 80s FAILED tests/cli/test_main.py::TestCLISearch::test_search_shortcut - assert '... 80s FAILED tests/cli/test_main.py::TestCLISearch::test_list_all_apps - assert 'Ga... 80s FAILED tests/cli/test_main.py::test_cli_enable_logging[-v-log_levels1] - Asse... 80s FAILED tests/cli/test_main.py::test_cli_enable_logging[-vv-log_levels2] - Ass... 80s FAILED tests/cli/test_util.py::test_cli_error_handler_uncaught_exception - Ty... 80s FAILED tests/cli/test_util.py::test_cli_error_handler_gui_provider_env[yad] 80s FAILED tests/cli/test_util.py::test_cli_error_handler_gui_provider_env[zenity] 80s FAILED tests/cli/test_util.py::test_log_file_cleanup - FileNotFoundError: [Er... 80s ================== 41 failed, 110 passed, 1 warning in 1.78s =================== 80s autopkgtest [04:17:52]: test pytest: -----------------------] 80s pytest FAIL non-zero exit status 1 80s autopkgtest [04:17:52]: test pytest: - - - - - - - - - - results - - - - - - - - - - 81s autopkgtest [04:17:53]: @@@@@@@@@@@@@@@@@@@@ summary 81s pytest FAIL non-zero exit status 1 97s nova [W] Skipping flock for amd64 97s Creating nova instance adt-plucky-amd64-protontricks-20250219-041632-juju-7f2275-prod-proposed-migration-environment-2-2e6ffc1e-9a1f-4fc2-8f38-299fffc315dc from image adt/ubuntu-plucky-amd64-server-20250218.img (UUID 0c5f6311-785d-4524-a0d8-db541aaf5c09)... 97s nova [W] Timed out waiting for 71ee04e6-799c-4a15-97fc-cb2bee2520c6 to get deleted.