==> Building on fennekin ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/python-pytest-twisted ./ .SRCINFO 589 100% 0.00kB/s 0:00:00 589 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 109 100% 106.45kB/s 0:00:00 109 100% 106.45kB/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 1,004 100% 980.47kB/s 0:00:00 1,004 100% 980.47kB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375 100% 366.21kB/s 0:00:00 375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9) python-pytest-twisted-1.14.3-3.log 744 100% 726.56kB/s 0:00:00 744 100% 726.56kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 2,426 bytes received 197 bytes 1,748.67 bytes/sec total size is 2,928 speedup is 1.12 ==> Running pkgctl build --arch riscv64 on remote host... ==> WARNING: invalid architecture: riscv64 ==> Updating pacman database cache [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==> Building python-pytest-twisted  -> repo: extra  -> arch: riscv64  -> worker: felix-2 ==> Building python-pytest-twisted for [extra] (riscv64) ==> Locking clean chroot...done ]3008;start=0fd4787e50514de18c326e279ae451a4;user=root;hostname=fennekin.felixc.at;machineid=79a476f5cd3049948d5a4827e1a6fa58;bootid=d56e18540d634d2fa12f03b5b461350d;pid=1199338;pidfdid=1199339;comm=systemd-nspawn;container=arch-nspawn-1199338;type=container\]11;?\]2;🔵 Container arch-nspawn-1199338 on fennekin.felixc.at\[?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... resolving dependencies... looking for conflicting packages... Package (1) Old Version New Version Net Change Download Size core/gnupg 2.4.8-1 2.4.9-1 0.19 MiB 2.95 MiB Total Download Size: 2.95 MiB Total Installed Size: 10.00 MiB Net Upgrade Size: 0.19 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... gnupg-2.4.9-1-riscv64 downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... upgrading gnupg... :: Running post-transaction hooks... (1/5) Reloading system manager configuration... Skipped: Current root is not booted. (2/5) Reloading user manager configuration... Skipped: Current root is not booted. (3/5) Restarting marked services... Skipped: Current root is not booted. (4/5) Arming ConditionNeedsUpdate... (5/5) Updating the info directory file... [?25h[!p]104[?7h]3008;end=0fd4787e50514de18c326e279ae451a4\==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-2]...done ==> Making package: python-pytest-twisted 1.14.3-3 (Tue Feb 10 09:52:40 2026) ==> Retrieving sources...  -> Cloning pytest-twisted git repo... Cloning into bare repository '/home/felix/packages/python-pytest-twisted/pytest-twisted'... remote: Enumerating objects: 2773, done. remote: Counting objects: 0% (1/145) remote: Counting objects: 1% (2/145) remote: Counting objects: 2% (3/145) remote: Counting objects: 3% (5/145) remote: Counting objects: 4% (6/145) remote: Counting objects: 5% (8/145) remote: Counting objects: 6% (9/145) remote: Counting objects: 7% (11/145) remote: Counting objects: 8% (12/145) remote: Counting objects: 9% (14/145) remote: Counting objects: 10% (15/145) remote: Counting objects: 11% (16/145) remote: Counting objects: 12% (18/145) remote: Counting objects: 13% (19/145) remote: Counting objects: 14% (21/145) remote: Counting objects: 15% (22/145) remote: Counting objects: 16% (24/145) remote: Counting objects: 17% (25/145) remote: Counting objects: 18% (27/145) remote: Counting objects: 19% (28/145) remote: Counting objects: 20% (29/145) remote: Counting objects: 21% (31/145) remote: Counting objects: 22% (32/145) remote: Counting objects: 23% (34/145) remote: Counting objects: 24% (35/145) remote: Counting objects: 25% (37/145) remote: Counting objects: 26% (38/145) remote: Counting objects: 27% (40/145) remote: Counting objects: 28% (41/145) remote: Counting objects: 29% (43/145) remote: Counting objects: 30% (44/145) remote: Counting objects: 31% (45/145) remote: Counting objects: 32% (47/145) remote: Counting objects: 33% (48/145) remote: Counting objects: 34% (50/145) remote: Counting objects: 35% (51/145) remote: Counting objects: 36% (53/145) remote: Counting objects: 37% (54/145) remote: Counting objects: 38% (56/145) remote: Counting objects: 39% (57/145) remote: Counting objects: 40% (58/145) remote: Counting objects: 41% (60/145) remote: Counting objects: 42% (61/145) remote: Counting objects: 43% (63/145) remote: Counting objects: 44% (64/145) remote: Counting objects: 45% (66/145) remote: Counting objects: 46% (67/145) remote: Counting objects: 47% (69/145) remote: Counting objects: 48% (70/145) remote: Counting objects: 49% (72/145) remote: Counting objects: 50% (73/145) remote: Counting objects: 51% (74/145) remote: Counting objects: 52% (76/145) remote: Counting objects: 53% (77/145) remote: Counting objects: 54% (79/145) remote: Counting objects: 55% (80/145) remote: Counting objects: 56% (82/145) remote: Counting objects: 57% (83/145) remote: Counting objects: 58% (85/145) remote: Counting objects: 59% (86/145) remote: Counting objects: 60% (87/145) remote: Counting objects: 61% (89/145) remote: Counting objects: 62% (90/145) remote: Counting objects: 63% (92/145) remote: Counting objects: 64% (93/145) remote: Counting objects: 65% (95/145) remote: Counting objects: 66% (96/145) remote: Counting objects: 67% (98/145) remote: Counting objects: 68% (99/145) remote: Counting objects: 69% (101/145) remote: Counting objects: 70% (102/145) remote: Counting objects: 71% (103/145) remote: Counting objects: 72% (105/145) remote: Counting objects: 73% (106/145) remote: Counting objects: 74% (108/145) remote: Counting objects: 75% (109/145) remote: Counting objects: 76% (111/145) remote: Counting objects: 77% (112/145) remote: Counting objects: 78% (114/145) remote: Counting objects: 79% (115/145) remote: Counting objects: 80% (116/145) remote: Counting objects: 81% (118/145) remote: Counting objects: 82% (119/145) remote: Counting objects: 83% (121/145) remote: Counting objects: 84% (122/145) remote: Counting objects: 85% (124/145) remote: Counting objects: 86% (125/145) remote: Counting objects: 87% (127/145) remote: Counting objects: 88% (128/145) remote: Counting objects: 89% (130/145) remote: Counting objects: 90% (131/145) remote: Counting objects: 91% (132/145) remote: Counting objects: 92% (134/145) remote: Counting objects: 93% (135/145) remote: Counting objects: 94% (137/145) remote: Counting objects: 95% (138/145) remote: Counting objects: 96% (140/145) remote: Counting objects: 97% (141/145) remote: Counting objects: 98% (143/145) remote: Counting objects: 99% (144/145) remote: Counting objects: 100% (145/145) remote: Counting objects: 100% (145/145), done. remote: Compressing objects: 1% (1/95) remote: Compressing objects: 2% (2/95) remote: Compressing objects: 3% (3/95) remote: Compressing objects: 4% (4/95) remote: Compressing objects: 5% (5/95) remote: Compressing objects: 6% (6/95) remote: Compressing objects: 7% (7/95) remote: Compressing objects: 8% (8/95) remote: Compressing objects: 9% (9/95) remote: Compressing objects: 10% (10/95) remote: Compressing objects: 11% (11/95) remote: Compressing objects: 12% (12/95) remote: Compressing objects: 13% (13/95) remote: Compressing objects: 14% (14/95) remote: Compressing objects: 15% (15/95) remote: Compressing objects: 16% (16/95) remote: Compressing objects: 17% (17/95) remote: Compressing objects: 18% (18/95) remote: Compressing objects: 20% (19/95) remote: Compressing objects: 21% (20/95) remote: Compressing objects: 22% (21/95) remote: Compressing objects: 23% (22/95) remote: Compressing objects: 24% (23/95) remote: Compressing objects: 25% (24/95) remote: Compressing objects: 26% (25/95) remote: Compressing objects: 27% (26/95) remote: Compressing objects: 28% (27/95) remote: Compressing objects: 29% (28/95) remote: Compressing objects: 30% (29/95) remote: Compressing objects: 31% (30/95) remote: Compressing objects: 32% (31/95) remote: Compressing objects: 33% (32/95) remote: Compressing objects: 34% (33/95) remote: Compressing objects: 35% (34/95) remote: Compressing objects: 36% (35/95) remote: Compressing objects: 37% (36/95) remote: Compressing objects: 38% (37/95) remote: Compressing objects: 40% (38/95) remote: Compressing objects: 41% (39/95) remote: Compressing objects: 42% (40/95) remote: Compressing objects: 43% (41/95) remote: Compressing objects: 44% (42/95) remote: Compressing objects: 45% (43/95) remote: Compressing objects: 46% (44/95) remote: Compressing objects: 47% (45/95) remote: Compressing objects: 48% (46/95) remote: Compressing objects: 49% (47/95) remote: Compressing objects: 50% (48/95) remote: Compressing objects: 51% (49/95) remote: Compressing objects: 52% (50/95) remote: Compressing objects: 53% (51/95) remote: Compressing objects: 54% (52/95) remote: Compressing objects: 55% (53/95) remote: Compressing objects: 56% (54/95) remote: Compressing objects: 57% (55/95) remote: Compressing objects: 58% (56/95) remote: Compressing objects: 60% (57/95) remote: Compressing objects: 61% (58/95) remote: Compressing objects: 62% (59/95) remote: Compressing objects: 63% (60/95) remote: Compressing objects: 64% (61/95) remote: Compressing objects: 65% (62/95) remote: Compressing objects: 66% (63/95) remote: Compressing objects: 67% (64/95) remote: Compressing objects: 68% (65/95) remote: Compressing objects: 69% (66/95) remote: Compressing objects: 70% (67/95) remote: Compressing objects: 71% (68/95) remote: Compressing objects: 72% (69/95) remote: Compressing objects: 73% (70/95) remote: Compressing objects: 74% (71/95) remote: Compressing objects: 75% (72/95) remote: Compressing objects: 76% (73/95) remote: Compressing objects: 77% (74/95) remote: Compressing objects: 78% (75/95) remote: Compressing objects: 80% (76/95) remote: Compressing objects: 81% (77/95) remote: Compressing objects: 82% (78/95) remote: Compressing objects: 83% (79/95) remote: Compressing objects: 84% (80/95) remote: Compressing objects: 85% (81/95) remote: Compressing objects: 86% (82/95) remote: Compressing objects: 87% (83/95) remote: Compressing objects: 88% (84/95) remote: Compressing objects: 89% (85/95) remote: Compressing objects: 90% (86/95) remote: Compressing objects: 91% (87/95) remote: Compressing objects: 92% (88/95) remote: Compressing objects: 93% (89/95) remote: Compressing objects: 94% (90/95) remote: Compressing objects: 95% (91/95) remote: Compressing objects: 96% (92/95) remote: Compressing objects: 97% (93/95) remote: Compressing objects: 98% (94/95) remote: Compressing objects: 100% (95/95) remote: Compressing objects: 100% (95/95), done. Receiving objects: 0% (1/2773) Receiving objects: 1% (28/2773) Receiving objects: 2% (56/2773) Receiving objects: 3% (84/2773) Receiving objects: 4% (111/2773) Receiving objects: 5% (139/2773) Receiving objects: 6% (167/2773) Receiving objects: 7% (195/2773) Receiving objects: 8% (222/2773) Receiving objects: 9% (250/2773) Receiving objects: 10% (278/2773) Receiving objects: 11% (306/2773) Receiving objects: 12% (333/2773) Receiving objects: 13% (361/2773) Receiving objects: 14% (389/2773) Receiving objects: 15% (416/2773) Receiving objects: 16% (444/2773) Receiving objects: 17% (472/2773) Receiving objects: 18% (500/2773) Receiving objects: 19% (527/2773) Receiving objects: 20% (555/2773) Receiving objects: 21% (583/2773) Receiving objects: 22% (611/2773) Receiving objects: 23% (638/2773) Receiving objects: 24% (666/2773) Receiving objects: 25% (694/2773) Receiving objects: 26% (721/2773) Receiving objects: 27% (749/2773) Receiving objects: 28% (777/2773) Receiving objects: 29% (805/2773) Receiving objects: 30% (832/2773) Receiving objects: 31% (860/2773) Receiving objects: 32% (888/2773) Receiving objects: 33% (916/2773) Receiving objects: 34% (943/2773) Receiving objects: 35% (971/2773) Receiving objects: 36% (999/2773) Receiving objects: 37% (1027/2773) Receiving objects: 38% (1054/2773) Receiving objects: 39% (1082/2773) Receiving objects: 40% (1110/2773) Receiving objects: 41% (1137/2773) Receiving objects: 42% (1165/2773) Receiving objects: 43% (1193/2773) Receiving objects: 44% (1221/2773) Receiving objects: 45% (1248/2773) Receiving objects: 46% (1276/2773) Receiving objects: 47% (1304/2773) Receiving objects: 48% (1332/2773) Receiving objects: 49% (1359/2773) Receiving objects: 50% (1387/2773) Receiving objects: 51% (1415/2773) Receiving objects: 52% (1442/2773) Receiving objects: 53% (1470/2773) Receiving objects: 54% (1498/2773) Receiving objects: 55% (1526/2773) Receiving objects: 56% (1553/2773) Receiving objects: 57% (1581/2773) Receiving objects: 58% (1609/2773) Receiving objects: 59% (1637/2773) Receiving objects: 60% (1664/2773) Receiving objects: 61% (1692/2773) Receiving objects: 62% (1720/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 63% (1747/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 64% (1775/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 65% (1803/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 66% (1831/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 67% (1858/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 68% (1886/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 69% (1914/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 70% (1942/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 71% (1969/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 72% (1997/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 73% (2025/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 74% (2053/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 75% (2080/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 76% (2108/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 77% (2136/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 78% (2163/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 79% (2191/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 80% (2219/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 81% (2247/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 82% (2274/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 83% (2302/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 84% (2330/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 85% (2358/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 86% (2385/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 87% (2413/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 88% (2441/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 89% (2468/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 90% (2496/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 91% (2524/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 92% (2552/2773), 320.00 KiB | 620.00 KiB/s remote: Total 2773 (delta 105), reused 40 (delta 40), pack-reused 2628 (from 3) Receiving objects: 93% (2579/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 94% (2607/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 95% (2635/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 96% (2663/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 97% (2690/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 98% (2718/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 99% (2746/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 100% (2773/2773), 320.00 KiB | 620.00 KiB/s Receiving objects: 100% (2773/2773), 580.43 KiB | 756.00 KiB/s, done. Resolving deltas: 0% (0/1501) Resolving deltas: 1% (16/1501) Resolving deltas: 2% (32/1501) Resolving deltas: 3% (46/1501) Resolving deltas: 4% (61/1501) Resolving deltas: 5% (76/1501) Resolving deltas: 6% (91/1501) Resolving deltas: 7% (106/1501) Resolving deltas: 8% (122/1501) Resolving deltas: 9% (136/1501) Resolving deltas: 10% (151/1501) Resolving deltas: 11% (166/1501) Resolving deltas: 12% (181/1501) Resolving deltas: 13% (196/1501) Resolving deltas: 14% (211/1501) Resolving deltas: 15% (226/1501) Resolving deltas: 16% (242/1501) Resolving deltas: 17% (256/1501) Resolving deltas: 18% (271/1501) Resolving deltas: 19% (286/1501) Resolving deltas: 20% (301/1501) Resolving deltas: 21% (316/1501) Resolving deltas: 22% (331/1501) Resolving deltas: 23% (346/1501) Resolving deltas: 24% (361/1501) Resolving deltas: 25% (376/1501) Resolving deltas: 26% (391/1501) Resolving deltas: 27% (407/1501) Resolving deltas: 28% (421/1501) Resolving deltas: 29% (436/1501) Resolving deltas: 30% (451/1501) Resolving deltas: 31% (466/1501) Resolving deltas: 32% (481/1501) Resolving deltas: 33% (496/1501) Resolving deltas: 34% (511/1501) Resolving deltas: 35% (528/1501) Resolving deltas: 36% (541/1501) Resolving deltas: 37% (556/1501) Resolving deltas: 38% (571/1501) Resolving deltas: 39% (586/1501) Resolving deltas: 40% (601/1501) Resolving deltas: 41% (616/1501) Resolving deltas: 42% (631/1501) Resolving deltas: 43% (647/1501) Resolving deltas: 44% (661/1501) Resolving deltas: 45% (676/1501) Resolving deltas: 46% (691/1501) Resolving deltas: 47% (706/1501) Resolving deltas: 48% (721/1501) Resolving deltas: 49% (736/1501) Resolving deltas: 50% (751/1501) Resolving deltas: 51% (766/1501) Resolving deltas: 52% (781/1501) Resolving deltas: 53% (798/1501) Resolving deltas: 54% (811/1501) Resolving deltas: 55% (826/1501) Resolving deltas: 56% (841/1501) Resolving deltas: 57% (856/1501) Resolving deltas: 58% (871/1501) Resolving deltas: 59% (886/1501) Resolving deltas: 60% (901/1501) Resolving deltas: 61% (916/1501) Resolving deltas: 62% (931/1501) Resolving deltas: 63% (946/1501) Resolving deltas: 64% (961/1501) Resolving deltas: 65% (977/1501) Resolving deltas: 66% (992/1501) Resolving deltas: 67% (1006/1501) Resolving deltas: 68% (1021/1501) Resolving deltas: 69% (1036/1501) Resolving deltas: 70% (1051/1501) Resolving deltas: 71% (1066/1501) Resolving deltas: 72% (1081/1501) Resolving deltas: 73% (1096/1501) Resolving deltas: 74% (1111/1501) Resolving deltas: 75% (1126/1501) Resolving deltas: 76% (1141/1501) Resolving deltas: 77% (1156/1501) Resolving deltas: 78% (1171/1501) Resolving deltas: 79% (1186/1501) Resolving deltas: 80% (1201/1501) Resolving deltas: 81% (1216/1501) Resolving deltas: 82% (1231/1501) Resolving deltas: 83% (1246/1501) Resolving deltas: 84% (1261/1501) Resolving deltas: 85% (1276/1501) Resolving deltas: 86% (1291/1501) Resolving deltas: 87% (1307/1501) Resolving deltas: 88% (1321/1501) Resolving deltas: 89% (1336/1501) Resolving deltas: 90% (1352/1501) Resolving deltas: 91% (1367/1501) Resolving deltas: 92% (1381/1501) Resolving deltas: 93% (1397/1501) Resolving deltas: 94% (1411/1501) Resolving deltas: 95% (1426/1501) Resolving deltas: 96% (1441/1501) Resolving deltas: 97% (1456/1501) Resolving deltas: 98% (1471/1501) Resolving deltas: 99% (1486/1501) Resolving deltas: 100% (1501/1501) Resolving deltas: 100% (1501/1501), done. ==> Validating source files with sha512sums... pytest-twisted ... Passed ]3008;start=820b00766350407ea440c50248a3ffda;user=root;hostname=fennekin.felixc.at;machineid=79a476f5cd3049948d5a4827e1a6fa58;bootid=d56e18540d634d2fa12f03b5b461350d;pid=1201586;pidfdid=1201587;comm=systemd-nspawn;container=arch-nspawn-1201586;type=container\]11;?\]2;🔵 Container arch-nspawn-1201586 on fennekin.felixc.at\==> Making package: python-pytest-twisted 1.14.3-3 (Tue Feb 10 09:57:16 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (28) New Version Net Change Download Size core/mpdecimal 4.0.1-1 0.31 MiB core/python 3.14.2-2 132.78 MiB extra/python-attrs 25.4.0-3 0.63 MiB 0.11 MiB extra/python-autocommand 2.2.2-9 0.08 MiB extra/python-automat 25.4.16-2 0.63 MiB 0.10 MiB extra/python-click 8.3.1-1 1.36 MiB 0.23 MiB extra/python-constantly 23.10.4-3 0.21 MiB 0.03 MiB extra/python-hyperlink 21.0.0-8 0.59 MiB 0.13 MiB extra/python-idna 3.11-2 1.18 MiB extra/python-incremental 24.7.2-3 0.29 MiB 0.04 MiB extra/python-iniconfig 2.1.0-3.1 0.05 MiB extra/python-jaraco.collections 5.1.0-3 0.11 MiB extra/python-jaraco.context 6.0.1-3 0.04 MiB extra/python-jaraco.functools 4.1.0-3 0.07 MiB extra/python-jaraco.text 4.0.0-4 0.08 MiB extra/python-more-itertools 10.8.0-2 0.73 MiB extra/python-packaging 26.0-1 0.89 MiB extra/python-platformdirs 4.5.1-3 0.28 MiB extra/python-pluggy 1.6.0-3.1 0.23 MiB extra/python-pygments 2.19.2-3 15.30 MiB extra/python-setuptools 1:80.9.0-4 8.03 MiB extra/python-typing_extensions 4.15.0-3 0.52 MiB extra/python-wheel 0.46.3-1 0.31 MiB extra/python-zope-interface 8.2-1.1 3.16 MiB 0.38 MiB extra/python-decorator 5.2.1-2 0.07 MiB 0.02 MiB extra/python-greenlet 3.3.1-1 0.44 MiB 0.12 MiB extra/python-pytest 1:8.4.2-3 4.69 MiB extra/python-twisted 24.7.0-3 47.59 MiB 5.87 MiB Total Download Size: 7.03 MiB Total Installed Size: 220.64 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-twisted-24.7.0-3-any downloading... python-zope-interface-8.2-1.1-riscv64 downloading... python-click-8.3.1-1-any downloading... python-hyperlink-21.0.0-8-any downloading... python-greenlet-3.3.1-1-riscv64 downloading... python-attrs-25.4.0-3-any downloading... python-automat-25.4.16-2-any downloading... python-incremental-24.7.2-3-any downloading... python-constantly-23.10.4-3-any downloading... python-decorator-5.2.1-2-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing mpdecimal... installing python... Optional dependencies for python python-setuptools: for building Python packages using tooling that is usually bundled with Python [pending] python-pip: for installing Python packages using tooling that is usually bundled with Python python-pipx: for installing Python software not packaged on Arch Linux sqlite: for a default database integration [installed] xz: for lzma [installed] tk: for tkinter installing python-iniconfig... installing python-packaging... installing python-pluggy... installing python-pygments... installing python-pytest... installing python-greenlet... installing python-decorator... installing python-attrs... installing python-automat... Optional dependencies for python-automat python-graphviz: for automat-visualize python-twisted: for automat-visualize [pending] installing python-constantly... installing python-idna... installing python-hyperlink... installing python-click... installing python-more-itertools... installing python-jaraco.functools... installing python-jaraco.context... installing python-autocommand... installing python-jaraco.text... Optional dependencies for python-jaraco.text python-inflect: for show-newlines script installing python-jaraco.collections... installing python-platformdirs... installing python-wheel... Optional dependencies for python-wheel python-keyring: for wheel.signatures python-xdg: for wheel.signatures python-setuptools: for legacy bdist_wheel subcommand [pending] installing python-setuptools... installing python-incremental... installing python-typing_extensions... installing python-zope-interface... installing python-twisted... Optional dependencies for python-twisted python-appdirs: for using conch python-bcrypt: for using conch python-cryptography: for using conch python-h2: for http2 support python-idna: for TLS client hostname verification [installed] python-priority: for http2 support python-pyasn1: for using conch python-gobject: for GObject Introspection support python-pyopenssl: for TLS client hostname verification python-pyserial: for serial support python-service-identity: for TLS client hostname verification tk: for using tkconch :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (5) New Version Net Change extra/perl-error 0.17030-3 0.04 MiB extra/perl-mailtools 2.22-3 0.10 MiB extra/perl-timedate 2.33-9 0.08 MiB extra/zlib-ng 2.3.3-1 0.23 MiB extra/git 2.53.0-1 28.84 MiB Total Installed Size: 29.30 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing perl-error... installing perl-timedate... installing perl-mailtools... installing zlib-ng... installing git... Optional dependencies for git git-zsh-completion: upstream zsh completion tk: gitk and git gui openssh: ssh transport and crypto man: show help with `git command --help` perl-libwww: git svn perl-term-readkey: git svn and interactive.singlekey setting perl-io-socket-ssl: git send-email TLS support perl-authen-sasl: git send-email TLS support perl-cgi: gitweb (web interface) support python: git svn & git p4 [installed] subversion: git svn org.freedesktop.secrets: keyring credential helper libsecret: libsecret credential helper [installed] less: the default pager for git :: Running post-transaction hooks... (1/4) Creating system user accounts... Creating group 'git' with GID 969. Creating user 'git' (git daemon user) with UID 969 and GID 969. (2/4) Reloading system manager configuration... Skipped: Current root is not booted. (3/4) Arming ConditionNeedsUpdate... (4/4) Checking for old perl modules... [?25h==> Retrieving sources... ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Creating working copy of pytest-twisted git repo... Cloning into 'pytest-twisted'... done. Switched to a new branch 'makepkg' ==> Starting build()... /usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running build running build_py creating build/lib/pytest_twisted copying src/pytest_twisted/__init__.py -> build/lib/pytest_twisted copying src/pytest_twisted/three.py -> build/lib/pytest_twisted copying src/pytest_twisted/two.py -> build/lib/pytest_twisted ==> Starting check()... /usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running install /usr/lib/python3.14/site-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running install_lib creating /build/python-pytest-twisted/src/pytest-twisted/tmp_install/usr/lib/python3.14/site-packages creating /build/python-pytest-twisted/src/pytest-twisted/tmp_install/usr/lib/python3.14/site-packages/pytest_twisted copying build/lib/pytest_twisted/__init__.py -> /build/python-pytest-twisted/src/pytest-twisted/tmp_install/usr/lib/python3.14/site-packages/pytest_twisted copying build/lib/pytest_twisted/three.py -> /build/python-pytest-twisted/src/pytest-twisted/tmp_install/usr/lib/python3.14/site-packages/pytest_twisted copying build/lib/pytest_twisted/two.py -> /build/python-pytest-twisted/src/pytest-twisted/tmp_install/usr/lib/python3.14/site-packages/pytest_twisted byte-compiling /build/python-pytest-twisted/src/pytest-twisted/tmp_install/usr/lib/python3.14/site-packages/pytest_twisted/__init__.py to __init__.cpython-314.pyc byte-compiling /build/python-pytest-twisted/src/pytest-twisted/tmp_install/usr/lib/python3.14/site-packages/pytest_twisted/three.py to three.cpython-314.pyc byte-compiling /build/python-pytest-twisted/src/pytest-twisted/tmp_install/usr/lib/python3.14/site-packages/pytest_twisted/two.py to two.cpython-314.pyc writing byte-compilation script '/tmp/tmpk6ldv8wx.py' /usr/bin/python /tmp/tmpk6ldv8wx.py removing /tmp/tmpk6ldv8wx.py running install_egg_info running egg_info creating src/pytest_twisted.egg-info writing src/pytest_twisted.egg-info/PKG-INFO writing dependency_links to src/pytest_twisted.egg-info/dependency_links.txt writing entry points to src/pytest_twisted.egg-info/entry_points.txt writing requirements to src/pytest_twisted.egg-info/requires.txt writing top-level names to src/pytest_twisted.egg-info/top_level.txt writing manifest file 'src/pytest_twisted.egg-info/SOURCES.txt' reading manifest file 'src/pytest_twisted.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'pytest_twisted.py' adding license file 'LICENSE' writing manifest file 'src/pytest_twisted.egg-info/SOURCES.txt' Copying src/pytest_twisted.egg-info to /build/python-pytest-twisted/src/pytest-twisted/tmp_install/usr/lib/python3.14/site-packages/pytest_twisted-1.14.3-py3.14.egg-info running install_scripts ============================= test session starts ============================== platform linux -- Python 3.14.2, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /build/python-pytest-twisted/src/pytest-twisted configfile: pytest.ini plugins: twisted-1.14.3 collecting ... collected 60 items testing/test_basic.py::test_inline_callbacks_in_pytest PASSED [ 1%] testing/test_basic.py::test_inline_callbacks_in_pytest_deprecation[pytest.inlineCallbacks-True] FAILED [ 3%] testing/test_basic.py::test_inline_callbacks_in_pytest_deprecation[pytest_twisted.inlineCallbacks-False] FAILED [ 5%] testing/test_basic.py::test_blockon_in_pytest PASSED [ 6%] testing/test_basic.py::test_blockon_in_pytest_deprecation[pytest.blockon-True] FAILED [ 8%] testing/test_basic.py::test_blockon_in_pytest_deprecation[pytest_twisted.blockon-False] FAILED [ 10%] testing/test_basic.py::test_fail_later FAILED [ 11%] testing/test_basic.py::test_succeed_later FAILED [ 13%] testing/test_basic.py::test_non_deferred FAILED [ 15%] testing/test_basic.py::test_exception FAILED [ 16%] testing/test_basic.py::test_inlineCallbacks[no call] FAILED [ 18%] testing/test_basic.py::test_inlineCallbacks[empty call] FAILED [ 20%] testing/test_basic.py::test_async_await[no call] FAILED [ 21%] testing/test_basic.py::test_async_await[empty call] FAILED [ 23%] testing/test_basic.py::test_twisted_greenlet FAILED [ 25%] testing/test_basic.py::test_blockon_in_fixture FAILED [ 26%] testing/test_basic.py::test_blockon_in_fixture_async FAILED [ 28%] testing/test_basic.py::test_async_fixture FAILED [ 30%] testing/test_basic.py::test_async_fixture_no_arguments[no call] FAILED [ 31%] testing/test_basic.py::test_async_fixture_no_arguments[empty call] FAILED [ 33%] testing/test_basic.py::test_async_yield_fixture_ordered_teardown FAILED [ 35%] testing/test_basic.py::test_async_yield_fixture_can_await FAILED [ 36%] testing/test_basic.py::test_async_yield_fixture_failed_test FAILED [ 38%] testing/test_basic.py::test_async_yield_fixture_test_exception FAILED [ 40%] testing/test_basic.py::test_async_yield_fixture_yields_twice FAILED [ 41%] testing/test_basic.py::test_async_yield_fixture_teardown_exception FAILED [ 43%] testing/test_basic.py::test_async_yield_fixture_no_arguments[no call] FAILED [ 45%] testing/test_basic.py::test_async_yield_fixture_no_arguments[empty call] FAILED [ 46%] testing/test_basic.py::test_async_yield_fixture_function_scope FAILED [ 48%] testing/test_basic.py::test_async_simple_fixture_in_fixture FAILED [ 50%] testing/test_basic.py::test_async_yield_simple_fixture_in_fixture FAILED [ 51%] testing/test_basic.py::test_async_fixture_in_fixture[innerasync=True] FAILED [ 53%] testing/test_basic.py::test_async_fixture_in_fixture[innerasync=False] FAILED [ 55%] testing/test_basic.py::test_async_yield_fixture_in_fixture[innerasync=True] FAILED [ 56%] testing/test_basic.py::test_async_yield_fixture_in_fixture[innerasync=False] FAILED [ 58%] testing/test_basic.py::test_blockon_in_hook FAILED [ 60%] testing/test_basic.py::test_wrong_reactor FAILED [ 61%] testing/test_basic.py::test_blockon_in_hook_with_qt5reactor SKIPPED [ 63%] testing/test_basic.py::test_wrong_reactor_with_qt5reactor SKIPPED (r...) [ 65%] testing/test_basic.py::test_pytest_from_reactor_thread FAILED [ 66%] testing/test_basic.py::test_blockon_in_hook_with_asyncio SKIPPED (re...) [ 68%] testing/test_basic.py::test_wrong_reactor_with_asyncio SKIPPED (reac...) [ 70%] testing/test_basic.py::test_async_fixture_module_scope FAILED [ 71%] testing/test_basic.py::test_inlinecallbacks_method_with_fixture_gets_self PASSED [ 73%] testing/test_basic.py::test_inlinecallbacks_method_with_fixture_gets_fixture FAILED [ 75%] testing/test_basic.py::test_ensuredeferred_method_with_fixture_gets_self FAILED [ 76%] testing/test_basic.py::test_ensuredeferred_method_with_fixture_gets_fixture FAILED [ 78%] testing/test_basic.py::test_import_pytest_twisted_in_conftest_py_not_a_problem FAILED [ 80%] testing/test_basic.py::test_addSystemEventTrigger[before-shutdown-False] FAILED [ 81%] testing/test_basic.py::test_addSystemEventTrigger[before-shutdown-True] FAILED [ 83%] testing/test_basic.py::test_addSystemEventTrigger[during-shutdown-False] FAILED [ 85%] testing/test_basic.py::test_addSystemEventTrigger[during-shutdown-True] FAILED [ 86%] testing/test_basic.py::test_addSystemEventTrigger[after-shutdown-False] FAILED [ 88%] testing/test_basic.py::test_addSystemEventTrigger[after-shutdown-True] FAILED [ 90%] testing/test_basic.py::test_sigint_for_regular_tests FAILED [ 91%] testing/test_basic.py::test_sigint_for_inline_callbacks_tests FAILED [ 93%] testing/test_basic.py::test_hypothesis_async_passes SKIPPED (hypothe...) [ 95%] testing/test_basic.py::test_hypothesis_inline_callbacks_passes SKIPPED [ 96%] testing/test_basic.py::test_hypothesis_async_fails SKIPPED (hypothes...) [ 98%] testing/test_basic.py::test_hypothesis_inline_callbacks_fails SKIPPED [100%] =================================== FAILURES =================================== ___ test_inline_callbacks_in_pytest_deprecation[pytest.inlineCallbacks-True] ___ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') decorator = 'pytest.inlineCallbacks', should_warn = True @pytest.mark.parametrize( 'decorator, should_warn', ( ('pytest.inlineCallbacks', True), ('pytest_twisted.inlineCallbacks', False), ), ) def test_inline_callbacks_in_pytest_deprecation( testdir, cmd_opts, decorator, should_warn, ): import_path, _, _ = decorator.rpartition('.') test_file = """ import {import_path} def test_deprecation(): @{decorator} def f(): yield 42 """.format(import_path=import_path, decorator=decorator) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_inline_callbacks_in_pytest_deprecation0 _ test_inline_callbacks_in_pytest_deprecation[pytest_twisted.inlineCallbacks-False] _ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') decorator = 'pytest_twisted.inlineCallbacks', should_warn = False @pytest.mark.parametrize( 'decorator, should_warn', ( ('pytest.inlineCallbacks', True), ('pytest_twisted.inlineCallbacks', False), ), ) def test_inline_callbacks_in_pytest_deprecation( testdir, cmd_opts, decorator, should_warn, ): import_path, _, _ = decorator.rpartition('.') test_file = """ import {import_path} def test_deprecation(): @{decorator} def f(): yield 42 """.format(import_path=import_path, decorator=decorator) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_inline_callbacks_in_pytest_deprecation1 ___________ test_blockon_in_pytest_deprecation[pytest.blockon-True] ____________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') function = 'pytest.blockon', should_warn = True @pytest.mark.parametrize( 'function, should_warn', ( ('pytest.blockon', True), ('pytest_twisted.blockon', False), ), ) def test_blockon_in_pytest_deprecation( testdir, cmd_opts, function, should_warn, ): import_path, _, _ = function.rpartition('.') test_file = """ import warnings from twisted.internet import reactor, defer import pytest import {import_path} @pytest.fixture def foo(request): d = defer.Deferred() d.callback(None) {function}(d) def test_succeed(foo): pass """.format(import_path=import_path, function=function) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:194: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_blockon_in_pytest_deprecation0 _______ test_blockon_in_pytest_deprecation[pytest_twisted.blockon-False] _______ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') function = 'pytest_twisted.blockon', should_warn = False @pytest.mark.parametrize( 'function, should_warn', ( ('pytest.blockon', True), ('pytest_twisted.blockon', False), ), ) def test_blockon_in_pytest_deprecation( testdir, cmd_opts, function, should_warn, ): import_path, _, _ = function.rpartition('.') test_file = """ import warnings from twisted.internet import reactor, defer import pytest import {import_path} @pytest.fixture def foo(request): d = defer.Deferred() d.callback(None) {function}(d) def test_succeed(foo): pass """.format(import_path=import_path, function=function) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:194: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_blockon_in_pytest_deprecation1 _______________________________ test_fail_later ________________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def test_fail_later(testdir, cmd_opts): test_file = """ from twisted.internet import reactor, defer def test_fail(): def doit(): try: 1 / 0 except: d.errback() d = defer.Deferred() reactor.callLater(0.01, doit) return d """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:219: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_fail_later0 ______________________________ test_succeed_later ______________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def test_succeed_later(testdir, cmd_opts): test_file = """ from twisted.internet import reactor, defer def test_succeed(): d = defer.Deferred() reactor.callLater(0.01, d.callback, 1) return d """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:233: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_succeed_later0 ______________________________ test_non_deferred _______________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def test_non_deferred(testdir, cmd_opts): test_file = """ from twisted.internet import reactor, defer def test_succeed(): return 42 """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:245: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_non_deferred0 ________________________________ test_exception ________________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def test_exception(testdir, cmd_opts): test_file = """ def test_more_fail(): raise RuntimeError("foo") """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:255: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_exception0 ________________________ test_inlineCallbacks[no call] _________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') empty_optional_call = '' def test_inlineCallbacks(testdir, cmd_opts, empty_optional_call): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest.fixture(scope="module", params=["fs", "imap", "web"]) def foo(request): return request.param @pytest_twisted.inlineCallbacks{optional_call} def test_succeed(foo): yield defer.succeed(foo) if foo == "web": raise RuntimeError("baz") """.format(optional_call=empty_optional_call) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_inlineCallbacks0 _______________________ test_inlineCallbacks[empty call] _______________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') empty_optional_call = '()' def test_inlineCallbacks(testdir, cmd_opts, empty_optional_call): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest.fixture(scope="module", params=["fs", "imap", "web"]) def foo(request): return request.param @pytest_twisted.inlineCallbacks{optional_call} def test_succeed(foo): yield defer.succeed(foo) if foo == "web": raise RuntimeError("baz") """.format(optional_call=empty_optional_call) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_inlineCallbacks1 __________________________ test_async_await[no call] ___________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') empty_optional_call = '' @skip_if_no_async_await() def test_async_await(testdir, cmd_opts, empty_optional_call): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest.fixture(scope="module", params=["fs", "imap", "web"]) def foo(request): return request.param @pytest_twisted.ensureDeferred{optional_call} async def test_succeed(foo): await defer.succeed(foo) if foo == "web": raise RuntimeError("baz") """.format(optional_call=empty_optional_call) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:307: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_await0 _________________________ test_async_await[empty call] _________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') empty_optional_call = '()' @skip_if_no_async_await() def test_async_await(testdir, cmd_opts, empty_optional_call): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest.fixture(scope="module", params=["fs", "imap", "web"]) def foo(request): return request.param @pytest_twisted.ensureDeferred{optional_call} async def test_succeed(foo): await defer.succeed(foo) if foo == "web": raise RuntimeError("baz") """.format(optional_call=empty_optional_call) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:307: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_await1 ____________________________ test_twisted_greenlet _____________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def test_twisted_greenlet(testdir, cmd_opts): test_file = """ import pytest, greenlet MAIN = None @pytest.fixture(scope="session", autouse=True) def set_MAIN(request, twisted_greenlet): global MAIN MAIN = twisted_greenlet def test_MAIN(): assert MAIN is not None assert MAIN is greenlet.getcurrent() """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_twisted_greenlet0 ___________________________ test_blockon_in_fixture ____________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def test_blockon_in_fixture(testdir, cmd_opts): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest.fixture(scope="module", params=["fs", "imap", "web"]) def foo(request): d1, d2 = defer.Deferred(), defer.Deferred() reactor.callLater(0.01, d1.callback, 1) reactor.callLater(0.02, d2.callback, request.param) pytest_twisted.blockon(d1) return d2 @pytest_twisted.inlineCallbacks def test_succeed(foo): x = yield foo if x == "web": raise RuntimeError("baz") """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:352: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_blockon_in_fixture0 ________________________ test_blockon_in_fixture_async _________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_await() def test_blockon_in_fixture_async(testdir, cmd_opts): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest.fixture(scope="module", params=["fs", "imap", "web"]) def foo(request): d1, d2 = defer.Deferred(), defer.Deferred() reactor.callLater(0.01, d1.callback, 1) reactor.callLater(0.02, d2.callback, request.param) pytest_twisted.blockon(d1) return d2 @pytest_twisted.ensureDeferred async def test_succeed(foo): x = await foo if x == "web": raise RuntimeError("baz") """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:378: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_blockon_in_fixture_async0 ______________________________ test_async_fixture ______________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_await() def test_async_fixture(testdir, cmd_opts): pytest_ini_file = """ [pytest] markers = redgreenblue """ testdir.makefile('.ini', pytest=pytest_ini_file) test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest_twisted.async_fixture( scope="function", params=["fs", "imap", "web"], ) async def foo(request): d1, d2 = defer.Deferred(), defer.Deferred() reactor.callLater(0.01, d1.callback, 1) reactor.callLater(0.02, d2.callback, request.param) await d1 return d2, @pytest_twisted.inlineCallbacks def test_succeed_blue(foo): x = yield foo[0] if x == "web": raise RuntimeError("baz") """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:413: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_fixture0 ___________________ test_async_fixture_no_arguments[no call] ___________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') empty_optional_call = '' @skip_if_no_async_await() def test_async_fixture_no_arguments(testdir, cmd_opts, empty_optional_call): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest_twisted.async_fixture{optional_call} async def scope(request): return request.scope def test_is_function_scope(scope): assert scope == "function" """.format(optional_call=empty_optional_call) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:432: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_fixture_no_arguments0 _________________ test_async_fixture_no_arguments[empty call] __________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') empty_optional_call = '()' @skip_if_no_async_await() def test_async_fixture_no_arguments(testdir, cmd_opts, empty_optional_call): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest_twisted.async_fixture{optional_call} async def scope(request): return request.scope def test_is_function_scope(scope): assert scope == "function" """.format(optional_call=empty_optional_call) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:432: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_fixture_no_arguments1 __________________ test_async_yield_fixture_ordered_teardown ___________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_generators() def test_async_yield_fixture_ordered_teardown(testdir, cmd_opts): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted results = [] @pytest.fixture(scope='function') def sync_fixture(): yield 42 results.append(2) @pytest_twisted.async_yield_fixture(scope='function') async def async_fixture(sync_fixture): yield sync_fixture results.append(1) def test_first(async_fixture): assert async_fixture == 42 def test_second(): assert results == [1, 2] """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:463: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_yield_fixture_ordered_teardown0 ______________________ test_async_yield_fixture_can_await ______________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_generators() def test_async_yield_fixture_can_await(testdir, cmd_opts): test_file = """ from twisted.internet import reactor, defer import pytest_twisted @pytest_twisted.async_yield_fixture() async def foo(): d1, d2 = defer.Deferred(), defer.Deferred() reactor.callLater(0.01, d1.callback, 1) reactor.callLater(0.02, d2.callback, 2) await d1 # Twisted doesn't allow calling back with a Deferred as a value. # This deferred is being wrapped up in a tuple to sneak through. # https://github.com/twisted/twisted/blob/c0f1394c7bfb04d97c725a353a1f678fa6a1c602/src/twisted/internet/defer.py#L459 yield d2, @pytest_twisted.ensureDeferred async def test(foo): x = await foo[0] assert x == 2 """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:491: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_yield_fixture_can_await0 _____________________ test_async_yield_fixture_failed_test _____________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_generators() def test_async_yield_fixture_failed_test(testdir, cmd_opts): test_file = """ import pytest_twisted @pytest_twisted.async_yield_fixture() async def foo(): yield 92 @pytest_twisted.ensureDeferred async def test(foo): assert False """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:509: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_yield_fixture_failed_test0 ___________________ test_async_yield_fixture_test_exception ____________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_generators() def test_async_yield_fixture_test_exception(testdir, cmd_opts): test_file = """ import pytest_twisted class UniqueLocalException(Exception): pass @pytest_twisted.async_yield_fixture() async def foo(): yield 92 @pytest_twisted.ensureDeferred async def test(foo): raise UniqueLocalException("some message") """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:531: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_yield_fixture_test_exception0 ____________________ test_async_yield_fixture_yields_twice _____________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_generators() def test_async_yield_fixture_yields_twice(testdir, cmd_opts): test_file = """ import pytest_twisted @pytest_twisted.async_yield_fixture() async def foo(): yield 92 yield 36 @pytest_twisted.ensureDeferred async def test(foo): assert foo == 92 """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:551: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_yield_fixture_yields_twice0 _________________ test_async_yield_fixture_teardown_exception __________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_generators() def test_async_yield_fixture_teardown_exception(testdir, cmd_opts): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted class UniqueLocalException(Exception): pass @pytest_twisted.async_yield_fixture() async def foo(request): yield 13 raise UniqueLocalException("some message") @pytest_twisted.ensureDeferred async def test_succeed(foo): assert foo == 13 """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:577: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_yield_fixture_teardown_exception0 ________________ test_async_yield_fixture_no_arguments[no call] ________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') empty_optional_call = '' @skip_if_no_async_generators() def test_async_yield_fixture_no_arguments( testdir, cmd_opts, empty_optional_call, ): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest_twisted.async_yield_fixture{optional_call} async def scope(request): yield request.scope def test_is_function_scope(scope): assert scope == "function" """.format(optional_call=empty_optional_call) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:601: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_yield_fixture_no_arguments0 ______________ test_async_yield_fixture_no_arguments[empty call] _______________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') empty_optional_call = '()' @skip_if_no_async_generators() def test_async_yield_fixture_no_arguments( testdir, cmd_opts, empty_optional_call, ): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest_twisted.async_yield_fixture{optional_call} async def scope(request): yield request.scope def test_is_function_scope(scope): assert scope == "function" """.format(optional_call=empty_optional_call) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:601: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_yield_fixture_no_arguments1 ___________________ test_async_yield_fixture_function_scope ____________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_generators() def test_async_yield_fixture_function_scope(testdir, cmd_opts): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted check_me = 0 @pytest_twisted.async_yield_fixture(scope="function") async def foo(): global check_me if check_me != 0: raise Exception('check_me already modified before fixture run') check_me = 1 yield 42 if check_me != 2: raise Exception( 'check_me not updated properly: {}'.format(check_me), ) check_me = 0 def test_first(foo): global check_me assert check_me == 1 assert foo == 42 check_me = 2 def test_second(foo): global check_me assert check_me == 1 assert foo == 42 check_me = 2 """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:649: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_yield_fixture_function_scope0 _____________________ test_async_simple_fixture_in_fixture _____________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_await() def test_async_simple_fixture_in_fixture(testdir, cmd_opts): test_file = """ import itertools from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest_twisted.async_fixture(name='four') async def fixture_four(): return 4 @pytest_twisted.async_fixture(name='doublefour') async def fixture_doublefour(four): return 2 * four @pytest_twisted.ensureDeferred async def test_four(four): assert four == 4 @pytest_twisted.ensureDeferred async def test_doublefour(doublefour): assert doublefour == 8 """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_simple_fixture_in_fixture0 __________________ test_async_yield_simple_fixture_in_fixture __________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_generators() def test_async_yield_simple_fixture_in_fixture(testdir, cmd_opts): test_file = """ import itertools from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest_twisted.async_yield_fixture(name='four') async def fixture_four(): yield 4 @pytest_twisted.async_yield_fixture(name='doublefour') async def fixture_doublefour(four): yield 2 * four @pytest_twisted.ensureDeferred async def test_four(four): assert four == 4 @pytest_twisted.ensureDeferred async def test_doublefour(doublefour): assert doublefour == 8 """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:707: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_yield_simple_fixture_in_fixture0 ________________ test_async_fixture_in_fixture[innerasync=True] ________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') innerasync = True @skip_if_no_async_await() @pytest.mark.parametrize('innerasync', [ pytest.param(truth, id='innerasync={}'.format(truth)) for truth in [True, False] ]) def test_async_fixture_in_fixture(testdir, cmd_opts, innerasync): maybe_async = 'async ' if innerasync else '' maybe_await = 'await ' if innerasync else '' test_file = """ import itertools from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest_twisted.async_fixture(name='increment') async def fixture_increment(): counts = itertools.count() {maybe_async}def increment(): return next(counts) return increment @pytest_twisted.async_fixture(name='doubleincrement') async def fixture_doubleincrement(increment): {maybe_async}def doubleincrement(): n = {maybe_await}increment() return n * 2 return doubleincrement @pytest_twisted.ensureDeferred async def test_increment(increment): first = {maybe_await}increment() second = {maybe_await}increment() assert (first, second) == (0, 1) @pytest_twisted.ensureDeferred async def test_doubleincrement(doubleincrement): first = {maybe_await}doubleincrement() second = {maybe_await}doubleincrement() assert (first, second) == (0, 2) """.format(maybe_async=maybe_async, maybe_await=maybe_await) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:754: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_fixture_in_fixture0 _______________ test_async_fixture_in_fixture[innerasync=False] ________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') innerasync = False @skip_if_no_async_await() @pytest.mark.parametrize('innerasync', [ pytest.param(truth, id='innerasync={}'.format(truth)) for truth in [True, False] ]) def test_async_fixture_in_fixture(testdir, cmd_opts, innerasync): maybe_async = 'async ' if innerasync else '' maybe_await = 'await ' if innerasync else '' test_file = """ import itertools from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest_twisted.async_fixture(name='increment') async def fixture_increment(): counts = itertools.count() {maybe_async}def increment(): return next(counts) return increment @pytest_twisted.async_fixture(name='doubleincrement') async def fixture_doubleincrement(increment): {maybe_async}def doubleincrement(): n = {maybe_await}increment() return n * 2 return doubleincrement @pytest_twisted.ensureDeferred async def test_increment(increment): first = {maybe_await}increment() second = {maybe_await}increment() assert (first, second) == (0, 1) @pytest_twisted.ensureDeferred async def test_doubleincrement(doubleincrement): first = {maybe_await}doubleincrement() second = {maybe_await}doubleincrement() assert (first, second) == (0, 2) """.format(maybe_async=maybe_async, maybe_await=maybe_await) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:754: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_fixture_in_fixture1 _____________ test_async_yield_fixture_in_fixture[innerasync=True] _____________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') innerasync = True @skip_if_no_async_generators() @pytest.mark.parametrize('innerasync', [ pytest.param(truth, id='innerasync={}'.format(truth)) for truth in [True, False] ]) def test_async_yield_fixture_in_fixture(testdir, cmd_opts, innerasync): maybe_async = 'async ' if innerasync else '' maybe_await = 'await ' if innerasync else '' test_file = """ import itertools from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest_twisted.async_yield_fixture(name='increment') async def fixture_increment(): counts = itertools.count() {maybe_async}def increment(): return next(counts) yield increment @pytest_twisted.async_yield_fixture(name='doubleincrement') async def fixture_doubleincrement(increment): {maybe_async}def doubleincrement(): n = {maybe_await}increment() return n * 2 yield doubleincrement @pytest_twisted.ensureDeferred async def test_increment(increment): first = {maybe_await}increment() second = {maybe_await}increment() assert (first, second) == (0, 1) @pytest_twisted.ensureDeferred async def test_doubleincrement(doubleincrement): first = {maybe_await}doubleincrement() second = {maybe_await}doubleincrement() assert (first, second) == (0, 2) """.format(maybe_async=maybe_async, maybe_await=maybe_await) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:802: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_yield_fixture_in_fixture0 ____________ test_async_yield_fixture_in_fixture[innerasync=False] _____________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') innerasync = False @skip_if_no_async_generators() @pytest.mark.parametrize('innerasync', [ pytest.param(truth, id='innerasync={}'.format(truth)) for truth in [True, False] ]) def test_async_yield_fixture_in_fixture(testdir, cmd_opts, innerasync): maybe_async = 'async ' if innerasync else '' maybe_await = 'await ' if innerasync else '' test_file = """ import itertools from twisted.internet import reactor, defer import pytest import pytest_twisted @pytest_twisted.async_yield_fixture(name='increment') async def fixture_increment(): counts = itertools.count() {maybe_async}def increment(): return next(counts) yield increment @pytest_twisted.async_yield_fixture(name='doubleincrement') async def fixture_doubleincrement(increment): {maybe_async}def doubleincrement(): n = {maybe_await}increment() return n * 2 yield doubleincrement @pytest_twisted.ensureDeferred async def test_increment(increment): first = {maybe_await}increment() second = {maybe_await}increment() assert (first, second) == (0, 1) @pytest_twisted.ensureDeferred async def test_doubleincrement(doubleincrement): first = {maybe_await}doubleincrement() second = {maybe_await}doubleincrement() assert (first, second) == (0, 2) """.format(maybe_async=maybe_async, maybe_await=maybe_await) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:802: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_yield_fixture_in_fixture1 _____________________________ test_blockon_in_hook _____________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') request = > def test_blockon_in_hook(testdir, cmd_opts, request): skip_if_reactor_not(request, "default") conftest_file = """ import pytest_twisted from twisted.internet import reactor, defer def pytest_configure(config): pytest_twisted.init_default_reactor() d1, d2 = defer.Deferred(), defer.Deferred() reactor.callLater(0.01, d1.callback, 1) reactor.callLater(0.02, d2.callback, 1) pytest_twisted.blockon(d1) pytest_twisted.blockon(d2) """ testdir.makeconftest(conftest_file) test_file = """ from twisted.internet import reactor, defer def test_succeed(): d = defer.Deferred() reactor.callLater(0.01, d.callback, 1) return d """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:830: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_blockon_in_hook0 ______________________________ test_wrong_reactor ______________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') request = > def test_wrong_reactor(testdir, cmd_opts, request): skip_if_reactor_not(request, "default") conftest_file = """ def pytest_addhooks(): import twisted.internet.reactor twisted.internet.reactor = None """ testdir.makeconftest(conftest_file) test_file = """ def test_succeed(): pass """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:847: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_wrong_reactor0 _______________________ test_pytest_from_reactor_thread ________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') request = > def test_pytest_from_reactor_thread(testdir, cmd_opts, request): skip_if_reactor_not(request, "default") test_file = """ import pytest import pytest_twisted from twisted.internet import reactor, defer @pytest.fixture def fix(): d = defer.Deferred() reactor.callLater(0.01, d.callback, 42) return pytest_twisted.blockon(d) def test_simple(fix): assert fix == 42 @pytest_twisted.inlineCallbacks def test_fail(): d = defer.Deferred() reactor.callLater(0.01, d.callback, 1) yield d assert False """ testdir.makepyfile(test_file) runner_file = """ import pytest from twisted.internet import reactor from twisted.internet.defer import inlineCallbacks from twisted.internet.threads import deferToThread codes = [] @inlineCallbacks def main(): try: codes.append((yield deferToThread(pytest.main, ['-k simple']))) codes.append((yield deferToThread(pytest.main, ['-k fail']))) finally: reactor.stop() if __name__ == '__main__': reactor.callLater(0, main) reactor.run() codes == [0, 1] or exit(1) """ testdir.makepyfile(runner=runner_file) # check test file is ok in standalone mode: > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:946: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_pytest_from_reactor_thread0 _______________________ test_async_fixture_module_scope ________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_generators() def test_async_fixture_module_scope(testdir, cmd_opts): test_file = """ from twisted.internet import reactor, defer import pytest import pytest_twisted check_me = 0 @pytest_twisted.async_yield_fixture(scope="module") async def foo(): global check_me if check_me != 0: raise Exception('check_me already modified before fixture run') check_me = 1 yield 42 if check_me != 3: raise Exception( 'check_me not updated properly: {}'.format(check_me), ) check_me = 0 def test_first(foo): global check_me assert check_me == 1 assert foo == 42 check_me = 2 def test_second(foo): global check_me assert check_me == 2 assert foo == 42 check_me = 3 """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:1054: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_async_fixture_module_scope0 ____________ test_inlinecallbacks_method_with_fixture_gets_fixture _____________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def test_inlinecallbacks_method_with_fixture_gets_fixture(testdir, cmd_opts): test_file = """ import pytest import pytest_twisted from twisted.internet import defer @pytest.fixture def foo(): return 37 class TestClass: @pytest_twisted.inlineCallbacks def test_self_isinstance(self, foo): d = defer.succeed(None) yield d assert foo == 37 """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:1098: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_inlinecallbacks_method_with_fixture_gets_fixture0 ______________ test_ensuredeferred_method_with_fixture_gets_self _______________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_await() def test_ensuredeferred_method_with_fixture_gets_self(testdir, cmd_opts): test_file = """ import pytest import pytest_twisted @pytest.fixture def foo(): return 37 class TestClass: @pytest_twisted.ensureDeferred async def test_self_isinstance(self, foo): assert isinstance(self, TestClass) """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:1118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_ensuredeferred_method_with_fixture_gets_self0 _____________ test_ensuredeferred_method_with_fixture_gets_fixture _____________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') @skip_if_no_async_await() def test_ensuredeferred_method_with_fixture_gets_fixture(testdir, cmd_opts): test_file = """ import pytest import pytest_twisted @pytest.fixture def foo(): return 37 class TestClass: @pytest_twisted.ensureDeferred async def test_self_isinstance(self, foo): assert foo == 37 """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:1138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_ensuredeferred_method_with_fixture_gets_fixture0 ___________ test_import_pytest_twisted_in_conftest_py_not_a_problem ____________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def test_import_pytest_twisted_in_conftest_py_not_a_problem(testdir, cmd_opts): conftest_file = """ import pytest import pytest_twisted @pytest.hookimpl(tryfirst=True) def pytest_configure(config): pytest_twisted._use_asyncio_selector_if_required(config=config) """ testdir.makeconftest(conftest_file) test_file = """ import pytest_twisted def test_succeed(): pass """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:1160: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_import_pytest_twisted_in_conftest_py_not_a_problem0 ______________ test_addSystemEventTrigger[before-shutdown-False] _______________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') kill = False, event = 'shutdown', phase = 'before' @pytest.mark.parametrize(argnames="kill", argvalues=[False, True]) @pytest.mark.parametrize(argnames="event", argvalues=["shutdown"]) @pytest.mark.parametrize( argnames="phase", argvalues=["before", "during", "after"], ) def test_addSystemEventTrigger(testdir, cmd_opts, kill, event, phase): is_win32 = sys.platform == "win32" is_qt = os.environ.get("REACTOR", "").startswith("qt") is_kill = kill if (is_win32 or is_qt) and is_kill: pytest.xfail(reason="Needs handled on Windows and with qt5reactor.") test_string = "1kljgf90u0lkj13l4jjklsfdo89898y24hlkjalkjs38" test_file = """ import os import signal import pytest_twisted def output_stuff(): print({test_string!r}) @pytest_twisted.inlineCallbacks def test_succeed(): from twisted.internet import reactor reactor.addSystemEventTrigger({phase!r}, {event!r}, output_stuff) if {kill!r}: os.kill(os.getpid(), signal.SIGINT) yield """.format(kill=kill, event=event, phase=phase, test_string=test_string) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:1200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_addSystemEventTrigger0 _______________ test_addSystemEventTrigger[before-shutdown-True] _______________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') kill = True, event = 'shutdown', phase = 'before' @pytest.mark.parametrize(argnames="kill", argvalues=[False, True]) @pytest.mark.parametrize(argnames="event", argvalues=["shutdown"]) @pytest.mark.parametrize( argnames="phase", argvalues=["before", "during", "after"], ) def test_addSystemEventTrigger(testdir, cmd_opts, kill, event, phase): is_win32 = sys.platform == "win32" is_qt = os.environ.get("REACTOR", "").startswith("qt") is_kill = kill if (is_win32 or is_qt) and is_kill: pytest.xfail(reason="Needs handled on Windows and with qt5reactor.") test_string = "1kljgf90u0lkj13l4jjklsfdo89898y24hlkjalkjs38" test_file = """ import os import signal import pytest_twisted def output_stuff(): print({test_string!r}) @pytest_twisted.inlineCallbacks def test_succeed(): from twisted.internet import reactor reactor.addSystemEventTrigger({phase!r}, {event!r}, output_stuff) if {kill!r}: os.kill(os.getpid(), signal.SIGINT) yield """.format(kill=kill, event=event, phase=phase, test_string=test_string) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:1200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_addSystemEventTrigger1 ______________ test_addSystemEventTrigger[during-shutdown-False] _______________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') kill = False, event = 'shutdown', phase = 'during' @pytest.mark.parametrize(argnames="kill", argvalues=[False, True]) @pytest.mark.parametrize(argnames="event", argvalues=["shutdown"]) @pytest.mark.parametrize( argnames="phase", argvalues=["before", "during", "after"], ) def test_addSystemEventTrigger(testdir, cmd_opts, kill, event, phase): is_win32 = sys.platform == "win32" is_qt = os.environ.get("REACTOR", "").startswith("qt") is_kill = kill if (is_win32 or is_qt) and is_kill: pytest.xfail(reason="Needs handled on Windows and with qt5reactor.") test_string = "1kljgf90u0lkj13l4jjklsfdo89898y24hlkjalkjs38" test_file = """ import os import signal import pytest_twisted def output_stuff(): print({test_string!r}) @pytest_twisted.inlineCallbacks def test_succeed(): from twisted.internet import reactor reactor.addSystemEventTrigger({phase!r}, {event!r}, output_stuff) if {kill!r}: os.kill(os.getpid(), signal.SIGINT) yield """.format(kill=kill, event=event, phase=phase, test_string=test_string) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:1200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_addSystemEventTrigger2 _______________ test_addSystemEventTrigger[during-shutdown-True] _______________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') kill = True, event = 'shutdown', phase = 'during' @pytest.mark.parametrize(argnames="kill", argvalues=[False, True]) @pytest.mark.parametrize(argnames="event", argvalues=["shutdown"]) @pytest.mark.parametrize( argnames="phase", argvalues=["before", "during", "after"], ) def test_addSystemEventTrigger(testdir, cmd_opts, kill, event, phase): is_win32 = sys.platform == "win32" is_qt = os.environ.get("REACTOR", "").startswith("qt") is_kill = kill if (is_win32 or is_qt) and is_kill: pytest.xfail(reason="Needs handled on Windows and with qt5reactor.") test_string = "1kljgf90u0lkj13l4jjklsfdo89898y24hlkjalkjs38" test_file = """ import os import signal import pytest_twisted def output_stuff(): print({test_string!r}) @pytest_twisted.inlineCallbacks def test_succeed(): from twisted.internet import reactor reactor.addSystemEventTrigger({phase!r}, {event!r}, output_stuff) if {kill!r}: os.kill(os.getpid(), signal.SIGINT) yield """.format(kill=kill, event=event, phase=phase, test_string=test_string) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:1200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_addSystemEventTrigger3 _______________ test_addSystemEventTrigger[after-shutdown-False] _______________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') kill = False, event = 'shutdown', phase = 'after' @pytest.mark.parametrize(argnames="kill", argvalues=[False, True]) @pytest.mark.parametrize(argnames="event", argvalues=["shutdown"]) @pytest.mark.parametrize( argnames="phase", argvalues=["before", "during", "after"], ) def test_addSystemEventTrigger(testdir, cmd_opts, kill, event, phase): is_win32 = sys.platform == "win32" is_qt = os.environ.get("REACTOR", "").startswith("qt") is_kill = kill if (is_win32 or is_qt) and is_kill: pytest.xfail(reason="Needs handled on Windows and with qt5reactor.") test_string = "1kljgf90u0lkj13l4jjklsfdo89898y24hlkjalkjs38" test_file = """ import os import signal import pytest_twisted def output_stuff(): print({test_string!r}) @pytest_twisted.inlineCallbacks def test_succeed(): from twisted.internet import reactor reactor.addSystemEventTrigger({phase!r}, {event!r}, output_stuff) if {kill!r}: os.kill(os.getpid(), signal.SIGINT) yield """.format(kill=kill, event=event, phase=phase, test_string=test_string) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:1200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_addSystemEventTrigger4 _______________ test_addSystemEventTrigger[after-shutdown-True] ________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') kill = True, event = 'shutdown', phase = 'after' @pytest.mark.parametrize(argnames="kill", argvalues=[False, True]) @pytest.mark.parametrize(argnames="event", argvalues=["shutdown"]) @pytest.mark.parametrize( argnames="phase", argvalues=["before", "during", "after"], ) def test_addSystemEventTrigger(testdir, cmd_opts, kill, event, phase): is_win32 = sys.platform == "win32" is_qt = os.environ.get("REACTOR", "").startswith("qt") is_kill = kill if (is_win32 or is_qt) and is_kill: pytest.xfail(reason="Needs handled on Windows and with qt5reactor.") test_string = "1kljgf90u0lkj13l4jjklsfdo89898y24hlkjalkjs38" test_file = """ import os import signal import pytest_twisted def output_stuff(): print({test_string!r}) @pytest_twisted.inlineCallbacks def test_succeed(): from twisted.internet import reactor reactor.addSystemEventTrigger({phase!r}, {event!r}, output_stuff) if {kill!r}: os.kill(os.getpid(), signal.SIGINT) yield """.format(kill=kill, event=event, phase=phase, test_string=test_string) testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:1200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_addSystemEventTrigger5 ________________________ test_sigint_for_regular_tests _________________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def test_sigint_for_regular_tests(testdir, cmd_opts): test_file = """ import os import signal import time import twisted.internet import twisted.internet.task def test_self_cancel(): os.kill(os.getpid(), signal.SIGINT) time.sleep(10) def test_should_not_run(): assert False """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:1221: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_sigint_for_regular_tests0 ____________________ test_sigint_for_inline_callbacks_tests ____________________ self = timeout = 15 def wait(self, timeout=None): """Wait for child process to terminate; returns self.returncode.""" if timeout is not None: endtime = _time() + timeout try: > return self._wait(timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15 def _wait(self, timeout): """Internal implementation of wait() on POSIX.""" if self.returncode is not None: return self.returncode if timeout is not None: endtime = _time() + timeout # Enter a busy loop if we have a timeout. This busy loop was # cribbed from Lib/threading.py in Thread.wait() at r71065. delay = 0.0005 # 500 us -> initial delay of 1 ms while True: if self._waitpid_lock.acquire(False): try: if self.returncode is not None: break # Another thread waited. (pid, sts) = self._try_wait(os.WNOHANG) assert pid == self.pid or pid == 0 if pid == self.pid: self._handle_exitstatus(sts) break finally: self._waitpid_lock.release() remaining = self._remaining_time(endtime) if remaining <= 0: > raise TimeoutExpired(self.args, timeout) E subprocess.TimeoutExpired: Command '('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default')' timed out after 15 seconds /usr/lib/python3.14/subprocess.py:2075: TimeoutExpired During handling of the above exception, another exception occurred: testdir = cmd_opts = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def test_sigint_for_inline_callbacks_tests(testdir, cmd_opts): test_file = """ import os import signal import twisted.internet import twisted.internet.task import pytest_twisted @pytest_twisted.inlineCallbacks def test_self_cancel(): os.kill(os.getpid(), signal.SIGINT) yield twisted.internet.task.deferLater( twisted.internet.reactor, 9999, lambda: None, ) @pytest_twisted.inlineCallbacks def test_should_not_run(): assert False yield """ testdir.makepyfile(test_file) > rr = testdir.run(*cmd_opts, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /build/python-pytest-twisted/src/pytest-twisted/testing/test_basic.py:1260: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = timeout = 15, stdin = cmdargs = ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') def run(self, *cmdargs, timeout=None, stdin=CLOSE_STDIN) -> RunResult: """See :meth:`Pytester.run`.""" > return self._pytester.run(*cmdargs, timeout=timeout, stdin=stdin) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E _pytest.pytester.Pytester.TimeoutExpired: 15 second timeout expired running: ('/usr/bin/python', '-m', 'pytest', '-v', '--reactor=default') /usr/lib/python3.14/site-packages/_pytest/legacypath.py:224: TimeoutExpired ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python -m pytest -v --reactor=default in: /tmp/pytest-of-builduser/pytest-0/test_sigint_for_inline_callbacks_tests0 =========================== short test summary info ============================ FAILED testing/test_basic.py::test_inline_callbacks_in_pytest_deprecation[pytest.inlineCallbacks-True] FAILED testing/test_basic.py::test_inline_callbacks_in_pytest_deprecation[pytest_twisted.inlineCallbacks-False] FAILED testing/test_basic.py::test_blockon_in_pytest_deprecation[pytest.blockon-True] FAILED testing/test_basic.py::test_blockon_in_pytest_deprecation[pytest_twisted.blockon-False] FAILED testing/test_basic.py::test_fail_later - _pytest.pytester.Pytester.Tim... FAILED testing/test_basic.py::test_succeed_later - _pytest.pytester.Pytester.... FAILED testing/test_basic.py::test_non_deferred - _pytest.pytester.Pytester.T... FAILED testing/test_basic.py::test_exception - _pytest.pytester.Pytester.Time... FAILED testing/test_basic.py::test_inlineCallbacks[no call] - _pytest.pyteste... FAILED testing/test_basic.py::test_inlineCallbacks[empty call] - _pytest.pyte... FAILED testing/test_basic.py::test_async_await[no call] - _pytest.pytester.Py... FAILED testing/test_basic.py::test_async_await[empty call] - _pytest.pytester... FAILED testing/test_basic.py::test_twisted_greenlet - _pytest.pytester.Pytest... FAILED testing/test_basic.py::test_blockon_in_fixture - _pytest.pytester.Pyte... FAILED testing/test_basic.py::test_blockon_in_fixture_async - _pytest.pyteste... FAILED testing/test_basic.py::test_async_fixture - _pytest.pytester.Pytester.... FAILED testing/test_basic.py::test_async_fixture_no_arguments[no call] - _pyt... FAILED testing/test_basic.py::test_async_fixture_no_arguments[empty call] - _... FAILED testing/test_basic.py::test_async_yield_fixture_ordered_teardown - _py... FAILED testing/test_basic.py::test_async_yield_fixture_can_await - _pytest.py... FAILED testing/test_basic.py::test_async_yield_fixture_failed_test - _pytest.... FAILED testing/test_basic.py::test_async_yield_fixture_test_exception - _pyte... FAILED testing/test_basic.py::test_async_yield_fixture_yields_twice - _pytest... FAILED testing/test_basic.py::test_async_yield_fixture_teardown_exception - _... FAILED testing/test_basic.py::test_async_yield_fixture_no_arguments[no call] FAILED testing/test_basic.py::test_async_yield_fixture_no_arguments[empty call] FAILED testing/test_basic.py::test_async_yield_fixture_function_scope - _pyte... FAILED testing/test_basic.py::test_async_simple_fixture_in_fixture - _pytest.... FAILED testing/test_basic.py::test_async_yield_simple_fixture_in_fixture - _p... FAILED testing/test_basic.py::test_async_fixture_in_fixture[innerasync=True] FAILED testing/test_basic.py::test_async_fixture_in_fixture[innerasync=False] FAILED testing/test_basic.py::test_async_yield_fixture_in_fixture[innerasync=True] FAILED testing/test_basic.py::test_async_yield_fixture_in_fixture[innerasync=False] FAILED testing/test_basic.py::test_blockon_in_hook - _pytest.pytester.Pyteste... FAILED testing/test_basic.py::test_wrong_reactor - _pytest.pytester.Pytester.... FAILED testing/test_basic.py::test_pytest_from_reactor_thread - _pytest.pytes... FAILED testing/test_basic.py::test_async_fixture_module_scope - _pytest.pytes... FAILED testing/test_basic.py::test_inlinecallbacks_method_with_fixture_gets_fixture FAILED testing/test_basic.py::test_ensuredeferred_method_with_fixture_gets_self FAILED testing/test_basic.py::test_ensuredeferred_method_with_fixture_gets_fixture FAILED testing/test_basic.py::test_import_pytest_twisted_in_conftest_py_not_a_problem FAILED testing/test_basic.py::test_addSystemEventTrigger[before-shutdown-False] FAILED testing/test_basic.py::test_addSystemEventTrigger[before-shutdown-True] FAILED testing/test_basic.py::test_addSystemEventTrigger[during-shutdown-False] FAILED testing/test_basic.py::test_addSystemEventTrigger[during-shutdown-True] FAILED testing/test_basic.py::test_addSystemEventTrigger[after-shutdown-False] FAILED testing/test_basic.py::test_addSystemEventTrigger[after-shutdown-True] FAILED testing/test_basic.py::test_sigint_for_regular_tests - _pytest.pyteste... FAILED testing/test_basic.py::test_sigint_for_inline_callbacks_tests - _pytes... ============= 49 failed, 3 passed, 8 skipped in 1026.28s (0:17:06) ============= ==> ERROR: A failure occurred in check().  Aborting... [!p]104[?7h]3008;end=820b00766350407ea440c50248a3ffda\==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-2/build [?25h[?25h[?25hreceiving incremental file list python-pytest-twisted-1.14.3-3-riscv64-build.log python-pytest-twisted-1.14.3-3-riscv64-check.log sent 62 bytes received 10,749 bytes 4,324.40 bytes/sec total size is 225,102 speedup is 20.82