==> Building on magby ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/python-rich-click ./ .SRCINFO 974 100% 0.00kB/s 0:00:00 974 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=8/10) .nvchecker.toml 122 100% 119.14kB/s 0:00:00 122 100% 119.14kB/s 0:00:00 (xfr#2, to-chk=7/10) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=6/10) PKGBUILD 1,418 100% 1.35MB/s 0:00:00 1,418 100% 1.35MB/s 0:00:00 (xfr#4, to-chk=5/10) REUSE.toml 390 100% 380.86kB/s 0:00:00 390 100% 380.86kB/s 0:00:00 (xfr#5, to-chk=4/10) coverage.patch 369 100% 360.35kB/s 0:00:00 369 100% 360.35kB/s 0:00:00 (xfr#6, to-chk=3/10) python-rich-click-1.9.7-1.log 868 100% 847.66kB/s 0:00:00 868 100% 847.66kB/s 0:00:00 (xfr#7, to-chk=2/10) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 3,182 bytes received 212 bytes 2,262.67 bytes/sec total size is 4,121 speedup is 1.21 ==> Applying RISC-V patches... sending incremental file list ./ riscv64.patch 679 100% 0.00kB/s 0:00:00 679 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/2) sent 492 bytes received 38 bytes 353.33 bytes/sec total size is 679 speedup is 1.28 patching file PKGBUILD ==> 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-rich-click -> repo: extra -> arch: riscv64 -> worker: felix-4 ==> Building python-rich-click for [extra] (riscv64) Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. [?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-4]...done ==> Making package: python-rich-click 1.9.7-1 (Sat Aug 29 21:50:44 2026) ==> Retrieving sources...  -> Cloning rich-click git repo... Cloning into bare repository '/home/felix/packages/python-rich-click/rich-click'... remote: Enumerating objects: 12197, done. remote: Counting objects: 0% (1/1147) remote: Counting objects: 1% (12/1147) remote: Counting objects: 2% (23/1147) remote: Counting objects: 3% (35/1147) remote: Counting objects: 4% (46/1147) remote: Counting objects: 5% (58/1147) remote: Counting objects: 6% (69/1147) remote: Counting objects: 7% (81/1147) remote: Counting objects: 8% (92/1147) remote: Counting objects: 9% (104/1147) remote: Counting objects: 10% (115/1147) remote: Counting objects: 11% (127/1147) remote: Counting objects: 12% (138/1147) remote: Counting objects: 13% (150/1147) remote: Counting objects: 14% (161/1147) remote: Counting objects: 15% (173/1147) remote: Counting objects: 16% (184/1147) remote: Counting objects: 17% (195/1147) remote: Counting objects: 18% (207/1147) remote: Counting objects: 19% (218/1147) remote: Counting objects: 20% (230/1147) remote: Counting objects: 21% (241/1147) remote: Counting objects: 22% (253/1147) remote: Counting objects: 23% (264/1147) remote: Counting objects: 24% (276/1147) remote: Counting objects: 25% (287/1147) remote: Counting objects: 26% (299/1147) remote: Counting objects: 27% (310/1147) remote: Counting objects: 28% (322/1147) remote: Counting objects: 29% (333/1147) remote: Counting objects: 30% (345/1147) remote: Counting objects: 31% (356/1147) remote: Counting objects: 32% (368/1147) remote: Counting objects: 33% (379/1147) remote: Counting objects: 34% (390/1147) remote: Counting objects: 35% (402/1147) remote: Counting objects: 36% (413/1147) remote: Counting objects: 37% (425/1147) remote: Counting objects: 38% (436/1147) remote: Counting objects: 39% (448/1147) remote: Counting objects: 40% (459/1147) remote: Counting objects: 41% (471/1147) remote: Counting objects: 42% (482/1147) remote: Counting objects: 43% (494/1147) remote: Counting objects: 44% (505/1147) remote: Counting objects: 45% (517/1147) remote: Counting objects: 46% (528/1147) remote: Counting objects: 47% (540/1147) remote: Counting objects: 48% (551/1147) remote: Counting objects: 49% (563/1147) remote: Counting objects: 50% (574/1147) remote: Counting objects: 51% (585/1147) remote: Counting objects: 52% (597/1147) remote: Counting objects: 53% (608/1147) remote: Counting objects: 54% (620/1147) remote: Counting objects: 55% (631/1147) remote: Counting objects: 56% (643/1147) remote: Counting objects: 57% (654/1147) remote: Counting objects: 58% (666/1147) remote: Counting objects: 59% (677/1147) remote: Counting objects: 60% (689/1147) remote: Counting objects: 61% (700/1147) remote: Counting objects: 62% (712/1147) remote: Counting objects: 63% (723/1147) remote: Counting objects: 64% (735/1147) remote: Counting objects: 65% (746/1147) remote: Counting objects: 66% (758/1147) remote: Counting objects: 67% (769/1147) remote: Counting objects: 68% (780/1147) remote: Counting objects: 69% (792/1147) remote: Counting objects: 70% (803/1147) remote: Counting objects: 71% (815/1147) remote: Counting objects: 72% (826/1147) remote: Counting objects: 73% (838/1147) remote: Counting objects: 74% (849/1147) remote: Counting objects: 75% (861/1147) remote: Counting objects: 76% (872/1147) remote: Counting objects: 77% (884/1147) remote: Counting objects: 78% (895/1147) remote: Counting objects: 79% (907/1147) remote: Counting objects: 80% (918/1147) remote: Counting objects: 81% (930/1147) remote: Counting objects: 82% (941/1147) remote: Counting objects: 83% (953/1147) remote: Counting objects: 84% (964/1147) remote: Counting objects: 85% (975/1147) remote: Counting objects: 86% (987/1147) remote: Counting objects: 87% (998/1147) remote: Counting objects: 88% (1010/1147) remote: Counting objects: 89% (1021/1147) remote: Counting objects: 90% (1033/1147) remote: Counting objects: 91% (1044/1147) remote: Counting objects: 92% (1056/1147) remote: Counting objects: 93% (1067/1147) remote: Counting objects: 94% (1079/1147) remote: Counting objects: 95% (1090/1147) remote: Counting objects: 96% (1102/1147) remote: Counting objects: 97% (1113/1147) remote: Counting objects: 98% (1125/1147) remote: Counting objects: 99% (1136/1147) remote: Counting objects: 100% (1147/1147) remote: Counting objects: 100% (1147/1147), done. remote: Compressing objects: 0% (1/295) remote: Compressing objects: 1% (3/295) remote: Compressing objects: 2% (6/295) remote: Compressing objects: 3% (9/295) remote: Compressing objects: 4% (12/295) remote: Compressing objects: 5% (15/295) remote: Compressing objects: 6% (18/295) remote: Compressing objects: 7% (21/295) remote: Compressing objects: 8% (24/295) remote: Compressing objects: 9% (27/295) remote: Compressing objects: 10% (30/295) remote: Compressing objects: 11% (33/295) remote: Compressing objects: 12% (36/295) remote: Compressing objects: 13% (39/295) remote: Compressing objects: 14% (42/295) remote: Compressing objects: 15% (45/295) remote: Compressing objects: 16% (48/295) remote: Compressing objects: 17% (51/295) remote: Compressing objects: 18% (54/295) remote: Compressing objects: 19% (57/295) remote: Compressing objects: 20% (59/295) remote: Compressing objects: 21% (62/295) remote: Compressing objects: 22% (65/295) remote: Compressing objects: 23% (68/295) remote: Compressing objects: 24% (71/295) remote: Compressing objects: 25% (74/295) remote: Compressing objects: 26% (77/295) remote: Compressing objects: 27% (80/295) remote: Compressing objects: 28% (83/295) remote: Compressing objects: 29% (86/295) remote: Compressing objects: 30% (89/295) remote: Compressing objects: 31% (92/295) remote: Compressing objects: 32% (95/295) remote: Compressing objects: 33% (98/295) remote: Compressing objects: 34% (101/295) remote: Compressing objects: 35% (104/295) remote: Compressing objects: 36% (107/295) remote: Compressing objects: 37% (110/295) remote: Compressing objects: 38% (113/295) remote: Compressing objects: 39% (116/295) remote: Compressing objects: 40% (118/295) remote: Compressing objects: 41% (121/295) remote: Compressing objects: 42% (124/295) remote: Compressing objects: 43% (127/295) remote: Compressing objects: 44% (130/295) remote: Compressing objects: 45% (133/295) remote: Compressing objects: 46% (136/295) remote: Compressing objects: 47% (139/295) remote: Compressing objects: 48% (142/295) remote: Compressing objects: 49% (145/295) remote: Compressing objects: 50% (148/295) remote: Compressing objects: 51% (151/295) remote: Compressing objects: 52% (154/295) remote: Compressing objects: 53% (157/295) remote: Compressing objects: 54% (160/295) remote: Compressing objects: 55% (163/295) remote: Compressing objects: 56% (166/295) remote: Compressing objects: 57% (169/295) remote: Compressing objects: 58% (172/295) remote: Compressing objects: 59% (175/295) remote: Compressing objects: 60% (177/295) remote: Compressing objects: 61% (180/295) remote: Compressing objects: 62% (183/295) remote: Compressing objects: 63% (186/295) remote: Compressing objects: 64% (189/295) remote: Compressing objects: 65% (192/295) remote: Compressing objects: 66% (195/295) remote: Compressing objects: 67% (198/295) remote: Compressing objects: 68% (201/295) remote: Compressing objects: 69% (204/295) remote: Compressing objects: 70% (207/295) remote: Compressing objects: 71% (210/295) remote: Compressing objects: 72% (213/295) remote: Compressing objects: 73% (216/295) remote: Compressing objects: 74% (219/295) remote: Compressing objects: 75% (222/295) remote: Compressing objects: 76% (225/295) remote: Compressing objects: 77% (228/295) remote: Compressing objects: 78% (231/295) remote: Compressing objects: 79% (234/295) remote: Compressing objects: 80% (236/295) remote: Compressing objects: 81% (239/295) remote: Compressing objects: 82% (242/295) remote: Compressing objects: 83% (245/295) remote: Compressing objects: 84% (248/295) remote: Compressing objects: 85% (251/295) remote: Compressing objects: 86% (254/295) remote: Compressing objects: 87% (257/295) remote: Compressing objects: 88% (260/295) remote: Compressing objects: 89% (263/295) remote: Compressing objects: 90% (266/295) remote: Compressing objects: 91% (269/295) remote: Compressing objects: 92% (272/295) remote: Compressing objects: 93% (275/295) remote: Compressing objects: 94% (278/295) remote: Compressing objects: 95% (281/295) remote: Compressing objects: 96% (284/295) remote: Compressing objects: 97% (287/295) remote: Compressing objects: 98% (290/295) remote: Compressing objects: 99% (293/295) remote: Compressing objects: 100% (295/295) remote: Compressing objects: 100% (295/295), done. Receiving objects: 0% (1/12197) Receiving objects: 1% (122/12197) Receiving objects: 2% (244/12197) Receiving objects: 3% (366/12197) Receiving objects: 4% (488/12197) Receiving objects: 5% (610/12197) Receiving objects: 6% (732/12197) Receiving objects: 7% (854/12197) Receiving objects: 8% (976/12197) Receiving objects: 9% (1098/12197) Receiving objects: 10% (1220/12197) Receiving objects: 11% (1342/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 12% (1464/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 13% (1586/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 14% (1708/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 14% (1746/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 15% (1830/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 16% (1952/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 17% (2074/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 18% (2196/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 19% (2318/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 20% (2440/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 21% (2562/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 22% (2684/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 23% (2806/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 24% (2928/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 25% (3050/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 26% (3172/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 27% (3294/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 28% (3416/12197), 3.07 MiB | 6.08 MiB/s Receiving objects: 29% (3538/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 30% (3660/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 31% (3782/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 32% (3904/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 33% (4026/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 34% (4147/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 35% (4269/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 36% (4391/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 37% (4513/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 38% (4635/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 39% (4757/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 40% (4879/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 41% (5001/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 42% (5123/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 43% (5245/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 44% (5367/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 45% (5489/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 46% (5611/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 47% (5733/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 48% (5855/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 49% (5977/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 50% (6099/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 51% (6221/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 52% (6343/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 53% (6465/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 54% (6587/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 55% (6709/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 56% (6831/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 57% (6953/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 58% (7075/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 59% (7197/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 60% (7319/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 61% (7441/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 62% (7563/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 63% (7685/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 64% (7807/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 65% (7929/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 66% (8051/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 67% (8172/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 68% (8294/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 69% (8416/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 70% (8538/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 71% (8660/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 72% (8782/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 73% (8904/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 74% (9026/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 75% (9148/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 76% (9270/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 77% (9392/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 78% (9514/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 79% (9636/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 80% (9758/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 81% (9880/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 82% (10002/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 83% (10124/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 84% (10246/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 85% (10368/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 86% (10490/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 87% (10612/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 88% (10734/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 89% (10856/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 90% (10978/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 91% (11100/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 92% (11222/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 93% (11344/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 94% (11466/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 95% (11588/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 96% (11710/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 97% (11832/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 98% (11954/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 99% (12076/12197), 10.68 MiB | 9.32 MiB/s remote: Total 12197 (delta 990), reused 903 (delta 832), pack-reused 11050 (from 1) Receiving objects: 100% (12197/12197), 10.68 MiB | 9.32 MiB/s Receiving objects: 100% (12197/12197), 20.96 MiB | 14.24 MiB/s, done. Resolving deltas: 0% (0/8552) Resolving deltas: 1% (86/8552) Resolving deltas: 2% (172/8552) Resolving deltas: 3% (257/8552) Resolving deltas: 4% (343/8552) Resolving deltas: 5% (428/8552) Resolving deltas: 6% (514/8552) Resolving deltas: 7% (599/8552) Resolving deltas: 8% (685/8552) Resolving deltas: 9% (770/8552) Resolving deltas: 10% (856/8552) Resolving deltas: 11% (941/8552) Resolving deltas: 12% (1027/8552) Resolving deltas: 13% (1113/8552) Resolving deltas: 14% (1198/8552) Resolving deltas: 15% (1283/8552) Resolving deltas: 16% (1369/8552) Resolving deltas: 17% (1454/8552) Resolving deltas: 18% (1540/8552) Resolving deltas: 19% (1625/8552) Resolving deltas: 20% (1712/8552) Resolving deltas: 21% (1796/8552) Resolving deltas: 22% (1884/8552) Resolving deltas: 23% (1967/8552) Resolving deltas: 24% (2054/8552) Resolving deltas: 25% (2138/8552) Resolving deltas: 26% (2225/8552) Resolving deltas: 27% (2310/8552) Resolving deltas: 28% (2395/8552) Resolving deltas: 29% (2481/8552) Resolving deltas: 30% (2566/8552) Resolving deltas: 31% (2652/8552) Resolving deltas: 32% (2737/8552) Resolving deltas: 33% (2823/8552) Resolving deltas: 34% (2908/8552) Resolving deltas: 35% (2994/8552) Resolving deltas: 36% (3079/8552) Resolving deltas: 37% (3165/8552) Resolving deltas: 38% (3250/8552) Resolving deltas: 39% (3338/8552) Resolving deltas: 40% (3422/8552) Resolving deltas: 41% (3507/8552) Resolving deltas: 42% (3592/8552) Resolving deltas: 43% (3678/8552) Resolving deltas: 44% (3763/8552) Resolving deltas: 45% (3849/8552) Resolving deltas: 46% (3934/8552) Resolving deltas: 47% (4020/8552) Resolving deltas: 48% (4105/8552) Resolving deltas: 49% (4192/8552) Resolving deltas: 50% (4276/8552) Resolving deltas: 51% (4362/8552) Resolving deltas: 52% (4448/8552) Resolving deltas: 53% (4533/8552) Resolving deltas: 54% (4619/8552) Resolving deltas: 55% (4704/8552) Resolving deltas: 56% (4790/8552) Resolving deltas: 57% (4875/8552) Resolving deltas: 58% (4961/8552) Resolving deltas: 59% (5046/8552) Resolving deltas: 60% (5132/8552) Resolving deltas: 61% (5217/8552) Resolving deltas: 62% (5303/8552) Resolving deltas: 63% (5388/8552) Resolving deltas: 64% (5475/8552) Resolving deltas: 65% (5559/8552) Resolving deltas: 66% (5645/8552) Resolving deltas: 67% (5730/8552) Resolving deltas: 68% (5816/8552) Resolving deltas: 69% (5901/8552) Resolving deltas: 70% (5987/8552) Resolving deltas: 71% (6072/8552) Resolving deltas: 72% (6159/8552) Resolving deltas: 73% (6243/8552) Resolving deltas: 74% (6329/8552) Resolving deltas: 75% (6414/8552) Resolving deltas: 76% (6500/8552) Resolving deltas: 77% (6586/8552) Resolving deltas: 78% (6671/8552) Resolving deltas: 79% (6757/8552) Resolving deltas: 80% (6842/8552) Resolving deltas: 81% (6928/8552) Resolving deltas: 82% (7013/8552) Resolving deltas: 83% (7099/8552) Resolving deltas: 84% (7184/8552) Resolving deltas: 85% (7270/8552) Resolving deltas: 86% (7355/8552) Resolving deltas: 87% (7442/8552) Resolving deltas: 88% (7526/8552) Resolving deltas: 89% (7612/8552) Resolving deltas: 90% (7697/8552) Resolving deltas: 91% (7783/8552) Resolving deltas: 92% (7868/8552) Resolving deltas: 93% (7954/8552) Resolving deltas: 94% (8039/8552) Resolving deltas: 95% (8125/8552) Resolving deltas: 96% (8210/8552) Resolving deltas: 97% (8296/8552) Resolving deltas: 98% (8381/8552) Resolving deltas: 99% (8467/8552) Resolving deltas: 100% (8552/8552) Resolving deltas: 100% (8552/8552), done.  -> Found coverage.patch ==> Validating source files with b2sums... rich-click ... Passed coverage.patch ... Passed Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. ==> Making package: python-rich-click 1.9.7-1 (Sat Aug 29 21:50:56 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (8) New Version Net Change Download Size extra/python-markdown-it-py 4.2.0-1 0.81 MiB extra/python-mdurl 0.1.2-9 0.06 MiB extra/python-pygments 2.20.0-1 15.36 MiB extra/python-zipp 3.21.0-4 0.08 MiB extra/python-click 8.3.3-1 1.38 MiB extra/python-importlib-metadata 9.0.1-1 0.26 MiB 0.05 MiB extra/python-rich 15.0.0-1 4.49 MiB extra/python-typing_extensions 4.16.0-1 0.53 MiB Total Download Size: 0.05 MiB Total Installed Size: 22.97 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-importlib-metadata-9.0.1-1-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-click... installing python-typing_extensions... installing python-mdurl... installing python-markdown-it-py... Optional dependencies for python-markdown-it-py python-mdit_py_plugins: core plugins python-linkify-it-py: linkify extension installing python-pygments... installing python-rich... installing python-zipp... installing python-importlib-metadata... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (29) New Version Net Change Download Size extra/perl-error 0.17030-3 0.04 MiB extra/perl-mailtools 2.22-3 0.10 MiB extra/perl-timedate 2.35-1 0.15 MiB extra/python-annotated-doc 0.0.5-1 0.02 MiB 0.01 MiB extra/python-asttokens 3.0.1-1 0.20 MiB extra/python-autocommand 2.2.2-9 0.08 MiB extra/python-executing 2.2.1-3.1 0.29 MiB extra/python-iniconfig 2.3.0-1 0.07 MiB extra/python-jaraco.collections 5.1.0-3 0.11 MiB extra/python-jaraco.context 6.1.2-1 0.06 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 11.1.0-1 0.77 MiB extra/python-packaging 26.3-1 1.58 MiB extra/python-pkg_resources 81.0.0-1 0.50 MiB extra/python-platformdirs 4.11.5-1 0.47 MiB extra/python-pluggy 1.6.0-3.1 0.23 MiB extra/python-pyproject-hooks 1.2.0-6 0.11 MiB extra/python-shellingham 1.5.4-4 0.06 MiB 0.02 MiB extra/zlib-ng 2.3.3-1 0.23 MiB extra/git 2.55.0-1 29.92 MiB extra/python-build 1.4.3-1 0.26 MiB extra/python-inline-snapshot 0.32.6-1 0.99 MiB extra/python-installer 1.0.0-1 0.20 MiB extra/python-pytest 1:9.0.3-1 4.86 MiB extra/python-setuptools 1:82.0.1-1 7.35 MiB extra/python-typer 0.27.1-1 1.72 MiB 0.27 MiB extra/python-wheel 0.48.0-1 0.34 MiB extra/ruff 0.16.5-1 24.04 MiB Total Download Size: 0.30 MiB Total Installed Size: 74.89 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-typer-0.27.1-1-any downloading... python-shellingham-1.5.4-4-any downloading... python-annotated-doc-0.0.5-1-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-packaging... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer python-virtualenv: to use virtualenv for build isolation installing python-installer... 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-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-pkg_resources... installing python-setuptools... 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 installing python-iniconfig... installing python-pluggy... installing python-pytest... installing python-shellingham... installing python-annotated-doc... installing python-typer... installing python-asttokens... installing python-executing... installing python-inline-snapshot... Optional dependencies for python-inline-snapshot python-black: retains black formatting python-dirty-equals: snapshot comparison using dirty-equals installing ruff... :: Running post-transaction hooks... (1/4) Creating system user accounts... Creating group 'git' with GID 968. Creating user 'git' (git daemon user) with UID 968 and GID 968. (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...  -> Found coverage.patch ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Creating working copy of rich-click git repo... Cloning into 'rich-click'... done. Switched to a new branch 'makepkg' ==> Starting prepare()... patching file pyproject.toml Hunk #1 succeeded at 119 (offset 1 line). ==> Starting build()... * Getting build dependencies for wheel... No `packages` or `py_modules` configuration, performing automatic discovery. `src-layout` detected -- analysing ./src discovered packages -- ['rich_click'] discovered py_modules -- [] /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2027-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) running egg_info creating src/rich_click.egg-info writing src/rich_click.egg-info/PKG-INFO writing dependency_links to src/rich_click.egg-info/dependency_links.txt writing entry points to src/rich_click.egg-info/entry_points.txt writing requirements to src/rich_click.egg-info/requires.txt writing top-level names to src/rich_click.egg-info/top_level.txt writing manifest file 'src/rich_click.egg-info/SOURCES.txt' reading manifest file 'src/rich_click.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'src/rich_click.egg-info/SOURCES.txt' * Building wheel... No `packages` or `py_modules` configuration, performing automatic discovery. `src-layout` detected -- analysing ./src discovered packages -- ['rich_click'] discovered py_modules -- [] /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2027-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) running bdist_wheel running build running build_py creating build/lib/rich_click copying src/rich_click/patch.py -> build/lib/rich_click copying src/rich_click/rich_context.py -> build/lib/rich_click copying src/rich_click/_internal_types.py -> build/lib/rich_click copying src/rich_click/rich_help_rendering.py -> build/lib/rich_click copying src/rich_click/rich_click.py -> build/lib/rich_click copying src/rich_click/utils.py -> build/lib/rich_click copying src/rich_click/decorators.py -> build/lib/rich_click copying src/rich_click/__main__.py -> build/lib/rich_click copying src/rich_click/_click_types_cache.py -> build/lib/rich_click copying src/rich_click/_compat_click.py -> build/lib/rich_click copying src/rich_click/rich_parameter.py -> build/lib/rich_click copying src/rich_click/rich_click_theme.py -> build/lib/rich_click copying src/rich_click/cli.py -> build/lib/rich_click copying src/rich_click/__init__.py -> build/lib/rich_click copying src/rich_click/rich_box.py -> build/lib/rich_click copying src/rich_click/rich_group.py -> build/lib/rich_click copying src/rich_click/rich_panel.py -> build/lib/rich_click copying src/rich_click/rich_help_configuration.py -> build/lib/rich_click copying src/rich_click/rich_command.py -> build/lib/rich_click copying src/rich_click/rich_help_formatter.py -> build/lib/rich_click running egg_info writing src/rich_click.egg-info/PKG-INFO writing dependency_links to src/rich_click.egg-info/dependency_links.txt writing entry points to src/rich_click.egg-info/entry_points.txt writing requirements to src/rich_click.egg-info/requires.txt writing top-level names to src/rich_click.egg-info/top_level.txt reading manifest file 'src/rich_click.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'src/rich_click.egg-info/SOURCES.txt' copying src/rich_click/decorators.pyi -> build/lib/rich_click copying src/rich_click/py.typed -> build/lib/rich_click copying src/rich_click/rich_command.pyi -> build/lib/rich_click installing to build/bdist.linux-riscv64/wheel running install running install_lib creating build/bdist.linux-riscv64/wheel creating build/bdist.linux-riscv64/wheel/rich_click copying build/lib/rich_click/patch.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/rich_context.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/_internal_types.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/rich_help_rendering.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/rich_click.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/utils.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/decorators.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/py.typed -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/__main__.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/_click_types_cache.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/_compat_click.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/rich_parameter.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/rich_click_theme.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/cli.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/__init__.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/rich_box.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/decorators.pyi -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/rich_group.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/rich_panel.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/rich_help_configuration.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/rich_command.py -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/rich_command.pyi -> build/bdist.linux-riscv64/wheel/./rich_click copying build/lib/rich_click/rich_help_formatter.py -> build/bdist.linux-riscv64/wheel/./rich_click running install_egg_info Copying src/rich_click.egg-info to build/bdist.linux-riscv64/wheel/./rich_click-1.9.7-py3.14.egg-info running install_scripts creating build/bdist.linux-riscv64/wheel/rich_click-1.9.7.dist-info/WHEEL creating '/build/python-rich-click/src/rich-click/dist/.tmp-ec9i6c6t/rich_click-1.9.7-py3-none-any.whl' and adding 'build/bdist.linux-riscv64/wheel' to it adding 'rich_click/__init__.py' adding 'rich_click/__main__.py' adding 'rich_click/_click_types_cache.py' adding 'rich_click/_compat_click.py' adding 'rich_click/_internal_types.py' adding 'rich_click/cli.py' adding 'rich_click/decorators.py' adding 'rich_click/decorators.pyi' adding 'rich_click/patch.py' adding 'rich_click/py.typed' adding 'rich_click/rich_box.py' adding 'rich_click/rich_click.py' adding 'rich_click/rich_click_theme.py' adding 'rich_click/rich_command.py' adding 'rich_click/rich_command.pyi' adding 'rich_click/rich_context.py' adding 'rich_click/rich_group.py' adding 'rich_click/rich_help_configuration.py' adding 'rich_click/rich_help_formatter.py' adding 'rich_click/rich_help_rendering.py' adding 'rich_click/rich_panel.py' adding 'rich_click/rich_parameter.py' adding 'rich_click/utils.py' adding 'rich_click-1.9.7.dist-info/licenses/LICENSE' adding 'rich_click-1.9.7.dist-info/METADATA' adding 'rich_click-1.9.7.dist-info/WHEEL' adding 'rich_click-1.9.7.dist-info/entry_points.txt' adding 'rich_click-1.9.7.dist-info/top_level.txt' adding 'rich_click-1.9.7.dist-info/RECORD' removing build/bdist.linux-riscv64/wheel Successfully built rich_click-1.9.7-py3-none-any.whl ==> Starting check()... ======================================= test session starts ======================================== platform linux -- Python 3.14.7, pytest-9.0.3, pluggy-1.6.0 -- /build/python-rich-click/src/rich-click/test-env/bin/python cachedir: .pytest_cache rootdir: /build/python-rich-click/src/rich-click configfile: pyproject.toml testpaths: tests plugins: inline-snapshot-0.32.6 collecting ... collected 141 items tests/help/test_arguments.py::test_arguments_help FAILED tests/help/test_arguments.py::test_arguments_help ERROR tests/help/test_arguments.py::test_arguments_help_with_no_show_arguments FAILED tests/help/test_arguments.py::test_arguments_help_with_no_show_arguments ERROR tests/help/test_arguments.py::test_arguments_help_with_help_panel_title FAILED tests/help/test_arguments.py::test_arguments_help_with_help_panel_title ERROR tests/help/test_arguments.py::test_arguments_help_with_help_panel_config FAILED tests/help/test_arguments.py::test_arguments_help_with_help_panel_config ERROR tests/help/test_arguments.py::test_arguments_help_grouped_with_options FAILED tests/help/test_arguments.py::test_arguments_help_grouped_with_options ERROR tests/help/test_class_overrides.py::test_class_overrides_command_panel FAILED tests/help/test_class_overrides.py::test_class_overrides_command_panel ERROR tests/help/test_class_overrides.py::test_class_overrides_click_command PASSED tests/help/test_class_overrides.py::test_class_overrides_click_parameters FAILED tests/help/test_class_overrides.py::test_class_overrides_click_parameters ERROR tests/help/test_context_settings.py::test_context_settings_help_for_click_8_1_plus FAILED tests/help/test_context_settings.py::test_context_settings_help_for_click_8_1_plus ERROR tests/help/test_context_settings.py::test_context_settings_help_for_click_8_0 SKIPPED (R...) tests/help/test_custom_errors.py::test_custom_errors_bad_input FAILED tests/help/test_custom_errors.py::test_custom_errors_bad_input ERROR tests/help/test_declarative.py::test_declarative_help FAILED tests/help/test_declarative.py::test_declarative_help ERROR tests/help/test_declarative.py::test_declarative_subcommand_help FAILED tests/help/test_declarative.py::test_declarative_subcommand_help ERROR tests/help/test_declarative.py::test_context_type PASSED tests/help/test_defaults.py::test_defaults_help FAILED tests/help/test_defaults.py::test_defaults_help ERROR tests/help/test_defaults.py::test_defaults_help_subcommand_with_show_default_string FAILED tests/help/test_defaults.py::test_defaults_help_subcommand_with_show_default_string ERROR tests/help/test_defaults.py::test_defaults_help_subcommand_with_show_default_string_and_markdown FAILED tests/help/test_defaults.py::test_defaults_help_subcommand_with_show_default_string_and_markdown ERROR tests/help/test_deprecated.py::test_deprecated_help FAILED tests/help/test_deprecated.py::test_deprecated_help ERROR tests/help/test_deprecated.py::test_deprecated_help_subcommand_bool FAILED tests/help/test_deprecated.py::test_deprecated_help_subcommand_bool ERROR tests/help/test_deprecated.py::test_deprecated_help_subcommand_string FAILED tests/help/test_deprecated.py::test_deprecated_help_subcommand_string ERROR tests/help/test_deprecated.py::test_deprecated_help_with_markdown FAILED tests/help/test_deprecated.py::test_deprecated_help_with_markdown ERROR tests/help/test_deprecated.py::test_deprecated_help_subcommand_bool_with_markdown FAILED tests/help/test_deprecated.py::test_deprecated_help_subcommand_bool_with_markdown ERROR tests/help/test_deprecated.py::test_deprecated_help_subcommand_string_with_markdown FAILED tests/help/test_deprecated.py::test_deprecated_help_subcommand_string_with_markdown ERROR tests/help/test_envvar.py::test_envvar_greet_help FAILED tests/help/test_envvar.py::test_envvar_greet_help ERROR tests/help/test_envvar.py::test_envvar_greet_help_with_envvar_string FAILED tests/help/test_envvar.py::test_envvar_greet_help_with_envvar_string ERROR tests/help/test_epilog_and_footer.py::test_epilog_help FAILED tests/help/test_epilog_and_footer.py::test_epilog_help ERROR tests/help/test_epilog_and_footer.py::test_epilog_help_subcommand_no_footer FAILED tests/help/test_epilog_and_footer.py::test_epilog_help_subcommand_no_footer ERROR tests/help/test_epilog_and_footer.py::test_epilog_help_subcommand_no_epilog FAILED tests/help/test_epilog_and_footer.py::test_epilog_help_subcommand_no_epilog ERROR tests/help/test_epilog_and_footer.py::test_epilog_help_subcommand_footer_is_rich_text FAILED tests/help/test_epilog_and_footer.py::test_epilog_help_subcommand_footer_is_rich_text ERROR tests/help/test_epilog_and_footer.py::test_epilog_help_subcommand_epilog_is_rich_text FAILED tests/help/test_epilog_and_footer.py::test_epilog_help_subcommand_epilog_is_rich_text ERROR tests/help/test_epilog_and_footer.py::test_epilog_help_turn_off_rich_markup FAILED tests/help/test_epilog_and_footer.py::test_epilog_help_turn_off_rich_markup ERROR tests/help/test_flag_values.py::test_flag_values_help FAILED tests/help/test_flag_values.py::test_flag_values_help ERROR tests/help/test_groups_sorting.py::test_groups_sorting_help FAILED tests/help/test_groups_sorting.py::test_groups_sorting_help ERROR tests/help/test_groups_sorting.py::test_groups_sorting_help_subcommand_sync FAILED tests/help/test_groups_sorting.py::test_groups_sorting_help_subcommand_sync ERROR tests/help/test_groups_sorting.py::test_groups_sorting_help_subcommand_download FAILED tests/help/test_groups_sorting.py::test_groups_sorting_help_subcommand_download ERROR tests/help/test_groups_sorting.py::test_groups_sorting_help_subcommand_config FAILED tests/help/test_groups_sorting.py::test_groups_sorting_help_subcommand_config ERROR tests/help/test_groups_sorting.py::test_groups_sorting_help_subcommand_auth FAILED tests/help/test_groups_sorting.py::test_groups_sorting_help_subcommand_auth ERROR tests/help/test_header.py::test_header_help FAILED tests/help/test_header.py::test_header_help ERROR tests/help/test_header.py::test_header_subcommand_help FAILED tests/help/test_header.py::test_header_subcommand_help ERROR tests/help/test_header.py::test_header_help_turn_off_rich_markup FAILED tests/help/test_header.py::test_header_help_turn_off_rich_markup ERROR tests/help/test_markdown.py::test_markdown_help SKIPPED (Rich <13 has different table st...) tests/help/test_markdown.py::test_markdown_help_turn_off_markdown FAILED tests/help/test_markdown.py::test_markdown_help_turn_off_markdown ERROR tests/help/test_markdown.py::test_markdown_help_text_markup_field SKIPPED (Rich <13 has ...) tests/help/test_markdown.py::test_markdown_help_rich_13 SKIPPED (Rich <14.3 has differen...) tests/help/test_markdown.py::test_markdown_help_text_markup_field_rich_13 SKIPPED (Rich ...) tests/help/test_metavars.py::test_metavars_help FAILED tests/help/test_metavars.py::test_metavars_help ERROR tests/help/test_metavars.py::test_metavars_help_flipped FAILED tests/help/test_metavars.py::test_metavars_help_flipped ERROR tests/help/test_metavars.py::test_metavars_help_flipped_help_string FAILED tests/help/test_metavars.py::test_metavars_help_flipped_help_string ERROR tests/help/test_options.py::test_options_help FAILED tests/help/test_options.py::test_options_help ERROR tests/help/test_options.py::test_options_help_envvar_first FAILED tests/help/test_options.py::test_options_help_envvar_first ERROR tests/help/test_options.py::test_options_help_dont_show_metavars FAILED tests/help/test_options.py::test_options_help_dont_show_metavars ERROR tests/help/test_panels_defaults.py::test_panels_defaults_command_panel FAILED tests/help/test_panels_defaults.py::test_panels_defaults_command_panel ERROR tests/help/test_panels_defaults.py::test_panels_defaults_argument_panel FAILED tests/help/test_panels_defaults.py::test_panels_defaults_argument_panel ERROR tests/help/test_panels_defaults.py::test_panels_defaults_order FAILED tests/help/test_panels_defaults.py::test_panels_defaults_order ERROR tests/help/test_panels_sorting.py::test_command_panel_order FAILED tests/help/test_panels_sorting.py::test_command_panel_order ERROR tests/help/test_panels_sorting.py::test_panel_order_in_panel_decorator FAILED tests/help/test_panels_sorting.py::test_panel_order_in_panel_decorator ERROR tests/help/test_panels_sorting.py::test_option_order_with_panel_decorator FAILED tests/help/test_panels_sorting.py::test_option_order_with_panel_decorator ERROR tests/help/test_panels_sorting.py::test_panel_order_with_panel_kwarg FAILED tests/help/test_panels_sorting.py::test_panel_order_with_panel_kwarg ERROR tests/help/test_panels_sorting.py::test_option_order_with_panel_kwarg FAILED tests/help/test_panels_sorting.py::test_option_order_with_panel_kwarg ERROR tests/help/test_panels_sorting.py::test_panel_order_commands_above_options FAILED tests/help/test_panels_sorting.py::test_panel_order_commands_above_options ERROR tests/help/test_panels_sorting.py::test_panel_order_options_above_commands FAILED tests/help/test_panels_sorting.py::test_panel_order_options_above_commands ERROR tests/help/test_panels_sorting.py::test_panel_order_options_above_commands_with_arguments FAILED tests/help/test_panels_sorting.py::test_panel_order_options_above_commands_with_arguments ERROR tests/help/test_panels_sorting.py::test_panel_order_arguments_options_commands FAILED tests/help/test_panels_sorting.py::test_panel_order_arguments_options_commands ERROR tests/help/test_panels_sorting.py::test_panel_option_and_command_same_name FAILED tests/help/test_panels_sorting.py::test_panel_option_and_command_same_name ERROR tests/help/test_panels_sorting.py::test_panel_different_type_panels_same_name FAILED tests/help/test_panels_sorting.py::test_panel_different_type_panels_same_name ERROR tests/help/test_panels_sorting.py::test_add_command_panel_kwarg FAILED tests/help/test_panels_sorting.py::test_add_command_panel_kwarg ERROR tests/help/test_panels_sorting.py::test_no_duplicatio_of_commands FAILED tests/help/test_panels_sorting.py::test_no_duplicatio_of_commands ERROR tests/help/test_panels_sorting.py::test_ignore_behavior_duplicate_assignments FAILED tests/help/test_panels_sorting.py::test_ignore_behavior_duplicate_assignments ERROR tests/help/test_panels_styles.py::test_styles_command_panel FAILED tests/help/test_panels_styles.py::test_styles_command_panel ERROR tests/help/test_panels_styles.py::test_styles_options_panel FAILED tests/help/test_panels_styles.py::test_styles_options_panel ERROR tests/help/test_rich_markup.py::test_rich_markup_help FAILED tests/help/test_rich_markup.py::test_rich_markup_help ERROR tests/help/test_rich_markup.py::test_rich_markup_help_turn_off_rich_markup FAILED tests/help/test_rich_markup.py::test_rich_markup_help_turn_off_rich_markup ERROR tests/help/test_rich_markup.py::test_markdown_help_text_markup_field FAILED tests/help/test_rich_markup.py::test_markdown_help_text_markup_field ERROR tests/help/test_simple.py::test_simple_help FAILED tests/help/test_simple.py::test_simple_help ERROR tests/help/test_simple.py::test_simple_help_no_args_is_help FAILED tests/help/test_simple.py::test_simple_help_no_args_is_help ERROR tests/help/test_simple.py::test_simple_help_commands_before_options FAILED tests/help/test_simple.py::test_simple_help_commands_before_options ERROR tests/help/test_simple.py::test_simple_help_no_such_command FAILED tests/help/test_simple.py::test_simple_help_no_such_command ERROR tests/help/test_simple.py::test_simple_help_nu_theme FAILED tests/help/test_simple.py::test_simple_help_nu_theme ERROR tests/help/test_simple.py::test_simple_help_slim_theme FAILED tests/help/test_simple.py::test_simple_help_slim_theme ERROR tests/help/test_simple.py::test_simple_help_modern_theme FAILED tests/help/test_simple.py::test_simple_help_modern_theme ERROR tests/help/test_simple.py::test_simple_help_robo_theme FAILED tests/help/test_simple.py::test_simple_help_robo_theme ERROR tests/help/test_table_styles.py::test_table_styles_help FAILED tests/help/test_table_styles.py::test_table_styles_help ERROR tests/help/test_wildcard_groups.py::test_wildcard_groups_help FAILED tests/help/test_wildcard_groups.py::test_wildcard_groups_help ERROR tests/help/test_wildcard_groups.py::test_wildcard_groups_help_subcommand_sync FAILED tests/help/test_wildcard_groups.py::test_wildcard_groups_help_subcommand_sync ERROR tests/test_config.py::test_basic_config_for_group PASSED tests/test_config.py::test_global_config_equal_config_defaults PASSED tests/test_config.py::test_config_from_globals_behavior PASSED tests/test_config.py::test_config_is_serializable_and_invertible PASSED tests/test_config.py::test_multiple_rich_config_passes_is_ok PASSED tests/test_config.py::test_custom_console PASSED tests/test_deprecations.py::test_deprecation_warning_on_multi_command PASSED tests/test_deprecations.py::test_deprecation_warning_on_highlighter PASSED tests/test_deprecations.py::test_deprecation_cli_patch PASSED tests/test_deprecations.py::test_deprecation_command_help_config PASSED tests/test_deprecations.py::test_deprecation_command_console PASSED tests/test_deprecations.py::test_not_implemented_warnings_for_help_formatter PASSED tests/test_exit_code.py::test_command_exit_code_with_context PASSED tests/test_exit_code.py::test_group_exit_code_with_context PASSED tests/test_exit_code.py::test_command_exit_code_with_sys_exit PASSED tests/test_exit_code.py::test_group_exit_code_with_sys_exit PASSED tests/test_exit_code.py::test_command_return_value_does_not_raise_exit_code PASSED tests/test_exit_code.py::test_group_return_value_does_not_raise_exit_code PASSED tests/test_exit_code.py::test_command_return_value_is_exit_code_when_not_standalone PASSED tests/test_exit_code.py::test_group_return_value_is_exit_code_when_not_standalone PASSED tests/test_misc.py::test_abort PASSED tests/test_misc.py::test_truthy PASSED tests/test_misc.py::test_help_to_stderr FAILED tests/test_misc.py::test_help_to_stderr ERROR tests/test_no_rich_imports.py::test_imports_during_execution PASSED tests/test_no_rich_imports.py::test_imports_during_help FAILED tests/test_no_rich_imports.py::test_imports_during_help ERROR tests/test_no_rich_imports.py::test_imports_during_execution_rich_click_cli PASSED tests/test_no_rich_imports.py::test_imports_during_help_rich_click_cli FAILED tests/test_no_rich_imports.py::test_imports_during_help_rich_click_cli ERROR tests/test_rich_click_cli.py::test_simple_rich_click_cli[command0] PASSED tests/test_rich_click_cli.py::test_simple_rich_click_cli[command1] PASSED tests/test_rich_click_cli.py::test_simple_rich_click_cli_execute_command[command0] PASSED tests/test_rich_click_cli.py::test_simple_rich_click_cli_execute_command[command1] PASSED tests/test_rich_click_cli.py::test_simple_rich_click_cli_execute_command[command2] PASSED tests/test_rich_click_cli.py::test_rich_click_cli_help PASSED tests/test_rich_click_cli.py::test_rich_click_cli_help_with_rich_config PASSED tests/test_rich_click_cli.py::test_rich_click_cli_help_with_rich_config_from_file PASSED tests/test_rich_click_cli.py::test_rich_click_cli_help_with_bad_rich_config PASSED tests/test_rich_click_cli.py::test_rich_click_cli_help_with_bad_rich_config_v2 PASSED tests/test_rich_click_cli.py::test_custom_config_rich_click_cli PASSED tests/test_rich_click_cli.py::test_override_click_command PASSED tests/test_rich_click_cli.py::test_override_click_group PASSED tests/test_rich_click_cli.py::test_override_rich_click_command PASSED tests/test_rich_click_cli.py::test_override_rich_click_group PASSED tests/test_rich_click_cli.py::test_override_rich_click_command_collection PASSED tests/test_rich_click_cli.py::test_override_guard_click_command PASSED tests/test_rich_click_cli.py::test_override_guard_click_group PASSED tests/test_rich_click_cli.py::test_override_guard_disabled_click_from_rich_click PASSED tests/test_rich_click_cli.py::test_override_guard_enabled_click_from_rich_click PASSED tests/test_rich_click_cli.py::test_error_to_stderr PASSED tests/test_rich_click_cli.py::test_cli_output_html PASSED tests/test_rich_click_cli.py::test_cli_output_svg PASSED tests/test_rich_click_cli.py::test_cli_output_text FAILED tests/test_rich_click_cli.py::test_cli_output_text ERROR tests/test_themes.py::test_all_themes_available PASSED tests/test_themes.py::test_bad_theme_raises_err PASSED tests/test_themes.py::test_all_themes_have_from_theme_objs_replaced_on_resolution PASSED tests/test_types.py::test_config_typed_dict_annotations PASSED tests/test_types.py::test_all_rich_group_attrs_in_annotation PASSED tests/test_types.py::test_all_rich_command_attrs_in_annotation PASSED ═════════════════════════════════════════ inline-snapshot ══════════════════════════════════════════ ────────────────────────────────────────── Fix snapshots ─────────────────────────────────────────── ╭────────────────────────────────── tests/help/test_arguments.py ──────────────────────────────────╮ │ @@ -19,24 +19,25 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] INPUT OUTPUT │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Arguments │ │ ──────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ * INPUT PATH Input file [required] │ │ │ │ │ -│ * OUTPUT PATH Output file [required] │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --type TEXT Type of file to sync [default: files] │ │ │ │ │ -│ --debug -d Enable debug mode │ │ │ │ │ -│ --environment -e [dev|staging|prod] Sync to what environment [env var: MY_ENV] [default: │ │ │ │ │ -│ (current)] │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] INPUT OUTPUT \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╭─ Arguments ──────────────────────────────────────────────────────────────────╮ │ │ +│ * INPUT PATH Input file [required] │ │ │ +│ * OUTPUT PATH Output file [required] │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --type TEXT Type of file to sync [default: files] │ │ │ +│ --debug -d Enable debug mode │ │ │ +│ --environment -e [dev|staging|prod] Sync to what environment [env var: │ │ │ +│ MY_ENV] [default: (current)] │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -48,20 +49,21 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] INPUT OUTPUT │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --type TEXT Type of file to sync [default: files] │ │ │ │ │ -│ --debug -d Enable debug mode │ │ │ │ │ -│ --environment -e [dev|staging|prod] Sync to what environment [env var: MY_ENV] [default: │ │ │ │ │ -│ (current)] │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] INPUT OUTPUT \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --type TEXT Type of file to sync [default: files] │ │ │ +│ --debug -d Enable debug mode │ │ │ +│ --environment -e [dev|staging|prod] Sync to what environment [env var: │ │ │ +│ MY_ENV] [default: (current)] │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -73,24 +75,25 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] INPUT OUTPUT │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ My amazing tool arguments │ │ ──────────────────────────────────────────────────────────────────────╮ │ │ -│ * INPUT PATH Input file [required] │ │ │ │ │ -│ * OUTPUT PATH Output file [required] │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --type TEXT Type of file to sync [default: files] │ │ │ │ │ -│ --debug -d Enable debug mode │ │ │ │ │ -│ --environment -e [dev|staging|prod] Sync to what environment [env var: MY_ENV] [default: │ │ │ │ │ -│ (current)] │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] INPUT OUTPUT \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╭─ My amazing tool arguments ──────────────────────────────────────────────────╮ │ │ +│ * INPUT PATH Input file [required] │ │ │ +│ * OUTPUT PATH Output file [required] │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --type TEXT Type of file to sync [default: files] │ │ │ +│ --debug -d Enable debug mode │ │ │ +│ --environment -e [dev|staging|prod] Sync to what environment [env var: │ │ │ +│ MY_ENV] [default: (current)] │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -103,24 +106,25 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] INPUT OUTPUT │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╔═ My amazing tool arguments │ │ ══════════════════════════════════════════════════════════════════════╗ │ │ -║ * INPUT PATH Input file [required] │ │ ║ │ │ -║ * OUTPUT PATH Output file [required] │ │ ║ │ │ -╚══════════════════════════════════════════════════════════════════════════════════════════════ │ │ ════╝ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --type TEXT Type of file to sync [default: files] │ │ │ │ │ -│ --debug -d Enable debug mode │ │ │ │ │ -│ --environment -e [dev|staging|prod] Sync to what environment [env var: MY_ENV] [default: │ │ │ │ │ -│ (current)] │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] INPUT OUTPUT \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╔═ My amazing tool arguments ══════════════════════════════════════════════════╗ │ │ +║ * INPUT PATH Input file [required] ║ │ │ +║ * OUTPUT PATH Output file [required] ║ │ │ +╚══════════════════════════════════════════════════════════════════════════════╝ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --type TEXT Type of file to sync [default: files] │ │ │ +│ --debug -d Enable debug mode │ │ │ +│ --environment -e [dev|staging|prod] Sync to what environment [env var: │ │ │ +│ MY_ENV] [default: (current)] │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -132,22 +136,24 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] INPUT OUTPUT │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ * INPUT PATH Input file [required] │ │ │ │ │ -│ * OUTPUT PATH Output file [required] │ │ │ │ │ -│ --type TEXT Type of file to sync [default: files] │ │ │ │ │ -│ --debug -d Enable debug mode │ │ │ │ │ -│ --environment -e [dev|staging|prod] Sync to what environment [env var: MY_ENV] │ │ [default: │ │ │ -│ (current)] │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] INPUT OUTPUT \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ * INPUT PATH Input file [required] │ │ │ +│ * OUTPUT PATH Output file [required] │ │ │ +│ --type TEXT Type of file to sync [default: │ │ │ +│ files] │ │ │ +│ --debug -d Enable debug mode │ │ │ +│ --environment -e [dev|staging|prod] Sync to what environment [env var: │ │ │ +│ MY_ENV] [default: (current)] │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────── tests/help/test_class_overrides.py ───────────────────────────────╮ │ @@ -18,24 +18,28 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - Test that command is assigned to panel even if it's not a RichCommand. │ │ \n\ │ │ - (Also test that callback name identifies a command, not just the name of the command.) │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Rich Click Panel │ │ ───────────────────────────────────────────────────────────────────────────────╮ │ │ -│ click-command Test that RichParameters can be used with base click Commands. │ │ │ │ │ -│ click-options Test that options+arguments are assigned to the panel even if they're not │ │ │ │ │ -│ RichParameters. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Rich Click Panel 2 │ │ ─────────────────────────────────────────────────────────────────────────────╮ │ │ -│ cmd1 Test that command is assigned to Rich Click Panel 2 via the decorator argument. │ │ │ │ │ -│ grp1 Test that group is assigned to Rich Click Panel 2 via the decorator argument. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + Test that command is assigned to panel even if it's not a RichCommand. \n\ │ │ + (Also test that callback name identifies a command, not just the name of the \n\ │ │ + command.) \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Rich Click Panel ───────────────────────────────────────────────────────────╮ │ │ +│ click-command Test that RichParameters can be used with base click │ │ │ +│ Commands. │ │ │ +│ click-options Test that options+arguments are assigned to the panel even if │ │ │ +│ they're not RichParameters. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Rich Click Panel 2 ─────────────────────────────────────────────────────────╮ │ │ +│ cmd1 Test that command is assigned to Rich Click Panel 2 via the decorator │ │ │ +│ argument. │ │ │ +│ grp1 Test that group is assigned to Rich Click Panel 2 via the decorator │ │ │ +│ argument. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -77,19 +81,20 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: click-options [OPTIONS] CLICK_ARG │ │ \n\ │ │ - │ │ \n\ │ │ - Test that options+arguments are assigned to the panel even if they're not RichParameters. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Rich Click Panel │ │ ───────────────────────────────────────────────────────────────────────────────╮ │ │ -│ * CLICK-ARG TEXT [required] │ │ │ │ │ -│ * --click-option TEXT This is help text for a click.Option(). [env var: CLICK_OPTION] │ │ │ │ │ -│ [default: foo] [required] │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: click-options [OPTIONS] CLICK_ARG \n\ │ │ + \n\ │ │ + Test that options+arguments are assigned to the panel even if they're not \n\ │ │ + RichParameters. \n\ │ │ + \n\ │ │ +╭─ Rich Click Panel ───────────────────────────────────────────────────────────╮ │ │ +│ * CLICK-ARG TEXT [required] │ │ │ +│ * --click-option TEXT This is help text for a click.Option(). [env var: │ │ │ +│ CLICK_OPTION] [default: foo] [required] │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────── tests/help/test_context_settings.py ───────────────────────────────╮ │ @@ -19,21 +19,23 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Test cases for context_settings. │ │ \n\ │ │ - Note that in click < 8.1, '[default: False]' shows for "--help". │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --a TEXT This works in all supported click versions. [default: show me always] │ │ │ │ │ -│ --b TEXT This works in all supported click versions. [default: show me always] │ │ │ │ │ -│ --c TEXT Hide default only in click>=8.1 │ │ │ │ │ -│ --d TEXT Show 'default: (show me in c8+)' in click>=8.0. In click 7, no default is │ │ │ │ │ -│ shown. [default: (show me in c8+)] │ │ │ │ │ -│ --version Show the version and exit. │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ + Test cases for context_settings. \n\ │ │ + Note that in click < 8.1, '[default: False]' shows for "--help". \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --a TEXT This works in all supported click versions. [default: show │ │ │ +│ me always] │ │ │ +│ --b TEXT This works in all supported click versions. [default: show │ │ │ +│ me always] │ │ │ +│ --c TEXT Hide default only in click>=8.1 │ │ │ +│ --d TEXT Show 'default: (show me in c8+)' in click>=8.0. In click 7, │ │ │ +│ no default is shown. [default: (show me in c8+)] │ │ │ +│ --version Show the version and exit. │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────── tests/help/test_custom_errors.py ────────────────────────────────╮ │ @@ -20,15 +20,15 @@ │ │ │ │ assert result.stdout == snapshot("") │ │ assert result.stderr == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] INPUT │ │ \n\ │ │ - │ │ \n\ │ │ - Try running the '--help' flag for more information. │ │ \n\ │ │ -╭─ Error │ │ ──────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ Invalid usage │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ - │ │ \n\ │ │ - To find out more, visit https://mytool.com │ │ \n\ │ │ - │ │ \n\ │ │ + \n\ │ │ + Usage: cli [OPTIONS] INPUT \n\ │ │ + \n\ │ │ + Try running the '--help' flag for more information. \n\ │ │ +╭─ Error ──────────────────────────────────────────────────────────────────────╮ │ │ +│ Invalid usage │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ + \n\ │ │ + To find out more, visit https://mytool.com \n\ │ │ + \n\ │ │ """ │ │ ) │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────── tests/help/test_declarative.py ─────────────────────────────────╮ │ @@ -17,18 +17,18 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --debug/--no-debug │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ check Check the context type. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --debug/--no-debug │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ check Check the context type. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -40,14 +40,14 @@ │ │ │ │ assert result.stdout == snapshot( │ │ """\ │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli check [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Check the context type. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli check [OPTIONS] \n\ │ │ + \n\ │ │ + Check the context type. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────── tests/help/test_defaults.py ───────────────────────────────────╮ │ @@ -18,21 +18,23 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --debug -d Enable debug mode │ │ │ │ │ -│ --environment -e [dev|staging|prod] Sync to what environment [env var: MY_ENV] │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ download Download files │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --debug -d Enable debug mode │ │ │ +│ --environment -e [dev|staging|prod] Sync to what environment [env var: │ │ │ +│ MY_ENV] │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ download Download files │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -45,15 +47,15 @@ │ │ │ │ """\ │ │ Environment: None │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli download [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Download files │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --files TEXT What files to download [default: (All files)] │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli download [OPTIONS] \n\ │ │ + \n\ │ │ + Download files \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --files TEXT What files to download [default: (All files)] │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -69,16 +71,16 @@ │ │ │ │ """\ │ │ Environment: None │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli download [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Download files │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --files TEXT What files to download │ │ │ │ │ -│ [default: (All files)] │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli download [OPTIONS] \n\ │ │ + \n\ │ │ + Download files \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --files TEXT What files to download │ │ │ +│ [default: (All files)] │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────── tests/help/test_deprecated.py ──────────────────────────────────╮ │ @@ -20,26 +20,29 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --type TEXT Type of file to sync [deprecated: All files will be │ │ │ │ │ -│ synced] [default: files] │ │ │ │ │ -│ --debug -d Enable debug mode [deprecated] │ │ │ │ │ -│ --environment -e [dev|staging|prod] Sync to what environment [env var: MY_ENV] [default: │ │ │ │ │ -│ (current)] │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ download Pretend to download some files from _somewhere_. [deprecated] │ │ │ │ │ -│ sync Synchronise all your files between two places. Example command that doesn't do much │ │ │ │ │ -│ except print to the terminal. [deprecated: Removing in later version] │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --type TEXT Type of file to sync [deprecated: All │ │ │ +│ files will be synced] [default: │ │ │ +│ files] │ │ │ +│ --debug -d Enable debug mode [deprecated] │ │ │ +│ --environment -e [dev|staging|prod] Sync to what environment [env var: │ │ │ +│ MY_ENV] [default: (current)] │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ download Pretend to download some files from _somewhere_. [deprecated] │ │ │ +│ sync Synchronise all your files between two places. Example command │ │ │ +│ that doesn't do much except print to the terminal. [deprecated: │ │ │ +│ Removing in later version] │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -51,16 +54,16 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli download [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - [deprecated] │ │ \n\ │ │ - Pretend to download some files from _somewhere_. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --all Get everything │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli download [OPTIONS] \n\ │ │ + \n\ │ │ + [deprecated] \n\ │ │ + Pretend to download some files from _somewhere_. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --all Get everything │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -72,17 +75,17 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli sync [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - [deprecated: Removing in later version] │ │ \n\ │ │ - Synchronise all your files between two places. Example command that doesn't do much except │ │ print \n\ │ │ - to the terminal. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --all │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli sync [OPTIONS] \n\ │ │ + \n\ │ │ + [deprecated: Removing in later version] \n\ │ │ + Synchronise all your files between two places. Example command that doesn't do \n\ │ │ + much except print to the terminal. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --all │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -95,32 +98,34 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --type TEXT Type of file to sync │ │ │ │ │ -│ [deprecated: All files will be synced] │ │ │ │ │ -│ [default: files] │ │ │ │ │ -│ --debug -d Enable debug mode │ │ │ │ │ -│ [deprecated] │ │ │ │ │ -│ --environment -e [dev|staging|prod] Sync to what environment │ │ │ │ │ -│ [env var: MY_ENV] │ │ │ │ │ -│ [default: (current)] │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ download Pretend to download some files from somewhere. │ │ │ │ │ -│ [deprecated] │ │ │ │ │ -│ sync Synchronise all your files between two places. Example command that doesn't do much │ │ │ │ │ -│ except print to the terminal. │ │ │ │ │ -│ [deprecated: Removing in later version] │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --type TEXT Type of file to sync │ │ │ +│ [deprecated: All files will be │ │ │ +│ synced] │ │ │ +│ [default: files] │ │ │ +│ --debug -d Enable debug mode │ │ │ +│ [deprecated] │ │ │ +│ --environment -e [dev|staging|prod] Sync to what environment │ │ │ +│ [env var: MY_ENV] │ │ │ +│ [default: (current)] │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ download Pretend to download some files from somewhere. │ │ │ +│ [deprecated] │ │ │ +│ sync Synchronise all your files between two places. Example command │ │ │ +│ that doesn't do much except print to the terminal. │ │ │ +│ [deprecated: Removing in later version] │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -133,16 +138,16 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli download [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - [deprecated] │ │ \n\ │ │ - Pretend to download some files from somewhere. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --all Get everything │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli download [OPTIONS] \n\ │ │ + \n\ │ │ + [deprecated] \n\ │ │ + Pretend to download some files from somewhere. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --all Get everything │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -155,17 +160,17 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli sync [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - [deprecated: Removing in later version] │ │ \n\ │ │ - Synchronise all your files between two places. Example command that doesn't do much except │ │ print \n\ │ │ - to the terminal. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --all │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli sync [OPTIONS] \n\ │ │ + \n\ │ │ + [deprecated: Removing in later version] \n\ │ │ + Synchronise all your files between two places. Example command that doesn't do \n\ │ │ + much except print to the terminal. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --all │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────── tests/help/test_envvar.py ────────────────────────────────────╮ │ @@ -19,18 +19,19 @@ │ │ │ │ assert result.stdout == snapshot( │ │ """\ │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli greet [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --username TEXT This can be set via env var GREETER_GREET_USERNAME [env var: │ │ │ │ │ -│ GREETER_GREET_USERNAME] │ │ │ │ │ -│ --nickname TEXT This can be set via env var NICKNAME [env var: NICKNAME] │ │ │ │ │ -│ --email TEXT This can be set via env var EMAIL or EMAIL_ADDRESS [env var: EMAIL, │ │ │ │ │ -│ EMAIL_ADDRESS] [default: foo@bar.com] │ │ │ │ │ -│ --token -t TEXT [env var: GREETER_GREET_TOKEN] │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli greet [OPTIONS] \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --username TEXT This can be set via env var GREETER_GREET_USERNAME │ │ │ +│ [env var: GREETER_GREET_USERNAME] │ │ │ +│ --nickname TEXT This can be set via env var NICKNAME [env var: │ │ │ +│ NICKNAME] │ │ │ +│ --email TEXT This can be set via env var EMAIL or EMAIL_ADDRESS │ │ │ +│ [env var: EMAIL, EMAIL_ADDRESS] [default: foo@bar.com] │ │ │ +│ --token -t TEXT [env var: GREETER_GREET_TOKEN] │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -43,18 +44,18 @@ │ │ │ │ assert result.stdout == snapshot( │ │ """\ │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli greet [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --username TEXT This can be set via env var GREETER_GREET_USERNAME (ENV: │ │ │ │ │ -│ GREETER_GREET_USERNAME) │ │ │ │ │ -│ --nickname TEXT This can be set via env var NICKNAME (ENV: NICKNAME) │ │ │ │ │ -│ --email TEXT This can be set via env var EMAIL or EMAIL_ADDRESS (ENV: EMAIL, │ │ │ │ │ -│ EMAIL_ADDRESS) [default: foo@bar.com] │ │ │ │ │ -│ --token -t TEXT (ENV: GREETER_GREET_TOKEN) │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli greet [OPTIONS] \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --username TEXT This can be set via env var GREETER_GREET_USERNAME │ │ │ +│ (ENV: GREETER_GREET_USERNAME) │ │ │ +│ --nickname TEXT This can be set via env var NICKNAME (ENV: NICKNAME) │ │ │ +│ --email TEXT This can be set via env var EMAIL or EMAIL_ADDRESS │ │ │ +│ (ENV: EMAIL, EMAIL_ADDRESS) [default: foo@bar.com] │ │ │ +│ --token -t TEXT (ENV: GREETER_GREET_TOKEN) │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────── tests/help/test_epilog_and_footer.py ──────────────────────────────╮ │ @@ -17,27 +17,27 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --debug/--no-debug │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ epilog-is-rich-text epilog_is_rich_text help text. │ │ │ │ │ -│ footer-is-rich-text footer_is_rich_text help text. │ │ │ │ │ -│ no-epilog no_epilog help text. │ │ │ │ │ -│ no-footer no_footer help text. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ - │ │ \n\ │ │ - For more information, visit our website. │ │ \n\ │ │ - │ │ \n\ │ │ - │ │ \n\ │ │ - And here is some footer text! │ │ \n\ │ │ - │ │ \n\ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --debug/--no-debug │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ epilog-is-rich-text epilog_is_rich_text help text. │ │ │ +│ footer-is-rich-text footer_is_rich_text help text. │ │ │ +│ no-epilog no_epilog help text. │ │ │ +│ no-footer no_footer help text. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ + \n\ │ │ + For more information, visit our website. \n\ │ │ + \n\ │ │ + \n\ │ │ + And here is some footer text! \n\ │ │ + \n\ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -49,17 +49,17 @@ │ │ │ │ assert result.stdout == snapshot( │ │ """\ │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli no-footer [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - no_footer help text. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ - │ │ \n\ │ │ - This is epilog text │ │ \n\ │ │ - │ │ \n\ │ │ + \n\ │ │ + Usage: cli no-footer [OPTIONS] \n\ │ │ + \n\ │ │ + no_footer help text. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ + \n\ │ │ + This is epilog text \n\ │ │ + \n\ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -71,17 +71,17 @@ │ │ │ │ assert result.stdout == snapshot( │ │ """\ │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli no-epilog [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - no_epilog help text. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ - │ │ \n\ │ │ - This is footer text │ │ \n\ │ │ - │ │ \n\ │ │ + \n\ │ │ + Usage: cli no-epilog [OPTIONS] \n\ │ │ + \n\ │ │ + no_epilog help text. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ + \n\ │ │ + This is footer text \n\ │ │ + \n\ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -93,20 +93,20 @@ │ │ │ │ assert result.stdout == snapshot( │ │ """\ │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli footer-is-rich-text [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - footer_is_rich_text help text. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ - │ │ \n\ │ │ - This is epilog text │ │ \n\ │ │ - │ │ \n\ │ │ - │ │ \n\ │ │ - Rich text footer │ │ \n\ │ │ - │ │ \n\ │ │ + \n\ │ │ + Usage: cli footer-is-rich-text [OPTIONS] \n\ │ │ + \n\ │ │ + footer_is_rich_text help text. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ + \n\ │ │ + This is epilog text \n\ │ │ + \n\ │ │ + \n\ │ │ + Rich text footer \n\ │ │ + \n\ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -118,17 +118,17 @@ │ │ │ │ assert result.stdout == snapshot( │ │ """\ │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli epilog-is-rich-text [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - epilog_is_rich_text help text. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ - │ │ \n\ │ │ - Rich text epilog │ │ \n\ │ │ - │ │ \n\ │ │ + \n\ │ │ + Usage: cli epilog-is-rich-text [OPTIONS] \n\ │ │ + \n\ │ │ + epilog_is_rich_text help text. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ + \n\ │ │ + Rich text epilog \n\ │ │ + \n\ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -140,27 +140,27 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --debug/--no-debug │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ epilog-is-rich-text epilog_is_rich_text help text. │ │ │ │ │ -│ footer-is-rich-text footer_is_rich_text help text. │ │ │ │ │ -│ no-epilog no_epilog help text. │ │ │ │ │ -│ no-footer no_footer help text. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ - │ │ \n\ │ │ - [bold green]For more information, visit our website.[/] │ │ \n\ │ │ - │ │ \n\ │ │ - │ │ \n\ │ │ - And here is some footer text! │ │ \n\ │ │ - │ │ \n\ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --debug/--no-debug │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ epilog-is-rich-text epilog_is_rich_text help text. │ │ │ +│ footer-is-rich-text footer_is_rich_text help text. │ │ │ +│ no-epilog no_epilog help text. │ │ │ +│ no-footer no_footer help text. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ + \n\ │ │ + [bold green]For more information, visit our website.[/] \n\ │ │ + \n\ │ │ + \n\ │ │ + And here is some footer text! \n\ │ │ + \n\ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────── tests/help/test_flag_values.py ─────────────────────────────────╮ │ @@ -17,17 +17,17 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Select one of three flags │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --a A flag. │ │ │ │ │ -│ --b B flag. │ │ │ │ │ -│ --c C flag. │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ + Select one of three flags \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --a A flag. │ │ │ +│ --b B flag. │ │ │ +│ --c C flag. │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────── tests/help/test_groups_sorting.py ────────────────────────────────╮ │ @@ -17,31 +17,31 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Basic usage │ │ ────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ * --type TEXT Type of file to sync [default: files] [required] │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Advanced options │ │ ───────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --version Show the version and exit. │ │ │ │ │ -│ --debug/--no-debug -d/-n Show the debug log messages [default: no-debug] │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Help │ │ ───────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help -h Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Main usage │ │ ─────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ sync Synchronise all your files between two places. │ │ │ │ │ -│ download Pretend to download some files from somewhere. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Configuration │ │ ──────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ config Set up the configuration. │ │ │ │ │ -│ auth Authenticate the app. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific subcommands. \n\ │ │ + \n\ │ │ +╭─ Basic usage ────────────────────────────────────────────────────────────────╮ │ │ +│ * --type TEXT Type of file to sync [default: files] [required] │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Advanced options ───────────────────────────────────────────────────────────╮ │ │ +│ --version Show the version and exit. │ │ │ +│ --debug/--no-debug -d/-n Show the debug log messages [default: no-debug] │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Help ───────────────────────────────────────────────────────────────────────╮ │ │ +│ --help -h Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Main usage ─────────────────────────────────────────────────────────────────╮ │ │ +│ sync Synchronise all your files between two places. │ │ │ +│ download Pretend to download some files from somewhere. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Configuration ──────────────────────────────────────────────────────────────╮ │ │ +│ config Set up the configuration. │ │ │ +│ auth Authenticate the app. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -53,22 +53,22 @@ │ │ │ │ assert result.stdout == snapshot( │ │ """\ │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli sync [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Synchronise all your files between two places. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Inputs and outputs │ │ ─────────────────────────────────────────────────────────────────────────────╮ │ │ -│ * --input -i TEXT Input path [required] │ │ │ │ │ -│ --output -o TEXT Output path │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Subcommand help │ │ ────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help -h Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --all Sync all the things? │ │ │ │ │ -│ --overwrite Overwrite local files │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli sync [OPTIONS] \n\ │ │ + \n\ │ │ + Synchronise all your files between two places. \n\ │ │ + \n\ │ │ +╭─ Inputs and outputs ─────────────────────────────────────────────────────────╮ │ │ +│ * --input -i TEXT Input path [required] │ │ │ +│ --output -o TEXT Output path │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Subcommand help ────────────────────────────────────────────────────────────╮ │ │ +│ --help -h Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --all Sync all the things? │ │ │ +│ --overwrite Overwrite local files │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -80,17 +80,17 @@ │ │ │ │ assert result.stdout == snapshot( │ │ """\ │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli download [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Pretend to download some files from somewhere. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Subcommand help │ │ ────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help -h Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --all Get everything │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli download [OPTIONS] \n\ │ │ + \n\ │ │ + Pretend to download some files from somewhere. \n\ │ │ + \n\ │ │ +╭─ Subcommand help ────────────────────────────────────────────────────────────╮ │ │ +│ --help -h Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --all Get everything │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -102,14 +102,14 @@ │ │ │ │ assert result.stdout == snapshot( │ │ """\ │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli config [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Set up the configuration. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Subcommand help │ │ ────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help -h Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli config [OPTIONS] \n\ │ │ + \n\ │ │ + Set up the configuration. \n\ │ │ + \n\ │ │ +╭─ Subcommand help ────────────────────────────────────────────────────────────╮ │ │ +│ --help -h Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -121,22 +121,22 @@ │ │ │ │ assert result.stdout == snapshot( │ │ """\ │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli auth [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Authenticate the app. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Required │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ * --user -u TEXT User [required] │ │ │ │ │ -│ * --password -p TEXT Password [required] │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Misc. │ │ ──────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --email -e TEXT Email │ │ │ │ │ -│ --role -r TEXT Role │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Auth help │ │ ──────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help -h Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli auth [OPTIONS] \n\ │ │ + \n\ │ │ + Authenticate the app. \n\ │ │ + \n\ │ │ +╭─ Required ───────────────────────────────────────────────────────────────────╮ │ │ +│ * --user -u TEXT User [required] │ │ │ +│ * --password -p TEXT Password [required] │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Misc. ──────────────────────────────────────────────────────────────────────╮ │ │ +│ --email -e TEXT Email │ │ │ +│ --role -r TEXT Role │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Auth help ──────────────────────────────────────────────────────────────────╮ │ │ +│ --help -h Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────── tests/help/test_header.py ────────────────────────────────────╮ │ @@ -17,20 +17,20 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Welcome to my CLI! │ │ \n\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --debug/--no-debug │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ subcommand Subcommand help text │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Welcome to my CLI! \n\ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --debug/--no-debug │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ subcommand Subcommand help text │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -42,16 +42,16 @@ │ │ │ │ assert result.stdout == snapshot( │ │ """\ │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Welcome to my CLI! (with Text()) │ │ \n\ │ │ - │ │ \n\ │ │ - Usage: cli subcommand [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Subcommand help text │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Welcome to my CLI! (with Text()) \n\ │ │ + \n\ │ │ + Usage: cli subcommand [OPTIONS] \n\ │ │ + \n\ │ │ + Subcommand help text \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -63,20 +63,20 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - [magenta]Welcome to my CLI![/] │ │ \n\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --debug/--no-debug │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ subcommand Subcommand help text │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + [magenta]Welcome to my CLI![/] \n\ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --debug/--no-debug │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ subcommand Subcommand help text │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────── tests/help/test_markdown.py ───────────────────────────────────╮ │ @@ -62,23 +62,23 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does _**all the things**_. │ │ \n\ │ │ - This is a `minimal example` based on documentation from the [_click_ │ │ \n\ │ │ - package](https://click.palletsprojects.com/). │ │ \n\ │ │ - > Remember: │ │ \n\ │ │ - > - You can try using --help at the top level │ │ \n\ │ │ - > - Also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --input PATH Input **file**. _[default: a custom default]_ │ │ │ │ │ -│ --type TEXT Type of file to sync [default: files] │ │ │ │ │ -│ --all Sync 1. all 2. the 3. things? │ │ │ │ │ -│ --debug # Enable `debug mode` │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ + My amazing tool does _**all the things**_. \n\ │ │ + This is a `minimal example` based on documentation from the [_click_ \n\ │ │ + package](https://click.palletsprojects.com/). \n\ │ │ + > Remember: \n\ │ │ + > - You can try using --help at the top level \n\ │ │ + > - Also for specific group subcommands. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --input PATH Input **file**. _[default: a custom default]_ │ │ │ +│ --type TEXT Type of file to sync [default: files] │ │ │ +│ --all Sync 1. all 2. the 3. things? │ │ │ +│ --debug # Enable `debug mode` │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────── tests/help/test_metavars.py ───────────────────────────────────╮ │ @@ -18,23 +18,26 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --debug Enable debug mode. │ │ │ │ │ -│ --number [one|two|three|four|five|six|seven|eight|n This click choice has loads of options. │ │ │ │ │ -│ ine|ten|eleven|twelve|thirteen|fourteen|fi │ │ │ │ │ -│ fteen|sixteen|seventeen|eighteen|nineteen| │ │ │ │ │ -│ twenty|twenty-one|twenty-two|twenty-three| │ │ │ │ │ -│ twenty-four|twenty-five|twenty-six|twenty- │ │ │ │ │ -│ seven|twenty-eight|twenty-nine|thirty] │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --debug Enable debug mode. │ │ │ +│ --number [one|two|three|four|five|six|sev This click choice has loads of │ │ │ +│ en|eight|nine|ten|eleven|twelve| options. │ │ │ +│ thirteen|fourteen|fifteen|sixtee │ │ │ +│ n|seventeen|eighteen|nineteen|tw │ │ │ +│ enty|twenty-one|twenty-two|twent │ │ │ +│ y-three|twenty-four|twenty-five| │ │ │ +│ twenty-six|twenty-seven|twenty-e │ │ │ +│ ight|twenty-nine|thirty] │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -50,21 +53,23 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --debug Enable debug mode. │ │ │ │ │ -│ --number This click choice has loads of options. │ │ │ │ │ -│ │ │ (one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fift │ │ │ -│ │ │ een|sixteen|seventeen|eighteen|nineteen|twenty|twenty-one|twenty-two|twenty-three|twen │ │ │ -│ ty-four|twenty-five|twenty-six|twenty-seven|twenty-eight|twenty-nine|thirty) │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --debug Enable debug mode. │ │ │ +│ --number This click choice has loads of options. │ │ │ +│ (one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|th │ │ │ +│ irteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|twenty │ │ │ +│ |twenty-one|twenty-two|twenty-three|twenty-four|twenty-five|twenty │ │ │ +│ -six|twenty-seven|twenty-eight|twenty-nine|thirty) │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -82,21 +87,23 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --debug Enable debug mode. │ │ │ │ │ -│ --number This click choice has loads of options. [choices: │ │ │ │ │ -│ │ │ one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifte │ │ │ -│ │ │ en|sixteen|seventeen|eighteen|nineteen|twenty|twenty-one|twenty-two|twenty-three|twent │ │ │ -│ y-four|twenty-five|twenty-six|twenty-seven|twenty-eight|twenty-nine|thirty] │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --debug Enable debug mode. │ │ │ +│ --number This click choice has loads of options. [choices: │ │ │ +│ one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thi │ │ │ +│ rteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|twenty| │ │ │ +│ twenty-one|twenty-two|twenty-three|twenty-four|twenty-five|twenty- │ │ │ +│ six|twenty-seven|twenty-eight|twenty-nine|thirty] │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────── tests/help/test_options.py ───────────────────────────────────╮ │ @@ -24,23 +24,28 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ * --number INTEGER RANGE [1<=x<=6] Pick a number [default: 4] [required] │ │ │ │ │ -│ --name TEXT Provide a name │ │ │ │ │ -│ --location LOCATION Provide a name [deprecated] │ │ │ │ │ -│ --flag/--no-flag Set the flag (or not!). │ │ │ │ │ -│ --password TEXT Password to login with │ │ │ │ │ -│ * --loaded -l INTEGER RANGE [x>=0] This option is loaded with everything │ │ (assert │ │ │ -│ preservation of order) [env var: IS_LOADED] │ │ │ │ │ -│ [default: (Random number)] [required] │ │ │ │ │ -│ --help -h Show help. │ │ │ │ │ -│ --version -v Show version. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ * --number INTEGER RANGE [1<=x<=6] Pick a number [default: 4] │ │ │ +│ [required] │ │ │ +│ --name TEXT Provide a name │ │ │ +│ --location LOCATION Provide a name │ │ │ +│ [deprecated] │ │ │ +│ --flag/--no-flag Set the flag (or not!). │ │ │ +│ --password TEXT Password to login with │ │ │ +│ * --loaded -l INTEGER RANGE [x>=0] This option is loaded with │ │ │ +│ everything (assert │ │ │ +│ preservation of order) │ │ │ +│ [env var: IS_LOADED] │ │ │ +│ [default: (Random number)] │ │ │ +│ [required] │ │ │ +│ --help -h Show help. │ │ │ +│ --version -v Show version. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -53,23 +58,28 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ * --number INTEGER RANGE [1<=x<=6] Pick a number [default: 4] [required] │ │ │ │ │ -│ --name TEXT Provide a name │ │ │ │ │ -│ --location LOCATION Provide a name [deprecated] │ │ │ │ │ -│ --flag/--no-flag Set the flag (or not!). │ │ │ │ │ -│ --password TEXT Password to login with │ │ │ │ │ -│ * --loaded -l INTEGER RANGE [x>=0] [env var: IS_LOADED] This option is loaded │ │ │ │ │ -│ with everything (assert preservation of │ │ order) │ │ │ -│ [default: (Random number)] [required] │ │ │ │ │ -│ --help -h Show help. │ │ │ │ │ -│ --version -v Show version. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ * --number INTEGER RANGE [1<=x<=6] Pick a number [default: 4] │ │ │ +│ [required] │ │ │ +│ --name TEXT Provide a name │ │ │ +│ --location LOCATION Provide a name │ │ │ +│ [deprecated] │ │ │ +│ --flag/--no-flag Set the flag (or not!). │ │ │ +│ --password TEXT Password to login with │ │ │ +│ * --loaded -l INTEGER RANGE [x>=0] [env var: IS_LOADED] This │ │ │ +│ option is loaded with │ │ │ +│ everything (assert │ │ │ +│ preservation of order) │ │ │ +│ [default: (Random number)] │ │ │ +│ [required] │ │ │ +│ --help -h Show help. │ │ │ +│ --version -v Show version. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -82,22 +92,23 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ * --number Pick a number [default: 4] [required] │ │ │ │ │ -│ --name Provide a name │ │ │ │ │ -│ --location Provide a name [deprecated] │ │ │ │ │ -│ --flag/--no-flag Set the flag (or not!). │ │ │ │ │ -│ --password Password to login with │ │ │ │ │ -│ * --loaded -l This option is loaded with everything (assert preservation of order) │ │ │ │ │ -│ [env var: IS_LOADED] [default: (Random number)] [required] │ │ │ │ │ -│ --help -h Show help. │ │ │ │ │ -│ --version -v Show version. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ * --number Pick a number [default: 4] [required] │ │ │ +│ --name Provide a name │ │ │ +│ --location Provide a name [deprecated] │ │ │ +│ --flag/--no-flag Set the flag (or not!). │ │ │ +│ --password Password to login with │ │ │ +│ * --loaded -l This option is loaded with everything (assert │ │ │ +│ preservation of order) [env var: IS_LOADED] │ │ │ +│ [default: (Random number)] [required] │ │ │ +│ --help -h Show help. │ │ │ +│ --version -v Show version. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────── tests/help/test_panels_defaults.py ───────────────────────────────╮ │ @@ -17,32 +17,33 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - CLI help text │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ - Command Panel A │ │ \n\ │ │ - cmd4 Test args assigned to arguments panel when help is defined, and test that arg3 is │ │ assigned \n\ │ │ - to default even without help so long as panel shows. │ │ \n\ │ │ - │ │ \n\ │ │ -╔═ Command Panel B │ │ ════════════════════════════════════════════════════════════════════════════════╗ │ │ -║ cmd5 Test args and options assigned to respective panels. │ │ ║ │ │ -║ cmd6 Test order is preserved and option is still assigned when default panel is explicitly │ │ ║ │ │ -║ defined and ordered. │ │ ║ │ │ -║ cmd7 Test order is preserved and option is still assigned when default panel is explicitly │ │ ║ │ │ -║ defined and ordered. │ │ ║ │ │ -║ cmd8 Test options and arguments are assigned to a renamed default options panel with │ │ ║ │ │ -║ group_arguments_options=True │ │ ║ │ │ -╚══════════════════════════════════════════════════════════════════════════════════════════════ │ │ ════╝ │ │ - Custom Default Command Panel │ │ \n\ │ │ - cmd1 cmd1 help │ │ \n\ │ │ - cmd2 cmd2 help │ │ \n\ │ │ - cmd3 cmd3 help │ │ \n\ │ │ - │ │ \n\ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + CLI help text \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ + Command Panel A \n\ │ │ + cmd4 Test args assigned to arguments panel when help is defined, and test \n\ │ │ + that arg3 is assigned to default even without help so long as panel \n\ │ │ + shows. \n\ │ │ + \n\ │ │ +╔═ Command Panel B ════════════════════════════════════════════════════════════╗ │ │ +║ cmd5 Test args and options assigned to respective panels. ║ │ │ +║ cmd6 Test order is preserved and option is still assigned when default ║ │ │ +║ panel is explicitly defined and ordered. ║ │ │ +║ cmd7 Test order is preserved and option is still assigned when default ║ │ │ +║ panel is explicitly defined and ordered. ║ │ │ +║ cmd8 Test options and arguments are assigned to a renamed default options ║ │ │ +║ panel with group_arguments_options=True ║ │ │ +╚══════════════════════════════════════════════════════════════════════════════╝ │ │ + Custom Default Command Panel \n\ │ │ + cmd1 cmd1 help \n\ │ │ + cmd2 cmd2 help \n\ │ │ + cmd3 cmd3 help \n\ │ │ + \n\ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -53,20 +54,20 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd4 [OPTIONS] ARG1 ARG3 ARG2 │ │ \n\ │ │ - │ │ \n\ │ │ - Test args assigned to arguments panel when help is defined, and test that arg3 is assigned to │ │ \n\ │ │ - default even without help so long as panel shows. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Custom Args Panel Title │ │ ────────────────────────────────────────────────────────────────────────╮ │ │ -│ * ARG1 TEXT arg1 help [required] │ │ │ │ │ -│ * ARG3 TEXT [required] │ │ │ │ │ -│ * ARG2 TEXT arg2 help [required] │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd4 [OPTIONS] ARG1 ARG3 ARG2 \n\ │ │ + \n\ │ │ + Test args assigned to arguments panel when help is defined, and test that arg3 \n\ │ │ + is assigned to default even without help so long as panel shows. \n\ │ │ + \n\ │ │ +╭─ Custom Args Panel Title ────────────────────────────────────────────────────╮ │ │ +│ * ARG1 TEXT arg1 help [required] │ │ │ +│ * ARG3 TEXT [required] │ │ │ +│ * ARG2 TEXT arg2 help [required] │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -77,27 +78,27 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd6 [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Test order is preserved and option is still assigned when default panel is explicitly defined │ │ and \n\ │ │ - ordered. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Help │ │ ───────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Panel 1 │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --a TEXT │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Panel 2 │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --c TEXT │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Custom Options Panel Title │ │ ─────────────────────────────────────────────────────────────────────╮ │ │ -│ --b TEXT │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Panel 3 │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --d TEXT │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd6 [OPTIONS] \n\ │ │ + \n\ │ │ + Test order is preserved and option is still assigned when default panel is \n\ │ │ + explicitly defined and ordered. \n\ │ │ + \n\ │ │ +╭─ Help ───────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Panel 1 ────────────────────────────────────────────────────────────────────╮ │ │ +│ --a TEXT │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Panel 2 ────────────────────────────────────────────────────────────────────╮ │ │ +│ --c TEXT │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Custom Options Panel Title ─────────────────────────────────────────────────╮ │ │ +│ --b TEXT │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Panel 3 ────────────────────────────────────────────────────────────────────╮ │ │ +│ --d TEXT │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────── tests/help/test_panels_sorting.py ────────────────────────────────╮ │ @@ -17,37 +17,38 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - CLI help text │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Custom Command Panel 2 │ │ ─────────────────────────────────────────────────────────────────────────╮ │ │ -│ cmd2 Test order of options is preserved via panel... │ │ │ │ │ -│ cmd1 Test order of panels is preserved via panel=... │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Custom Command Panel 1 │ │ ─────────────────────────────────────────────────────────────────────────╮ │ │ -│ cmd3 Test order of panels is preserved via option_panel() │ │ │ │ │ -│ cmd4 Test order of options is preserved via option_panel() │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Custom Command Panel 3 │ │ ─────────────────────────────────────────────────────────────────────────╮ │ │ -│ cmd5 Test that commands appear above options when explicitly set. │ │ │ │ │ -│ cmd6 Test that options appear above commands when explicitly set, ignoring the │ │ │ │ │ -│ `commands_before_options` config option. │ │ │ │ │ -│ cmd7 Test that default order is arguments -> options -> commands. │ │ │ │ │ -│ cmd8 Test that default order is commands -> arguments -> options, when commands show above │ │ │ │ │ -│ options. │ │ │ │ │ -│ cmd9 Test that command and option both having the same name doesn't cause any issues. Also │ │ │ │ │ -│ test that commands render by assigned name in dict, not by the cmd.name. │ │ │ │ │ -│ cmd10 Test that command panel and option panel both having the same name doesn't cause any │ │ │ │ │ -│ issues. │ │ │ │ │ -│ cmd11 Test add_command(..., panel=...) │ │ │ │ │ -│ cmd12 Test all three methods of assigning a panel don't cause duplication. │ │ │ │ │ -│ cmd13 Test that command_panel.commands takes priority. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + CLI help text \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Custom Command Panel 2 ─────────────────────────────────────────────────────╮ │ │ +│ cmd2 Test order of options is preserved via panel... │ │ │ +│ cmd1 Test order of panels is preserved via panel=... │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Custom Command Panel 1 ─────────────────────────────────────────────────────╮ │ │ +│ cmd3 Test order of panels is preserved via option_panel() │ │ │ +│ cmd4 Test order of options is preserved via option_panel() │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Custom Command Panel 3 ─────────────────────────────────────────────────────╮ │ │ +│ cmd5 Test that commands appear above options when explicitly set. │ │ │ +│ cmd6 Test that options appear above commands when explicitly set, ignoring │ │ │ +│ the `commands_before_options` config option. │ │ │ +│ cmd7 Test that default order is arguments -> options -> commands. │ │ │ +│ cmd8 Test that default order is commands -> arguments -> options, when │ │ │ +│ commands show above options. │ │ │ +│ cmd9 Test that command and option both having the same name doesn't cause │ │ │ +│ any issues. Also test that commands render by assigned name in dict, │ │ │ +│ not by the cmd.name. │ │ │ +│ cmd10 Test that command panel and option panel both having the same name │ │ │ +│ doesn't cause any issues. │ │ │ +│ cmd11 Test add_command(..., panel=...) │ │ │ +│ cmd12 Test all three methods of assigning a panel don't cause duplication. │ │ │ +│ cmd13 Test that command_panel.commands takes priority. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -58,26 +59,26 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd1 [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Test order of panels is preserved via panel=... │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Custom 2 │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --a -a TEXT Help text for A │ │ │ │ │ -│ --c -c TEXT Help text for C │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Custom 1 │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --b -b TEXT Help text for B │ │ │ │ │ -│ --e -e TEXT Help text for E │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Custom 3 │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --f -f TEXT Help text for F │ │ │ │ │ -│ --d -d TEXT Help text for E │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd1 [OPTIONS] \n\ │ │ + \n\ │ │ + Test order of panels is preserved via panel=... \n\ │ │ + \n\ │ │ +╭─ Custom 2 ───────────────────────────────────────────────────────────────────╮ │ │ +│ --a -a TEXT Help text for A │ │ │ +│ --c -c TEXT Help text for C │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Custom 1 ───────────────────────────────────────────────────────────────────╮ │ │ +│ --b -b TEXT Help text for B │ │ │ +│ --e -e TEXT Help text for E │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Custom 3 ───────────────────────────────────────────────────────────────────╮ │ │ +│ --f -f TEXT Help text for F │ │ │ +│ --d -d TEXT Help text for E │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -88,26 +89,26 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd2 [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Test order of options is preserved via panel... │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Custom 1 │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --a -a TEXT Help text for A │ │ │ │ │ -│ --b -b TEXT Help text for B │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Custom 2 │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --d -d TEXT Help text for D │ │ │ │ │ -│ --c -c TEXT Help text for C │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Custom 3 │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --f -f TEXT Help text for F │ │ │ │ │ -│ --e -e TEXT Help text for E │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd2 [OPTIONS] \n\ │ │ + \n\ │ │ + Test order of options is preserved via panel... \n\ │ │ + \n\ │ │ +╭─ Custom 1 ───────────────────────────────────────────────────────────────────╮ │ │ +│ --a -a TEXT Help text for A │ │ │ +│ --b -b TEXT Help text for B │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Custom 2 ───────────────────────────────────────────────────────────────────╮ │ │ +│ --d -d TEXT Help text for D │ │ │ +│ --c -c TEXT Help text for C │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Custom 3 ───────────────────────────────────────────────────────────────────╮ │ │ +│ --f -f TEXT Help text for F │ │ │ +│ --e -e TEXT Help text for E │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -118,26 +119,26 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd3 [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Test order of panels is preserved via option_panel() │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Panel 2 │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --a -a TEXT Help text for A │ │ │ │ │ -│ --b -b TEXT Help text for B │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Panel 1 │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --c -c TEXT Help text for C │ │ │ │ │ -│ --d -d TEXT Help text for D │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Panel 3 │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --e -e TEXT Help text for E │ │ │ │ │ -│ --f -f TEXT Help text for F │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd3 [OPTIONS] \n\ │ │ + \n\ │ │ + Test order of panels is preserved via option_panel() \n\ │ │ + \n\ │ │ +╭─ Panel 2 ────────────────────────────────────────────────────────────────────╮ │ │ +│ --a -a TEXT Help text for A │ │ │ +│ --b -b TEXT Help text for B │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Panel 1 ────────────────────────────────────────────────────────────────────╮ │ │ +│ --c -c TEXT Help text for C │ │ │ +│ --d -d TEXT Help text for D │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Panel 3 ────────────────────────────────────────────────────────────────────╮ │ │ +│ --e -e TEXT Help text for E │ │ │ +│ --f -f TEXT Help text for F │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -148,26 +149,26 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd4 [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Test order of options is preserved via option_panel() │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Panel 1 │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --a -a TEXT Help text for A │ │ │ │ │ -│ --b -b TEXT Help text for B │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Panel 2 │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --d -d TEXT Help text for C │ │ │ │ │ -│ --c -c TEXT Help text for D │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Panel 3 │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --f -e TEXT Help text for E │ │ │ │ │ -│ --e -f TEXT Help text for F │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd4 [OPTIONS] \n\ │ │ + \n\ │ │ + Test order of options is preserved via option_panel() \n\ │ │ + \n\ │ │ +╭─ Panel 1 ────────────────────────────────────────────────────────────────────╮ │ │ +│ --a -a TEXT Help text for A │ │ │ +│ --b -b TEXT Help text for B │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Panel 2 ────────────────────────────────────────────────────────────────────╮ │ │ +│ --d -d TEXT Help text for C │ │ │ +│ --c -c TEXT Help text for D │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Panel 3 ────────────────────────────────────────────────────────────────────╮ │ │ +│ --f -e TEXT Help text for E │ │ │ +│ --e -f TEXT Help text for F │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -178,18 +179,18 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd5 [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - Test that commands appear above options when explicitly set. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ dummy │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --a TEXT │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd5 [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + Test that commands appear above options when explicitly set. \n\ │ │ + \n\ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ dummy │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --a TEXT │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -200,19 +201,19 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd6 [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - Test that options appear above commands when explicitly set, ignoring the │ │ \n\ │ │ - `commands_before_options` config option. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --a TEXT │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ dummy │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd6 [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + Test that options appear above commands when explicitly set, ignoring the \n\ │ │ + `commands_before_options` config option. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --a TEXT │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ dummy │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -223,21 +224,21 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd7 [OPTIONS] A COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - Test that default order is arguments -> options -> commands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Arguments │ │ ──────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ * A TEXT [required] │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --b TEXT │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ dummy │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd7 [OPTIONS] A COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + Test that default order is arguments -> options -> commands. \n\ │ │ + \n\ │ │ +╭─ Arguments ──────────────────────────────────────────────────────────────────╮ │ │ +│ * A TEXT [required] │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --b TEXT │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ dummy │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -248,21 +249,22 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd8 [OPTIONS] A COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - Test that default order is commands -> arguments -> options, when commands show above options. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ dummy │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Arguments │ │ ──────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ * A TEXT [required] │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --b TEXT │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd8 [OPTIONS] A COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + Test that default order is commands -> arguments -> options, when commands \n\ │ │ + show above options. \n\ │ │ + \n\ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ dummy │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Arguments ──────────────────────────────────────────────────────────────────╮ │ │ +│ * A TEXT [required] │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --b TEXT │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -273,22 +275,23 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd9 [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - Test that command and option both having the same name doesn't cause any issues. Also test │ │ that \n\ │ │ - commands render by assigned name in dict, not by the cmd.name. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Custom Opt Panel │ │ ───────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --samename TEXT │ │ │ │ │ -│ --dummy TEXT │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ samename │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd9 [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + Test that command and option both having the same name doesn't cause any \n\ │ │ + issues. Also test that commands render by assigned name in dict, not by the \n\ │ │ + cmd.name. \n\ │ │ + \n\ │ │ +╭─ Custom Opt Panel ───────────────────────────────────────────────────────────╮ │ │ +│ --samename TEXT │ │ │ +│ --dummy TEXT │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ samename │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -299,21 +302,22 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd10 [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - Test that command panel and option panel both having the same name doesn't cause any issues. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Generic Panel │ │ ──────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ dummy │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Generic Panel │ │ ──────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --foo TEXT │ │ │ │ │ -│ --bar TEXT │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd10 [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + Test that command panel and option panel both having the same name doesn't \n\ │ │ + cause any issues. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Generic Panel ──────────────────────────────────────────────────────────────╮ │ │ +│ dummy │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Generic Panel ──────────────────────────────────────────────────────────────╮ │ │ +│ --foo TEXT │ │ │ +│ --bar TEXT │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -324,17 +328,17 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd11 [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - Test add_command(..., panel=...) │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Some Panel │ │ ─────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ dummy2 │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd11 [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + Test add_command(..., panel=...) \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Some Panel ─────────────────────────────────────────────────────────────────╮ │ │ +│ dummy2 │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -345,17 +349,17 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd12 [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - Test all three methods of assigning a panel don't cause duplication. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Some Panel │ │ ─────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ dummy2 │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli cmd12 [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + Test all three methods of assigning a panel don't cause duplication. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Some Panel ─────────────────────────────────────────────────────────────────╮ │ │ +│ dummy2 │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -366,17 +370,17 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli cmd13 [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - Test that command_panel.commands takes priority. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Prioritize me │ │ ──────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ dummy2 │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -""" │ │ - ) │ │ - assert result.stderr == snapshot("") │ │ + \n\ │ │ + Usage: cli cmd13 [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + Test that command_panel.commands takes priority. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Prioritize me ──────────────────────────────────────────────────────────────╮ │ │ +│ dummy2 │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +""" │ │ + ) │ │ + assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────── tests/help/test_panels_styles.py ────────────────────────────────╮ │ @@ -17,19 +17,19 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - Test basic styles for command panel. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ - Custom Panel │ │ \n\ │ │ - This is help text for the command panel. │ │ \n\ │ │ - subcommand Test basic styles for option panel. │ │ \n\ │ │ - Additional Commands │ │ \n\ │ │ - │ │ \n\ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + Test basic styles for command panel. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ + Custom Panel \n\ │ │ + This is help text for the command panel. \n\ │ │ + subcommand Test basic styles for option panel. \n\ │ │ + Additional Commands \n\ │ │ + \n\ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -40,21 +40,21 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli subcommand [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Test basic styles for option panel. │ │ \n\ │ │ - │ │ \n\ │ │ - Custom Panel │ │ \n\ │ │ - This is help text for the option panel. │ │ \n\ │ │ - --a -a TEXT Help text for A │ │ \n\ │ │ - --b -b TEXT Help text for B │ │ \n\ │ │ - --c -c TEXT Help text for C │ │ \n\ │ │ - Additional Options │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli subcommand [OPTIONS] \n\ │ │ + \n\ │ │ + Test basic styles for option panel. \n\ │ │ + \n\ │ │ + Custom Panel \n\ │ │ + This is help text for the option panel. \n\ │ │ + --a -a TEXT Help text for A \n\ │ │ + --b -b TEXT Help text for B \n\ │ │ + --c -c TEXT Help text for C \n\ │ │ + Additional Options \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────── tests/help/test_rich_markup.py ─────────────────────────────────╮ │ @@ -19,20 +19,21 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --input PATH Input file. [default: a custom default] │ │ │ │ │ -│ --type TEXT Type of file to sync [default: files] │ │ │ │ │ -│ --all Sync all the things? │ │ │ │ │ -│ --debug Enable 👉 debug mode 👈 │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --input PATH Input file. [default: a custom default] │ │ │ +│ --type TEXT Type of file to sync [default: files] │ │ │ +│ --all Sync all the things? │ │ │ +│ --debug Enable 👉 debug mode 👈 │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -45,21 +46,23 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does [black on blue]all the things[/]. │ │ \n\ │ │ - This is a [u]minimal example[/] based on documentation from the │ │ \n\ │ │ - [link=https://click.palletsprojects.com/]'click' package[/]. │ │ \n\ │ │ - [i]You can try using --help at the top level and also for specific group subcommands.[/] │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --input PATH Input [magenta bold]file[/]. [dim]\\[default: a custom default][/] │ │ │ │ │ -│ --type TEXT Type of file to sync [default: files] │ │ │ │ │ -│ --all Sync all the things? │ │ │ │ │ -│ --debug Enable :point_right: [yellow]debug mode[/] :point_left: │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ + My amazing tool does [black on blue]all the things[/]. \n\ │ │ + This is a [u]minimal example[/] based on documentation from the \n\ │ │ + [link=https://click.palletsprojects.com/]'click' package[/]. \n\ │ │ + [i]You can try using --help at the top level and also for specific group \n\ │ │ + subcommands.[/] \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --input PATH Input [magenta bold]file[/]. [dim]\\[default: a custom │ │ │ +│ default][/] │ │ │ +│ --type TEXT Type of file to sync [default: files] │ │ │ +│ --all Sync all the things? │ │ │ +│ --debug Enable :point_right: [yellow]debug mode[/] :point_left: │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -80,20 +83,21 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --input PATH Input file. [default: a custom default] │ │ │ │ │ -│ --type TEXT Type of file to sync [default: files] │ │ │ │ │ -│ --all Sync all the things? │ │ │ │ │ -│ --debug Enable 👉 debug mode 👈 │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --input PATH Input file. [default: a custom default] │ │ │ +│ --type TEXT Type of file to sync [default: files] │ │ │ +│ --all Sync all the things? │ │ │ +│ --debug Enable 👉 debug mode 👈 │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────── tests/help/test_simple.py ────────────────────────────────────╮ │ @@ -19,28 +19,29 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific subcommands. │ │ \n\ │ │ - Here are things you can do: │ │ \n\ │ │ - - sync files │ │ \n\ │ │ - - download files │ │ \n\ │ │ - - print help text! │ │ \n\ │ │ - ... and more! │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --debug/--no-debug -d/-n Enable debug mode. Newlines are removed by default. │ │ │ │ │ -│ Double newlines are preserved. │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ download Optionally use short-help for the group help text │ │ │ │ │ -│ sync Synchronise all your files between two places. Example command that doesn't do much │ │ │ │ │ -│ except print to the terminal. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific subcommands. \n\ │ │ + Here are things you can do: \n\ │ │ + - sync files \n\ │ │ + - download files \n\ │ │ + - print help text! \n\ │ │ + ... and more! \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --debug/--no-debug -d/-n Enable debug mode. Newlines are removed by │ │ │ +│ default. │ │ │ +│ Double newlines are preserved. │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ download Optionally use short-help for the group help text │ │ │ +│ sync Synchronise all your files between two places. Example command │ │ │ +│ that doesn't do much except print to the terminal. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -58,28 +59,29 @@ │ │ │ │ assert result.exit_code == 2 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific subcommands. │ │ \n\ │ │ - Here are things you can do: │ │ \n\ │ │ - - sync files │ │ \n\ │ │ - - download files │ │ \n\ │ │ - - print help text! │ │ \n\ │ │ - ... and more! │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --debug/--no-debug -d/-n Enable debug mode. Newlines are removed by default. │ │ │ │ │ -│ Double newlines are preserved. │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ download Optionally use short-help for the group help text │ │ │ │ │ -│ sync Synchronise all your files between two places. Example command that doesn't do much │ │ │ │ │ -│ except print to the terminal. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific subcommands. \n\ │ │ + Here are things you can do: \n\ │ │ + - sync files \n\ │ │ + - download files \n\ │ │ + - print help text! \n\ │ │ + ... and more! \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --debug/--no-debug -d/-n Enable debug mode. Newlines are removed by │ │ │ +│ default. │ │ │ +│ Double newlines are preserved. │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ download Optionally use short-help for the group help text │ │ │ +│ sync Synchronise all your files between two places. Example command │ │ │ +│ that doesn't do much except print to the terminal. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -95,28 +97,29 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific subcommands. │ │ \n\ │ │ - Here are things you can do: │ │ \n\ │ │ - - sync files │ │ \n\ │ │ - - download files │ │ \n\ │ │ - - print help text! │ │ \n\ │ │ - ... and more! │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ download Optionally use short-help for the group help text │ │ │ │ │ -│ sync Synchronise all your files between two places. Example command that doesn't do much │ │ │ │ │ -│ except print to the terminal. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --debug/--no-debug -d/-n Enable debug mode. Newlines are removed by default. │ │ │ │ │ -│ Double newlines are preserved. │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific subcommands. \n\ │ │ + Here are things you can do: \n\ │ │ + - sync files \n\ │ │ + - download files \n\ │ │ + - print help text! \n\ │ │ + ... and more! \n\ │ │ + \n\ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ download Optionally use short-help for the group help text │ │ │ +│ sync Synchronise all your files between two places. Example command │ │ │ +│ that doesn't do much except print to the terminal. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --debug/--no-debug -d/-n Enable debug mode. Newlines are removed by │ │ │ +│ default. │ │ │ +│ Double newlines are preserved. │ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -129,14 +132,14 @@ │ │ │ │ assert result.stdout == snapshot("") │ │ assert result.stderr == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - Try 'cli --help' for help │ │ \n\ │ │ -╭─ Error │ │ ──────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ No such command 'bad-input'. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ - │ │ \n\ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + Try 'cli --help' for help \n\ │ │ +╭─ Error ──────────────────────────────────────────────────────────────────────╮ │ │ +│ No such command 'bad-input'. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ + \n\ │ │ """ │ │ ) │ │ │ │ @@ -147,27 +150,27 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific subcommands. │ │ \n\ │ │ - Here are things you can do: │ │ \n\ │ │ - - sync files │ │ \n\ │ │ - - download files │ │ \n\ │ │ - - print help text! │ │ \n\ │ │ - ... and more! │ │ \n\ │ │ - │ │ \n\ │ │ - ═ Options │ │ ════════════════════════════════════════════════════════════════════════════════════════ \n\ │ │ - --debug/--no-debug -d/-n Enable debug mode. Newlines are removed by default. │ │ \n\ │ │ - Double newlines are preserved. │ │ \n\ │ │ - --help Show this message and exit. │ │ \n\ │ │ - │ │ \n\ │ │ - ═ Commands │ │ ═══════════════════════════════════════════════════════════════════════════════════════ \n\ │ │ - download Optionally use short-help for the group help text │ │ \n\ │ │ - sync Synchronise all your files between two places. Example command that doesn't do much │ │ \n\ │ │ - except print to the terminal. │ │ \n\ │ │ - │ │ \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific subcommands. \n\ │ │ + Here are things you can do: \n\ │ │ + - sync files \n\ │ │ + - download files \n\ │ │ + - print help text! \n\ │ │ + ... and more! \n\ │ │ + \n\ │ │ + ═ Options ════════════════════════════════════════════════════════════════════ \n\ │ │ + --debug/--no-debug -d/-n Enable debug mode. Newlines are removed by default. \n\ │ │ + Double newlines are preserved. \n\ │ │ + --help Show this message and exit. \n\ │ │ + \n\ │ │ + ═ Commands ═══════════════════════════════════════════════════════════════════ \n\ │ │ + download Optionally use short-help for the group help text \n\ │ │ + sync Synchronise all your files between two places. Example command that \n\ │ │ + doesn't do much except print to the terminal. \n\ │ │ + \n\ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -179,27 +182,28 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ -Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ -My amazing tool does all the things. │ │ \n\ │ │ -This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ -You can try using --help at the top level and also for specific subcommands. │ │ \n\ │ │ -Here are things you can do: │ │ \n\ │ │ -- sync files │ │ \n\ │ │ -- download files │ │ \n\ │ │ -- print help text! │ │ \n\ │ │ -... and more! │ │ \n\ │ │ - │ │ \n\ │ │ -Options: │ │ \n\ │ │ - -d/-n --debug/--no-debug Enable debug mode. Newlines are removed by default. │ │ \n\ │ │ - Double newlines are preserved. │ │ \n\ │ │ - --help Show this message and exit. │ │ \n\ │ │ - │ │ \n\ │ │ -Commands: │ │ \n\ │ │ - download Optionally use short-help for the group help text │ │ \n\ │ │ - sync Synchronise all your files between two places. Example command that doesn't do much │ │ \n\ │ │ - except print to the terminal. │ │ \n\ │ │ - │ │ \n\ │ │ +Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ +My amazing tool does all the things. \n\ │ │ +This is a minimal example based on documentation from the 'click' package. \n\ │ │ +You can try using --help at the top level and also for specific subcommands. \n\ │ │ +Here are things you can do: \n\ │ │ +- sync files \n\ │ │ +- download files \n\ │ │ +- print help text! \n\ │ │ +... and more! \n\ │ │ + \n\ │ │ +Options: \n\ │ │ + -d/-n --debug/--no-debug Enable debug mode. Newlines are removed by \n\ │ │ + default. \n\ │ │ + Double newlines are preserved. \n\ │ │ + --help Show this message and exit. \n\ │ │ + \n\ │ │ +Commands: \n\ │ │ + download Optionally use short-help for the group help text \n\ │ │ + sync Synchronise all your files between two places. Example command that \n\ │ │ + doesn't do much except print to the terminal. \n\ │ │ + \n\ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -211,32 +215,33 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific subcommands. │ │ \n\ │ │ - Here are things you can do: │ │ \n\ │ │ - - sync files │ │ \n\ │ │ - - download files │ │ \n\ │ │ - - print help text! │ │ \n\ │ │ - ... and more! │ │ \n\ │ │ - │ │ \n\ │ │ - Options │ │ \n\ │ │ - │ │ ──────────────────────────────────────────────────────────────────────────────────────────────── │ │ \n\ │ │ - -d / -n --debug / --no-debug Enable debug mode. Newlines are removed by default. │ │ \n\ │ │ - Double newlines are preserved. │ │ \n\ │ │ - --help Show this message and exit. │ │ \n\ │ │ - │ │ \n\ │ │ - │ │ \n\ │ │ - Commands │ │ \n\ │ │ - │ │ ──────────────────────────────────────────────────────────────────────────────────────────────── │ │ \n\ │ │ - download Optionally use short-help for the group help text │ │ \n\ │ │ - sync Synchronise all your files between two places. Example command that doesn't do │ │ much \n\ │ │ - except print to the terminal. │ │ \n\ │ │ - │ │ \n\ │ │ - │ │ \n\ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific subcommands. \n\ │ │ + Here are things you can do: \n\ │ │ + - sync files \n\ │ │ + - download files \n\ │ │ + - print help text! \n\ │ │ + ... and more! \n\ │ │ + \n\ │ │ + Options \n\ │ │ + ──────────────────────────────────────────────────────────────────────────── \n\ │ │ + -d / -n --debug / --no-debug Enable debug mode. Newlines are removed by \n\ │ │ + default. \n\ │ │ + Double newlines are preserved. \n\ │ │ + --help Show this message and exit. \n\ │ │ + \n\ │ │ + \n\ │ │ + Commands \n\ │ │ + ──────────────────────────────────────────────────────────────────────────── \n\ │ │ + download Optionally use short-help for the group help text \n\ │ │ + sync Synchronise all your files between two places. Example command \n\ │ │ + that doesn't do much except print to the terminal. \n\ │ │ + \n\ │ │ + \n\ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -248,31 +253,32 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ -Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ -My amazing tool does all the things. │ │ \n\ │ │ -This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ -You can try using --help at the top level and also for specific subcommands. │ │ \n\ │ │ -Here are things you can do: │ │ \n\ │ │ -- sync files │ │ \n\ │ │ -- download files │ │ \n\ │ │ -- print help text! │ │ \n\ │ │ -... and more! │ │ \n\ │ │ - │ │ \n\ │ │ -┌─ Options │ │ ──────────────────────────────────────────────────────────────────────────────────────┐ │ │ -│ │ │ │ │ │ -│ -d, --debug -n, --no-debug Enable debug mode. Newlines are removed by default. │ │ │ │ │ -│ Double newlines are preserved. │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -│ │ │ │ │ │ -└────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────┘ │ │ -┌─ Commands │ │ ─────────────────────────────────────────────────────────────────────────────────────┐ │ │ -│ │ │ │ │ │ -│ download Optionally use short-help for the group help text │ │ │ │ │ -│ sync Synchronise all your files between two places. Example command that doesn't do │ │ much │ │ │ -│ except print to the terminal. │ │ │ │ │ -│ │ │ │ │ │ -└────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────┘ │ │ -""" │ │ - ) │ │ - assert result.stderr == snapshot("") │ │ +Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ +My amazing tool does all the things. \n\ │ │ +This is a minimal example based on documentation from the 'click' package. \n\ │ │ +You can try using --help at the top level and also for specific subcommands. \n\ │ │ +Here are things you can do: \n\ │ │ +- sync files \n\ │ │ +- download files \n\ │ │ +- print help text! \n\ │ │ +... and more! \n\ │ │ + \n\ │ │ +┌─ Options ──────────────────────────────────────────────────────────────────┐ │ │ +│ │ │ │ +│ -d, --debug -n, --no-debug Enable debug mode. Newlines are removed by │ │ │ +│ default. │ │ │ +│ Double newlines are preserved. │ │ │ +│ --help Show this message and exit. │ │ │ +│ │ │ │ +└──────────────────────────────────────────────────────────────────────────────┘ │ │ +┌─ Commands ─────────────────────────────────────────────────────────────────┐ │ │ +│ │ │ │ +│ download Optionally use short-help for the group help text │ │ │ +│ sync Synchronise all your files between two places. Example command │ │ │ +│ that doesn't do much except print to the terminal. │ │ │ +│ │ │ │ +└──────────────────────────────────────────────────────────────────────────────┘ │ │ +""" │ │ + ) │ │ + assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────── tests/help/test_table_styles.py ─────────────────────────────────╮ │ @@ -17,87 +17,113 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific group subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ │ │ │ │ │ -│ --type TEXT Type of file to sync. Lorem ipsum dolor sit amet, │ │ │ │ │ -│ consectetur adipiscing elit. Sed sed mauris euismod, │ │ │ │ │ -│ semper leo quis, sodales augue. Donec posuere nulla quis │ │ │ │ │ -│ egestas ornare. Nam efficitur ex quis diam tempus, nec │ │ │ │ │ -│ euismod diam consectetur. Etiam vitae nisi at odio │ │ │ │ │ -│ hendrerit dictum in at dui. Aliquam nulla lacus, │ │ │ │ │ -│ pellentesque id ultricies sit amet, mollis nec tellus. │ │ │ │ │ -│ Aenean arcu justo, pellentesque viverra justo eget, │ │ tempus │ │ │ -│ tincidunt lectus. Maecenas porttitor risus vitae libero │ │ │ │ │ -│ dapibus ullamcorper. Cras faucibus euismod erat in │ │ porta. │ │ │ -│ Phasellus cursus gravida ante vel aliquet. In accumsan │ │ │ │ │ -│ enim nec ullamcorper gravida. Donec malesuada dui ac │ │ metus │ │ │ -│ tristique cursus. Sed gravida condimentum fermentum. Ut │ │ │ │ │ -│ sit amet nulla commodo, iaculis tellus vitae, accumsan │ │ │ │ │ -│ enim. Curabitur mollis semper velit a suscipit. │ │ │ │ │ -│ │ │ │ │ │ -│ --debug/--no-debug -d/-n Show the debug log messages. Suspendisse dictum │ │ hendrerit │ │ │ -│ turpis eu rutrum. Vivamus magna ex, elementum sit amet │ │ │ │ │ -│ sapien laoreet, tempor consequat eros. Morbi semper │ │ │ │ │ -│ feugiat nisi eget sodales. Pellentesque et turpis erat. │ │ │ │ │ -│ Donec ac aliquam risus. Nam leo tellus, rutrum et │ │ │ │ │ -│ scelerisque vitae, ultrices sed metus. Ut sollicitudin │ │ │ │ │ -│ convallis turpis, sit amet sollicitudin felis semper │ │ │ │ │ -│ feugiat. In sapien dui, aliquam eget dui quis, auctor │ │ │ │ │ -│ maximus nibh. Suspendisse maximus sem arcu. Pellentesque │ │ │ │ │ -│ sit amet semper est. Cras pulvinar ut tellus a semper. │ │ In │ │ │ -│ facilisis tellus odio, non porta nisl accumsan nec. │ │ │ │ │ -│ Pellentesque sollicitudin quam ac felis congue, ac │ │ congue │ │ │ -│ enim tempor. │ │ │ │ │ -│ │ │ │ │ │ -│ --version Show the version and exit. │ │ │ │ │ -│ │ │ │ │ │ -│ --help Show this message and exit. │ │ │ │ │ -│ │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Commands │ │ ───────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ │ │ ╔══════════╦═══════════════════════════════════════════════════════════════════════════════════╗ │ │ │ │ │ -│ ║ auth ║ Authenticate the app. Duis lacus nibh, feugiat a nibh a, commodo dictum libero. │ │ ║ │ │ │ -│ ║ ║ Ut ac nulla tincidunt, bibendum nisi vitae, sodales ex. Vestibulum efficitur, │ │ ║ │ │ │ -│ ║ ║ lectus quis venenatis porta, dolor elit varius mauris, consequat interdum lectus │ │ ║ │ │ │ -│ ║ ║ est quis mi. Vestibulum imperdiet sed dolor eget semper. Cras ut mauris ac │ │ libero ║ │ │ │ -│ ║ ║ hendrerit congue. Vivamus pretium nunc turpis, eget imperdiet sapien tempor │ │ ║ │ │ │ -│ ║ ║ auctor. Phasellus risus nisi, laoreet in posuere sit amet, sodales non diam. │ │ ║ │ │ │ -│ ║ ║ Aliquam non malesuada urna, a faucibus risus. │ │ ║ │ │ │ -│ │ │ ╠══════════╬═══════════════════════════════════════════════════════════════════════════════════╣ │ │ │ │ │ -│ ║ config ║ Set up the configuration. Sed accumsan ornare odio dictum aliquam. Pellentesque │ │ ║ │ │ │ -│ ║ ║ habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. │ │ ║ │ │ │ -│ ║ ║ Curabitur in pellentesque mauris. Nulla mollis dui finibus, dictum neque id, │ │ ║ │ │ │ -│ ║ ║ suscipit nisl. Nunc mauris ex, laoreet nec tincidunt ut, pellentesque ut tortor. │ │ ║ │ │ │ -│ ║ ║ Mauris fermentum diam at porttitor tempor. Aliquam euismod nisi massa, nec │ │ ║ │ │ │ -│ ║ ║ placerat ante euismod quis. │ │ ║ │ │ │ -│ │ │ ╠══════════╬═══════════════════════════════════════════════════════════════════════════════════╣ │ │ │ │ │ -│ ║ download ║ Pretend to download some files from somewhere. Integer bibendum libero nunc, sed │ │ ║ │ │ │ -│ ║ ║ aliquet ex tincidunt vel. Duis vitae sem vel odio luctus suscipit nec vitae │ │ enim. ║ │ │ │ -│ ║ ║ Curabitur vel lectus nec quam maximus dapibus. Phasellus eros velit, maximus non │ │ ║ │ │ │ -│ ║ ║ hendrerit nec, tempor fringilla urna. Vivamus vel nibh quis sapien consectetur │ │ ║ │ │ │ -│ ║ ║ fermentum. Curabitur at ultrices quam, vel molestie justo. Nunc lobortis orci │ │ vel ║ │ │ │ -│ ║ ║ nibh sagittis pretium. Morbi rhoncus sapien luctus, ultrices urna vel, convallis │ │ ║ │ │ │ -│ ║ ║ tortor. │ │ ║ │ │ │ -│ │ │ ╠══════════╬═══════════════════════════════════════════════════════════════════════════════════╣ │ │ │ │ │ -│ ║ sync ║ Synchronise all your files between two places. Curabitur congue eget lorem in │ │ ║ │ │ │ -│ ║ ║ lacinia. Praesent tempus nunc nec nulla dignissim, et lacinia ipsum accumsan. │ │ ║ │ │ │ -│ ║ ║ Duis sodales, sapien at fermentum condimentum, diam metus porttitor lacus, nec │ │ ║ │ │ │ -│ ║ ║ gravida mi diam eget ligula. Pellentesque elementum at justo a luctus. Mauris a │ │ ║ │ │ │ -│ ║ ║ interdum odio. Maecenas in consectetur velit. Ut tristique congue felis at │ │ ║ │ │ │ -│ ║ ║ tempus. Donec pulvinar tortor ut odio posuere imperdiet. Fusce lacinia iaculis │ │ ║ │ │ │ -│ ║ ║ diam in scelerisque. Pellentesque in lorem est. Nulla efficitur luctus lacus, │ │ ║ │ │ │ -│ ║ ║ auctor auctor dui hendrerit a. Ut nec iaculis dolor. Morbi metus lectus, aliquet │ │ ║ │ │ │ -│ ║ ║ et sapien nec, congue euismod lorem. Pellentesque tristique tempus augue at │ │ ║ │ │ │ -│ ║ ║ convallis. │ │ ║ │ │ │ -│ │ │ ╚══════════╩═══════════════════════════════════════════════════════════════════════════════════╝ │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific group \n\ │ │ + subcommands. \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ │ │ │ +│ --type TEXT Type of file to sync. Lorem ipsum │ │ │ +│ dolor sit amet, consectetur adipiscing │ │ │ +│ elit. Sed sed mauris euismod, semper │ │ │ +│ leo quis, sodales augue. Donec posuere │ │ │ +│ nulla quis egestas ornare. Nam │ │ │ +│ efficitur ex quis diam tempus, nec │ │ │ +│ euismod diam consectetur. Etiam vitae │ │ │ +│ nisi at odio hendrerit dictum in at │ │ │ +│ dui. Aliquam nulla lacus, pellentesque │ │ │ +│ id ultricies sit amet, mollis nec │ │ │ +│ tellus. Aenean arcu justo, │ │ │ +│ pellentesque viverra justo eget, │ │ │ +│ tempus tincidunt lectus. Maecenas │ │ │ +│ porttitor risus vitae libero dapibus │ │ │ +│ ullamcorper. Cras faucibus euismod │ │ │ +│ erat in porta. Phasellus cursus │ │ │ +│ gravida ante vel aliquet. In accumsan │ │ │ +│ enim nec ullamcorper gravida. Donec │ │ │ +│ malesuada dui ac metus tristique │ │ │ +│ cursus. Sed gravida condimentum │ │ │ +│ fermentum. Ut sit amet nulla commodo, │ │ │ +│ iaculis tellus vitae, accumsan enim. │ │ │ +│ Curabitur mollis semper velit a │ │ │ +│ suscipit. │ │ │ +│ │ │ │ +│ --debug/--no-debug -d/-n Show the debug log messages. │ │ │ +│ Suspendisse dictum hendrerit turpis eu │ │ │ +│ rutrum. Vivamus magna ex, elementum │ │ │ +│ sit amet sapien laoreet, tempor │ │ │ +│ consequat eros. Morbi semper feugiat │ │ │ +│ nisi eget sodales. Pellentesque et │ │ │ +│ turpis erat. Donec ac aliquam risus. │ │ │ +│ Nam leo tellus, rutrum et scelerisque │ │ │ +│ vitae, ultrices sed metus. Ut │ │ │ +│ sollicitudin convallis turpis, sit │ │ │ +│ amet sollicitudin felis semper │ │ │ +│ feugiat. In sapien dui, aliquam eget │ │ │ +│ dui quis, auctor maximus nibh. │ │ │ +│ Suspendisse maximus sem arcu. │ │ │ +│ Pellentesque sit amet semper est. Cras │ │ │ +│ pulvinar ut tellus a semper. In │ │ │ +│ facilisis tellus odio, non porta nisl │ │ │ +│ accumsan nec. Pellentesque │ │ │ +│ sollicitudin quam ac felis congue, ac │ │ │ +│ congue enim tempor. │ │ │ +│ │ │ │ +│ --version Show the version and exit. │ │ │ +│ │ │ │ +│ --help Show this message and exit. │ │ │ +│ │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Commands ───────────────────────────────────────────────────────────────────╮ │ │ +│ ╔══════════╦═══════════════════════════════════════════════════════════════╗ │ │ │ +│ ║ auth ║ Authenticate the app. Duis lacus nibh, feugiat a nibh a, ║ │ │ │ +│ ║ ║ commodo dictum libero. Ut ac nulla tincidunt, bibendum nisi ║ │ │ │ +│ ║ ║ vitae, sodales ex. Vestibulum efficitur, lectus quis ║ │ │ │ +│ ║ ║ venenatis porta, dolor elit varius mauris, consequat interdum ║ │ │ │ +│ ║ ║ lectus est quis mi. Vestibulum imperdiet sed dolor eget ║ │ │ │ +│ ║ ║ semper. Cras ut mauris ac libero hendrerit congue. Vivamus ║ │ │ │ +│ ║ ║ pretium nunc turpis, eget imperdiet sapien tempor auctor. ║ │ │ │ +│ ║ ║ Phasellus risus nisi, laoreet in posuere sit amet, sodales ║ │ │ │ +│ ║ ║ non diam. Aliquam non malesuada urna, a faucibus risus. ║ │ │ │ +│ ╠══════════╬═══════════════════════════════════════════════════════════════╣ │ │ │ +│ ║ config ║ Set up the configuration. Sed accumsan ornare odio dictum ║ │ │ │ +│ ║ ║ aliquam. Pellentesque habitant morbi tristique senectus et ║ │ │ │ +│ ║ ║ netus et malesuada fames ac turpis egestas. Curabitur in ║ │ │ │ +│ ║ ║ pellentesque mauris. Nulla mollis dui finibus, dictum neque ║ │ │ │ +│ ║ ║ id, suscipit nisl. Nunc mauris ex, laoreet nec tincidunt ut, ║ │ │ │ +│ ║ ║ pellentesque ut tortor. Mauris fermentum diam at porttitor ║ │ │ │ +│ ║ ║ tempor. Aliquam euismod nisi massa, nec placerat ante euismod ║ │ │ │ +│ ║ ║ quis. ║ │ │ │ +│ ╠══════════╬═══════════════════════════════════════════════════════════════╣ │ │ │ +│ ║ download ║ Pretend to download some files from somewhere. Integer ║ │ │ │ +│ ║ ║ bibendum libero nunc, sed aliquet ex tincidunt vel. Duis ║ │ │ │ +│ ║ ║ vitae sem vel odio luctus suscipit nec vitae enim. Curabitur ║ │ │ │ +│ ║ ║ vel lectus nec quam maximus dapibus. Phasellus eros velit, ║ │ │ │ +│ ║ ║ maximus non hendrerit nec, tempor fringilla urna. Vivamus vel ║ │ │ │ +│ ║ ║ nibh quis sapien consectetur fermentum. Curabitur at ultrices ║ │ │ │ +│ ║ ║ quam, vel molestie justo. Nunc lobortis orci vel nibh ║ │ │ │ +│ ║ ║ sagittis pretium. Morbi rhoncus sapien luctus, ultrices urna ║ │ │ │ +│ ║ ║ vel, convallis tortor. ║ │ │ │ +│ ╠══════════╬═══════════════════════════════════════════════════════════════╣ │ │ │ +│ ║ sync ║ Synchronise all your files between two places. Curabitur ║ │ │ │ +│ ║ ║ congue eget lorem in lacinia. Praesent tempus nunc nec nulla ║ │ │ │ +│ ║ ║ dignissim, et lacinia ipsum accumsan. Duis sodales, sapien at ║ │ │ │ +│ ║ ║ fermentum condimentum, diam metus porttitor lacus, nec ║ │ │ │ +│ ║ ║ gravida mi diam eget ligula. Pellentesque elementum at justo ║ │ │ │ +│ ║ ║ a luctus. Mauris a interdum odio. Maecenas in consectetur ║ │ │ │ +│ ║ ║ velit. Ut tristique congue felis at tempus. Donec pulvinar ║ │ │ │ +│ ║ ║ tortor ut odio posuere imperdiet. Fusce lacinia iaculis diam ║ │ │ │ +│ ║ ║ in scelerisque. Pellentesque in lorem est. Nulla efficitur ║ │ │ │ +│ ║ ║ luctus lacus, auctor auctor dui hendrerit a. Ut nec iaculis ║ │ │ │ +│ ║ ║ dolor. Morbi metus lectus, aliquet et sapien nec, congue ║ │ │ │ +│ ║ ║ euismod lorem. Pellentesque tristique tempus augue at ║ │ │ │ +│ ║ ║ convallis. ║ │ │ │ +│ ╚══════════╩═══════════════════════════════════════════════════════════════╝ │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────── tests/help/test_wildcard_groups.py ───────────────────────────────╮ │ @@ -17,29 +17,29 @@ │ │ │ │ assert result.exit_code == 0 │ │ assert result.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] COMMAND [ARGS]... │ │ \n\ │ │ - │ │ \n\ │ │ - My amazing tool does all the things. │ │ \n\ │ │ - This is a minimal example based on documentation from the 'click' package. │ │ \n\ │ │ - You can try using --help at the top level and also for specific subcommands. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Basic usage │ │ ────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ * --type TEXT Type of file to sync [default: files] [required] │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Advanced options │ │ ───────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help -h Show this message and exit. │ │ │ │ │ -│ --version Show the version and exit. │ │ │ │ │ -│ --debug/--no-debug -d/-n Show the debug log messages [default: no-debug] │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Main usage │ │ ─────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ sync Synchronise all your files between two places. │ │ │ │ │ -│ download Pretend to download some files from somewhere. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Configuration │ │ ──────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ config Set up the configuration. │ │ │ │ │ -│ auth Authenticate the app. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ │ │ + \n\ │ │ + My amazing tool does all the things. \n\ │ │ + This is a minimal example based on documentation from the 'click' package. \n\ │ │ + You can try using --help at the top level and also for specific subcommands. \n\ │ │ + \n\ │ │ +╭─ Basic usage ────────────────────────────────────────────────────────────────╮ │ │ +│ * --type TEXT Type of file to sync [default: files] [required] │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Advanced options ───────────────────────────────────────────────────────────╮ │ │ +│ --help -h Show this message and exit. │ │ │ +│ --version Show the version and exit. │ │ │ +│ --debug/--no-debug -d/-n Show the debug log messages [default: no-debug] │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Main usage ─────────────────────────────────────────────────────────────────╮ │ │ +│ sync Synchronise all your files between two places. │ │ │ +│ download Pretend to download some files from somewhere. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Configuration ──────────────────────────────────────────────────────────────╮ │ │ +│ config Set up the configuration. │ │ │ +│ auth Authenticate the app. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ │ @@ -51,20 +51,20 @@ │ │ │ │ assert result.stdout == snapshot( │ │ """\ │ │ Debug mode is off │ │ - │ │ \n\ │ │ - Usage: cli sync [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - Synchronise all your files between two places. │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Advanced usage │ │ ─────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --overwrite Overwrite local files │ │ │ │ │ -│ --all Sync all the things? │ │ │ │ │ -│ --help -h Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -╭─ Inputs and outputs │ │ ─────────────────────────────────────────────────────────────────────────────╮ │ │ -│ * --input -i TEXT Input path [required] │ │ │ │ │ -│ --output -o TEXT Output path │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli sync [OPTIONS] \n\ │ │ + \n\ │ │ + Synchronise all your files between two places. \n\ │ │ + \n\ │ │ +╭─ Advanced usage ─────────────────────────────────────────────────────────────╮ │ │ +│ --overwrite Overwrite local files │ │ │ +│ --all Sync all the things? │ │ │ +│ --help -h Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +╭─ Inputs and outputs ─────────────────────────────────────────────────────────╮ │ │ +│ * --input -i TEXT Input path [required] │ │ │ +│ --output -o TEXT Output path │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ assert result.stderr == snapshot("") │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────── tests/test_misc.py ───────────────────────────────────────╮ │ @@ -49,13 +49,13 @@ │ │ │ │ assert res.stdout == snapshot("") │ │ assert res.stderr == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - CLI help text │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ + CLI help text \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────── tests/test_no_rich_imports.py ──────────────────────────────────╮ │ @@ -84,12 +84,12 @@ │ │ │ │ assert res.exit_code == 0 │ │ assert res.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: cli [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: cli [OPTIONS] \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ │ │ │ @@ -127,12 +127,12 @@ │ │ │ │ assert res.exit_code == 0 │ │ assert res.stdout == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: mymodule [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ + \n\ │ │ + Usage: mymodule [OPTIONS] \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ """ │ │ ) │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────── tests/test_rich_click_cli.py ──────────────────────────────────╮ │ @@ -807,13 +807,13 @@ │ │ │ │ │ │ assert res.stdout.decode() == snapshot( │ │ """\ │ │ - │ │ \n\ │ │ - Usage: python -m src.rich_click.mymodule [OPTIONS] │ │ \n\ │ │ - │ │ \n\ │ │ - My help text │ │ \n\ │ │ - │ │ \n\ │ │ -╭─ Options │ │ ────────────────────────────────────────────────────────────────────────────────────────╮ │ │ -│ --help Show this message and exit. │ │ │ │ │ -╰────────────────────────────────────────────────────────────────────────────────────────────── │ │ ────╯ │ │ -""" │ │ - ) │ │ + \n\ │ │ + Usage: python -m src.rich_click.mymodule [OPTIONS] \n\ │ │ + \n\ │ │ + My help text \n\ │ │ + \n\ │ │ +╭─ Options ────────────────────────────────────────────────────────────────────╮ │ │ +│ --help Show this message and exit. │ │ │ +╰──────────────────────────────────────────────────────────────────────────────╯ │ │ +""" │ │ + ) │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ These changes are not applied. Use --inline-snapshot=fix to apply them, or use the interactive mode with --inline-snapshot=review ============================================== ERRORS ============================================== _____________________________ ERROR at teardown of test_arguments_help _____________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _________________ ERROR at teardown of test_arguments_help_with_no_show_arguments __________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________ ERROR at teardown of test_arguments_help_with_help_panel_title __________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _________________ ERROR at teardown of test_arguments_help_with_help_panel_config __________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________ ERROR at teardown of test_arguments_help_grouped_with_options ___________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _____________________ ERROR at teardown of test_class_overrides_command_panel ______________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________ ERROR at teardown of test_class_overrides_click_parameters ____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ________________ ERROR at teardown of test_context_settings_help_for_click_8_1_plus ________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ________________________ ERROR at teardown of test_custom_errors_bad_input _________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________________ ERROR at teardown of test_declarative_help ____________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ______________________ ERROR at teardown of test_declarative_subcommand_help _______________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _____________________________ ERROR at teardown of test_defaults_help ______________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ___________ ERROR at teardown of test_defaults_help_subcommand_with_show_default_string ____________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _____ ERROR at teardown of test_defaults_help_subcommand_with_show_default_string_and_markdown _____ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________________ ERROR at teardown of test_deprecated_help _____________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________ ERROR at teardown of test_deprecated_help_subcommand_bool _____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ___________________ ERROR at teardown of test_deprecated_help_subcommand_string ____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _____________________ ERROR at teardown of test_deprecated_help_with_markdown ______________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _____________ ERROR at teardown of test_deprecated_help_subcommand_bool_with_markdown ______________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________ ERROR at teardown of test_deprecated_help_subcommand_string_with_markdown _____________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ___________________________ ERROR at teardown of test_envvar_greet_help ____________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________ ERROR at teardown of test_envvar_greet_help_with_envvar_string __________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ______________________________ ERROR at teardown of test_epilog_help _______________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________ ERROR at teardown of test_epilog_help_subcommand_no_footer ____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________ ERROR at teardown of test_epilog_help_subcommand_no_epilog ____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _______________ ERROR at teardown of test_epilog_help_subcommand_footer_is_rich_text _______________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _______________ ERROR at teardown of test_epilog_help_subcommand_epilog_is_rich_text _______________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________ ERROR at teardown of test_epilog_help_turn_off_rich_markup ____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________________ ERROR at teardown of test_flag_values_help ____________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________________ ERROR at teardown of test_groups_sorting_help ___________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________ ERROR at teardown of test_groups_sorting_help_subcommand_sync ___________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ________________ ERROR at teardown of test_groups_sorting_help_subcommand_download _________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _________________ ERROR at teardown of test_groups_sorting_help_subcommand_config __________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________ ERROR at teardown of test_groups_sorting_help_subcommand_auth ___________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ______________________________ ERROR at teardown of test_header_help _______________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _________________________ ERROR at teardown of test_header_subcommand_help _________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________ ERROR at teardown of test_header_help_turn_off_rich_markup ____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________ ERROR at teardown of test_markdown_help_turn_off_markdown _____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _____________________________ ERROR at teardown of test_metavars_help ______________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _________________________ ERROR at teardown of test_metavars_help_flipped __________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ___________________ ERROR at teardown of test_metavars_help_flipped_help_string ____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ______________________________ ERROR at teardown of test_options_help ______________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _______________________ ERROR at teardown of test_options_help_envvar_first ________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________ ERROR at teardown of test_options_help_dont_show_metavars _____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _____________________ ERROR at teardown of test_panels_defaults_command_panel ______________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _____________________ ERROR at teardown of test_panels_defaults_argument_panel _____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _________________________ ERROR at teardown of test_panels_defaults_order __________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________________ ERROR at teardown of test_command_panel_order ___________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _____________________ ERROR at teardown of test_panel_order_in_panel_decorator _____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ___________________ ERROR at teardown of test_option_order_with_panel_decorator ____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ______________________ ERROR at teardown of test_panel_order_with_panel_kwarg ______________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _____________________ ERROR at teardown of test_option_order_with_panel_kwarg ______________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ___________________ ERROR at teardown of test_panel_order_commands_above_options ___________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ___________________ ERROR at teardown of test_panel_order_options_above_commands ___________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ___________ ERROR at teardown of test_panel_order_options_above_commands_with_arguments ____________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _________________ ERROR at teardown of test_panel_order_arguments_options_commands _________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ___________________ ERROR at teardown of test_panel_option_and_command_same_name ___________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _________________ ERROR at teardown of test_panel_different_type_panels_same_name __________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ________________________ ERROR at teardown of test_add_command_panel_kwarg _________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _______________________ ERROR at teardown of test_no_duplicatio_of_commands ________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _________________ ERROR at teardown of test_ignore_behavior_duplicate_assignments __________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________________ ERROR at teardown of test_styles_command_panel __________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________________ ERROR at teardown of test_styles_options_panel __________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________________ ERROR at teardown of test_rich_markup_help ____________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _________________ ERROR at teardown of test_rich_markup_help_turn_off_rich_markup __________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________ ERROR at teardown of test_markdown_help_text_markup_field _____________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ______________________________ ERROR at teardown of test_simple_help _______________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ______________________ ERROR at teardown of test_simple_help_no_args_is_help _______________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________ ERROR at teardown of test_simple_help_commands_before_options ___________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ______________________ ERROR at teardown of test_simple_help_no_such_command _______________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________________ ERROR at teardown of test_simple_help_nu_theme __________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _________________________ ERROR at teardown of test_simple_help_slim_theme _________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ________________________ ERROR at teardown of test_simple_help_modern_theme ________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _________________________ ERROR at teardown of test_simple_help_robo_theme _________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ___________________________ ERROR at teardown of test_table_styles_help ____________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________________ ERROR at teardown of test_wildcard_groups_help __________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________ ERROR at teardown of test_wildcard_groups_help_subcommand_sync __________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. _____________________________ ERROR at teardown of test_help_to_stderr _____________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. __________________________ ERROR at teardown of test_imports_during_help ___________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ___________________ ERROR at teardown of test_imports_during_help_rich_click_cli ___________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ____________________________ ERROR at teardown of test_cli_output_text _____________________________ some snapshots in this test have incorrect values. If you just created this value with --inline-snapshot=create, the value is now created and you can ignore this message. ============================================= FAILURES ============================================= _______________________________________ test_arguments_help ________________________________________ cli_runner = , cli = def test_arguments_help(cli_runner: CliRunner, cli: rich_click.RichCommand) -> None: result = cli_runner.invoke(cli, "--help") assert result.exit_code == 0 > assert result.stdout == snapshot( """\ \n\ Usage: cli [OPTIONS] INPUT OUTPUT \n\ \n\ My amazing tool does all the things. \n\ This is a minimal example based on documentation from the 'click' package. \n\ You can try using --help at the top level and also for specific group subcommands. \n\ \n\ ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────╮ │ * INPUT PATH Input file [required] │ │ * OUTPUT PATH Output file [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮ │ --type TEXT Type of file to sync [default: files] │ │ --debug -d Enable debug mode │ │ --environment -e [dev|staging|prod] Sync to what environment [env var: MY_ENV] [default: │ │ (current)] │ │ --help Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ """ ) E AssertionError: assert ' ...──────────╯\n' == ' ...──────────╯\n' E E - E ? -------------------- E + E - Usage: cli [OPTIONS] INPUT OUTPUT E ? -------------------- E + Usage: cli [OPTIONS] INPUT OUTPUT ... E E ...Full output truncated (49 lines hidden), use '-vv' to show cli = cli_runner = result = tests/help/test_arguments.py:20: AssertionError ____________________________ test_arguments_help_with_no_show_arguments ____________________________ cli_runner = , cli = def test_arguments_help_with_no_show_arguments(cli_runner: CliRunner, cli: rich_click.RichCommand) -> None: rc.SHOW_ARGUMENTS = False result = cli_runner.invoke(cli, "--help") assert result.exit_code == 0 > assert result.stdout == snapshot( """\ \n\ Usage: cli [OPTIONS] INPUT OUTPUT \n\ \n\ My amazing tool does all the things. \n\ This is a minimal example based on documentation from the 'click' package. \n\ You can try using --help at the top level and also for specific group subcommands. \n\ \n\ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮ │ --type TEXT Type of file to sync [default: files] │ │ --debug -d Enable debug mode │ │ --environment -e [dev|staging|prod] Sync to what environment [env var: MY_ENV] [default: │ │ (current)] │ │ --help Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ """ ) E AssertionError: assert ' ...──────────╯\n' == ' ...──────────╯\n' E E - E ? -------------------- E + E - Usage: cli [OPTIONS] INPUT OUTPUT E ? -------------------- E + Usage: cli [OPTIONS] INPUT OUTPUT ... E E ...Full output truncated (37 lines hidden), use '-vv' to show cli = cli_runner = result = tests/help/test_arguments.py:49: AssertionError ____________________________ test_arguments_help_with_help_panel_title _____________________________ cli_runner = , cli = def test_arguments_help_with_help_panel_title(cli_runner: CliRunner, cli: rich_click.RichCommand) -> None: rc.ARGUMENTS_PANEL_TITLE = "My amazing tool arguments" result = cli_runner.invoke(cli, "--help") assert result.exit_code == 0 > assert result.stdout == snapshot( """\ \n\ Usage: cli [OPTIONS] INPUT OUTPUT \n\ \n\ My amazing tool does all the things. \n\ This is a minimal example based on documentation from the 'click' package. \n\ You can try using --help at the top level and also for specific group subcommands. \n\ \n\ ╭─ My amazing tool arguments ──────────────────────────────────────────────────────────────────────╮ │ * INPUT PATH Input file [required] │ │ * OUTPUT PATH Output file [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮ │ --type TEXT Type of file to sync [default: files] │ │ --debug -d Enable debug mode │ │ --environment -e [dev|staging|prod] Sync to what environment [env var: MY_ENV] [default: │ │ (current)] │ │ --help Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ """ ) E AssertionError: assert ' ...──────────╯\n' == ' ...──────────╯\n' E E - E ? -------------------- E + E - Usage: cli [OPTIONS] INPUT OUTPUT E ? -------------------- E + Usage: cli [OPTIONS] INPUT OUTPUT ... E E ...Full output truncated (49 lines hidden), use '-vv' to show cli = cli_runner = result = tests/help/test_arguments.py:74: AssertionError ____________________________ test_arguments_help_with_help_panel_config ____________________________ cli_runner = , cli = def test_arguments_help_with_help_panel_config(cli_runner: CliRunner, cli: rich_click.RichCommand) -> None: rc.ARGUMENTS_PANEL_TITLE = "My amazing tool arguments" rc.OPTION_GROUPS = {"cli": [{"name": "My amazing tool arguments", "panel_styles": {"box": box.DOUBLE_EDGE}}]} result = cli_runner.invoke(cli, "--help") assert result.exit_code == 0 > assert result.stdout == snapshot( """\ \n\ Usage: cli [OPTIONS] INPUT OUTPUT \n\ \n\ My amazing tool does all the things. \n\ This is a minimal example based on documentation from the 'click' package. \n\ You can try using --help at the top level and also for specific group subcommands. \n\ \n\ ╔═ My amazing tool arguments ══════════════════════════════════════════════════════════════════════╗ ║ * INPUT PATH Input file [required] ║ ║ * OUTPUT PATH Output file [required] ║ ╚══════════════════════════════════════════════════════════════════════════════════════════════════╝ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮ │ --type TEXT Type of file to sync [default: files] │ │ --debug -d Enable debug mode │ │ --environment -e [dev|staging|prod] Sync to what environment [env var: MY_ENV] [default: │ │ (current)] │ │ --help Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ """ ) E AssertionError: assert ' ...──────────╯\n' == ' ...──────────╯\n' E E - E ? -------------------- E + E - Usage: cli [OPTIONS] INPUT OUTPUT E ? -------------------- E + Usage: cli [OPTIONS] INPUT OUTPUT ... E E ...Full output truncated (49 lines hidden), use '-vv' to show cli = cli_runner = result = tests/help/test_arguments.py:104: AssertionError _____________________________ test_arguments_help_grouped_with_options _____________________________ cli_runner = , cli = def test_arguments_help_grouped_with_options(cli_runner: CliRunner, cli: rich_click.RichCommand) -> None: rc.GROUP_ARGUMENTS_OPTIONS = True result = cli_runner.invoke(cli, "--help") assert result.exit_code == 0 > assert result.stdout == snapshot( """\ \n\ Usage: cli [OPTIONS] INPUT OUTPUT \n\ \n\ My amazing tool does all the things. \n\ This is a minimal example based on documentation from the 'click' package. \n\ You can try using --help at the top level and also for specific group subcommands. \n\ \n\ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮ │ * INPUT PATH Input file [required] │ │ * OUTPUT PATH Output file [required] │ │ --type TEXT Type of file to sync [default: files] │ │ --debug -d Enable debug mode │ │ --environment -e [dev|staging|prod] Sync to what environment [env var: MY_ENV] [default: │ │ (current)] │ │ --help Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ """ ) E AssertionError: assert ' ...──────────╯\n' == ' ...──────────╯\n' E E - E ? -------------------- E + E - Usage: cli [OPTIONS] INPUT OUTPUT E ? -------------------- E + Usage: cli [OPTIONS] INPUT OUTPUT ... E E ...Full output truncated (44 lines hidden), use '-vv' to show cli = cli_runner = result = tests/help/test_arguments.py:133: AssertionError ________________________________ test_class_overrides_command_panel ________________________________ cli_runner = , cli = def test_class_overrides_command_panel(cli_runner: CliRunner, cli: rich_click.RichCommand) -> None: result = cli_runner.invoke(cli, "--help") assert result.exit_code == 0 > assert result.stdout == snapshot( """\ \n\ Usage: cli [OPTIONS] COMMAND [ARGS]... \n\ \n\ Test that command is assigned to panel even if it's not a RichCommand. \n\ (Also test that callback name identifies a command, not just the name of the command.) \n\ \n\ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮ │ --help Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Rich Click Panel ───────────────────────────────────────────────────────────────────────────────╮ │ click-command Test that RichParameters can be used with base click Commands. │ │ click-options Test that options+arguments are assigned to the panel even if they're not │ │ RichParameters. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Rich Click Panel 2 ─────────────────────────────────────────────────────────────────────────────╮ │ cmd1 Test that command is assigned to Rich Click Panel 2 via the decorator argument. │ │ grp1 Test that group is assigned to Rich Click Panel 2 via the decorator argument. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ """ ) E AssertionError: assert ' ...──────────╯\n' == ' ...──────────╯\n' E E - E ? -------------------- E + E - Usage: cli [OPTIONS] COMMAND [ARGS]... E ? -------------------- E + Usage: cli [OPTIONS] COMMAND [ARGS]... ... E E ...Full output truncated (53 lines hidden), use '-vv' to show cli = cli_runner = result = tests/help/test_class_overrides.py:19: AssertionError ______________________________ test_class_overrides_click_parameters _______________________________ cli_runner = , cli = def test_class_overrides_click_parameters(cli_runner: CliRunner, cli: rich_click.RichGroup) -> None: cmd = cli.commands["click-options"] for param in cmd.params: assert isinstance(param, click.Parameter) assert not isinstance(param, rich_click.RichParameter) result = cli_runner.invoke(cmd, "--help") assert result.exit_code == 0 > assert result.stdout == snapshot( """\ \n\ Usage: click-options [OPTIONS] CLICK_ARG \n\ \n\ Test that options+arguments are assigned to the panel even if they're not RichParameters. \n\ \n\ ╭─ Rich Click Panel ───────────────────────────────────────────────────────────────────────────────╮ │ * CLICK-ARG TEXT [required] │ │ * --click-option TEXT This is help text for a click.Option(). [env var: CLICK_OPTION] │ │ [default: foo] [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮ │ --help Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ """ ) E AssertionError: assert ' ...──────────╯\n' == ' ...──────────╯\n' E E - E ? -------------------- E + E - Usage: click-options [OPTIONS] CLICK_ARG E ? -------------------- E + Usage: click-options [OPTIONS] CLICK_ARG ... E E ...Full output truncated (33 lines hidden), use '-vv' to show cli = cli_runner = cmd = param =