[1m[32m==>[m[1m Building on turtonator[m
[1m[32m==>[m[1m Checking for remote environment...[m
[1m[32m==>[m[1m Syncing package to remote host...[m
sending incremental file list
created directory packages/npm
./
.SRCINFO
            402 100%    0.00kB/s    0:00:00              402 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=2/4)
PKGBUILD
          1,818 100%    1.73MB/s    0:00:00            1,818 100%    1.73MB/s    0:00:00 (xfr#2, to-chk=1/4)
npm-10.2.0-1.log
            360 100%  351.56kB/s    0:00:00              360 100%  351.56kB/s    0:00:00 (xfr#3, to-chk=0/4)

sent 1,627 bytes  received 111 bytes  3,476.00 bytes/sec
total size is 2,417  speedup is 1.39
[1m[32m==>[m[1m Running  extra-riscv64-build -- -d /home/felix/packages/riscv64-pkg-cache:/var/cache/pacman/pkg -l root1 on remote host...[m
[?25l:: Synchronizing package databases...
 core downloading...
 extra downloading...
:: Starting full system upgrade...
 there is nothing to do
[?25h[1m[32m==>[m[1m Building in chroot for [extra] (riscv64)...[m
[1m[32m==>[m[1m Locking clean chroot [/var/lib/archbuild/extra-riscv64/root]...[m[1mdone[m
[1m[32m==>[m[1m Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [root1]...[m[1mdone[m
[1m[32m==>[m[1m Making package: npm 10.2.0-1 (Wed Oct  4 20:57:21 2023)[m
[1m[32m==>[m[1m Retrieving sources...[m
[1m[34m  ->[m[1m Cloning npm-cli git repo...[m
Cloning into bare repository '/home/felix/packages/npm/npm-cli'...
remote: Enumerating objects: 173488, done.[K
remote: Counting objects:   0% (1/9829)[Kremote: Counting objects:   1% (99/9829)[Kremote: Counting objects:   2% (197/9829)[Kremote: Counting objects:   3% (295/9829)[Kremote: Counting objects:   4% (394/9829)[Kremote: Counting objects:   5% (492/9829)[Kremote: Counting objects:   6% (590/9829)[Kremote: Counting objects:   7% (689/9829)[Kremote: Counting objects:   8% (787/9829)[Kremote: Counting objects:   9% (885/9829)[Kremote: Counting objects:  10% (983/9829)[Kremote: Counting objects:  11% (1082/9829)[Kremote: Counting objects:  12% (1180/9829)[Kremote: Counting objects:  13% (1278/9829)[Kremote: Counting objects:  14% (1377/9829)[Kremote: Counting objects:  15% (1475/9829)[Kremote: Counting objects:  16% (1573/9829)[Kremote: Counting objects:  17% (1671/9829)[Kremote: Counting objects:  18% (1770/9829)[Kremote: Counting objects:  19% (1868/9829)[Kremote: Counting objects:  20% (1966/9829)[Kremote: Counting objects:  21% (2065/9829)[Kremote: Counting objects:  22% (2163/9829)[Kremote: Counting objects:  23% (2261/9829)[Kremote: Counting objects:  24% (2359/9829)[Kremote: Counting objects:  25% (2458/9829)[Kremote: Counting objects:  26% (2556/9829)[Kremote: Counting objects:  27% (2654/9829)[Kremote: Counting objects:  28% (2753/9829)[Kremote: Counting objects:  29% (2851/9829)[Kremote: Counting objects:  30% (2949/9829)[Kremote: Counting objects:  31% (3047/9829)[Kremote: Counting objects:  32% (3146/9829)[Kremote: Counting objects:  33% (3244/9829)[Kremote: Counting objects:  34% (3342/9829)[Kremote: Counting objects:  35% (3441/9829)[Kremote: Counting objects:  36% (3539/9829)[Kremote: Counting objects:  37% (3637/9829)[Kremote: Counting objects:  38% (3736/9829)[Kremote: Counting objects:  39% (3834/9829)[Kremote: Counting objects:  40% (3932/9829)[Kremote: Counting objects:  41% (4030/9829)[Kremote: Counting objects:  42% (4129/9829)[Kremote: Counting objects:  43% (4227/9829)[Kremote: Counting objects:  44% (4325/9829)[Kremote: Counting objects:  45% (4424/9829)[Kremote: Counting objects:  46% (4522/9829)[Kremote: Counting objects:  47% (4620/9829)[Kremote: Counting objects:  48% (4718/9829)[Kremote: Counting objects:  49% (4817/9829)[Kremote: Counting objects:  50% (4915/9829)[Kremote: Counting objects:  51% (5013/9829)[Kremote: Counting objects:  52% (5112/9829)[Kremote: Counting objects:  53% (5210/9829)[Kremote: Counting objects:  54% (5308/9829)[Kremote: Counting objects:  55% (5406/9829)[Kremote: Counting objects:  56% (5505/9829)[Kremote: Counting objects:  57% (5603/9829)[Kremote: Counting objects:  58% (5701/9829)[Kremote: Counting objects:  59% (5800/9829)[Kremote: Counting objects:  60% (5898/9829)[Kremote: Counting objects:  61% (5996/9829)[Kremote: Counting objects:  62% (6094/9829)[Kremote: Counting objects:  63% (6193/9829)[Kremote: Counting objects:  64% (6291/9829)[Kremote: Counting objects:  65% (6389/9829)[Kremote: Counting objects:  66% (6488/9829)[Kremote: Counting objects:  67% (6586/9829)[Kremote: Counting objects:  68% (6684/9829)[Kremote: Counting objects:  69% (6783/9829)[Kremote: Counting objects:  70% (6881/9829)[Kremote: Counting objects:  71% (6979/9829)[Kremote: Counting objects:  72% (7077/9829)[Kremote: Counting objects:  73% (7176/9829)[Kremote: Counting objects:  74% (7274/9829)[Kremote: Counting objects:  75% (7372/9829)[Kremote: Counting objects:  76% (7471/9829)[Kremote: Counting objects:  77% (7569/9829)[Kremote: Counting objects:  78% (7667/9829)[Kremote: Counting objects:  79% (7765/9829)[Kremote: Counting objects:  80% (7864/9829)[Kremote: Counting objects:  81% (7962/9829)[Kremote: Counting objects:  82% (8060/9829)[Kremote: Counting objects:  83% (8159/9829)[Kremote: Counting objects:  84% (8257/9829)[Kremote: Counting objects:  85% (8355/9829)[Kremote: Counting objects:  86% (8453/9829)[Kremote: Counting objects:  87% (8552/9829)[Kremote: Counting objects:  88% (8650/9829)[Kremote: Counting objects:  89% (8748/9829)[Kremote: Counting objects:  90% (8847/9829)[Kremote: Counting objects:  91% (8945/9829)[Kremote: Counting objects:  92% (9043/9829)[Kremote: Counting objects:  93% (9141/9829)[Kremote: Counting objects:  94% (9240/9829)[Kremote: Counting objects:  95% (9338/9829)[Kremote: Counting objects:  96% (9436/9829)[Kremote: Counting objects:  97% (9535/9829)[Kremote: Counting objects:  98% (9633/9829)[Kremote: Counting objects:  99% (9731/9829)[Kremote: Counting objects: 100% (9829/9829)[Kremote: Counting objects: 100% (9829/9829), done.[K
remote: Compressing objects:   0% (1/834)[Kremote: Compressing objects:   1% (9/834)[Kremote: Compressing objects:   2% (17/834)[Kremote: Compressing objects:   3% (26/834)[Kremote: Compressing objects:   4% (34/834)[Kremote: Compressing objects:   5% (42/834)[Kremote: Compressing objects:   6% (51/834)[Kremote: Compressing objects:   7% (59/834)[Kremote: Compressing objects:   8% (67/834)[Kremote: Compressing objects:   9% (76/834)[Kremote: Compressing objects:  10% (84/834)[Kremote: Compressing objects:  11% (92/834)[Kremote: Compressing objects:  12% (101/834)[Kremote: Compressing objects:  13% (109/834)[Kremote: Compressing objects:  14% (117/834)[Kremote: Compressing objects:  15% (126/834)[Kremote: Compressing objects:  16% (134/834)[Kremote: Compressing objects:  17% (142/834)[Kremote: Compressing objects:  18% (151/834)[Kremote: Compressing objects:  19% (159/834)[Kremote: Compressing objects:  20% (167/834)[Kremote: Compressing objects:  21% (176/834)[Kremote: Compressing objects:  22% (184/834)[Kremote: Compressing objects:  23% (192/834)[Kremote: Compressing objects:  24% (201/834)[Kremote: Compressing objects:  25% (209/834)[Kremote: Compressing objects:  26% (217/834)[Kremote: Compressing objects:  27% (226/834)[Kremote: Compressing objects:  28% (234/834)[Kremote: Compressing objects:  29% (242/834)[Kremote: Compressing objects:  30% (251/834)[Kremote: Compressing objects:  31% (259/834)[Kremote: Compressing objects:  32% (267/834)[Kremote: Compressing objects:  33% (276/834)[Kremote: Compressing objects:  34% (284/834)[Kremote: Compressing objects:  35% (292/834)[Kremote: Compressing objects:  36% (301/834)[Kremote: Compressing objects:  37% (309/834)[Kremote: Compressing objects:  38% (317/834)[Kremote: Compressing objects:  39% (326/834)[Kremote: Compressing objects:  40% (334/834)[Kremote: Compressing objects:  41% (342/834)[Kremote: Compressing objects:  42% (351/834)[Kremote: Compressing objects:  43% (359/834)[Kremote: Compressing objects:  44% (367/834)[Kremote: Compressing objects:  45% (376/834)[Kremote: Compressing objects:  46% (384/834)[Kremote: Compressing objects:  47% (392/834)[Kremote: Compressing objects:  48% (401/834)[Kremote: Compressing objects:  49% (409/834)[Kremote: Compressing objects:  50% (417/834)[Kremote: Compressing objects:  51% (426/834)[Kremote: Compressing objects:  52% (434/834)[Kremote: Compressing objects:  53% (443/834)[Kremote: Compressing objects:  54% (451/834)[Kremote: Compressing objects:  55% (459/834)[Kremote: Compressing objects:  56% (468/834)[Kremote: Compressing objects:  57% (476/834)[Kremote: Compressing objects:  58% (484/834)[Kremote: Compressing objects:  59% (493/834)[Kremote: Compressing objects:  60% (501/834)[Kremote: Compressing objects:  61% (509/834)[Kremote: Compressing objects:  62% (518/834)[Kremote: Compressing objects:  63% (526/834)[Kremote: Compressing objects:  64% (534/834)[Kremote: Compressing objects:  65% (543/834)[Kremote: Compressing objects:  66% (551/834)[Kremote: Compressing objects:  67% (559/834)[Kremote: Compressing objects:  68% (568/834)[Kremote: Compressing objects:  69% (576/834)[Kremote: Compressing objects:  70% (584/834)[Kremote: Compressing objects:  71% (593/834)[Kremote: Compressing objects:  72% (601/834)[Kremote: Compressing objects:  73% (609/834)[Kremote: Compressing objects:  74% (618/834)[Kremote: Compressing objects:  75% (626/834)[Kremote: Compressing objects:  76% (634/834)[Kremote: Compressing objects:  77% (643/834)[Kremote: Compressing objects:  78% (651/834)[Kremote: Compressing objects:  79% (659/834)[Kremote: Compressing objects:  80% (668/834)[Kremote: Compressing objects:  81% (676/834)[Kremote: Compressing objects:  82% (684/834)[Kremote: Compressing objects:  83% (693/834)[Kremote: Compressing objects:  84% (701/834)[Kremote: Compressing objects:  85% (709/834)[Kremote: Compressing objects:  86% (718/834)[Kremote: Compressing objects:  87% (726/834)[Kremote: Compressing objects:  88% (734/834)[Kremote: Compressing objects:  89% (743/834)[Kremote: Compressing objects:  90% (751/834)[Kremote: Compressing objects:  91% (759/834)[Kremote: Compressing objects:  92% (768/834)[Kremote: Compressing objects:  93% (776/834)[Kremote: Compressing objects:  94% (784/834)[Kremote: Compressing objects:  95% (793/834)[Kremote: Compressing objects:  96% (801/834)[Kremote: Compressing objects:  97% (809/834)[Kremote: Compressing objects:  98% (818/834)[Kremote: Compressing objects:  99% (826/834)[Kremote: Compressing objects: 100% (834/834)[Kremote: Compressing objects: 100% (834/834), done.[K
Receiving objects:   0% (1/173488)Receiving objects:   0% (366/173488), 600.00 KiB | 543.00 KiB/sReceiving objects:   0% (366/173488), 1.46 MiB | 709.00 KiB/s  Receiving objects:   0% (366/173488), 1.99 MiB | 514.00 KiB/sReceiving objects:   0% (367/173488), 1.99 MiB | 514.00 KiB/sReceiving objects:   1% (1735/173488), 2.53 MiB | 581.00 KiB/sReceiving objects:   1% (2988/173488), 3.12 MiB | 645.00 KiB/sReceiving objects:   2% (3470/173488), 3.12 MiB | 645.00 KiB/sReceiving objects:   3% (5205/173488), 4.00 MiB | 751.00 KiB/sReceiving objects:   4% (6940/173488), 4.00 MiB | 751.00 KiB/sReceiving objects:   4% (7919/173488), 4.69 MiB | 806.00 KiB/sReceiving objects:   5% (8675/173488), 4.69 MiB | 806.00 KiB/sReceiving objects:   5% (8706/173488), 4.88 MiB | 685.00 KiB/sReceiving objects:   6% (10410/173488), 4.88 MiB | 685.00 KiB/sReceiving objects:   6% (10845/173488), 5.22 MiB | 688.00 KiB/sReceiving objects:   7% (12145/173488), 5.22 MiB | 688.00 KiB/sReceiving objects:   8% (13880/173488), 5.22 MiB | 688.00 KiB/sReceiving objects:   8% (15407/173488), 6.71 MiB | 780.00 KiB/sReceiving objects:   9% (15614/173488), 6.71 MiB | 780.00 KiB/sReceiving objects:  10% (17349/173488), 7.57 MiB | 1.01 MiB/s  Receiving objects:  10% (18073/173488), 7.57 MiB | 1.01 MiB/sReceiving objects:  10% (18562/173488), 9.99 MiB | 1.03 MiB/sReceiving objects:  11% (19084/173488), 9.99 MiB | 1.03 MiB/sReceiving objects:  11% (19354/173488), 11.92 MiB | 1.25 MiB/sReceiving objects:  11% (19631/173488), 14.98 MiB | 1.86 MiB/sReceiving objects:  11% (19823/173488), 17.32 MiB | 2.19 MiB/sReceiving objects:  11% (19955/173488), 20.00 MiB | 2.21 MiB/sReceiving objects:  11% (20300/173488), 21.51 MiB | 2.25 MiB/sReceiving objects:  11% (20503/173488), 25.00 MiB | 2.34 MiB/sReceiving objects:  11% (20618/173488), 26.40 MiB | 2.27 MiB/sReceiving objects:  12% (20819/173488), 28.21 MiB | 2.59 MiB/sReceiving objects:  12% (20949/173488), 29.53 MiB | 2.39 MiB/sReceiving objects:  12% (21051/173488), 30.00 MiB | 1.94 MiB/sReceiving objects:  12% (21807/173488), 35.00 MiB | 2.00 MiB/sReceiving objects:  12% (21979/173488), 36.59 MiB | 2.03 MiB/sReceiving objects:  12% (22112/173488), 38.41 MiB | 1.78 MiB/sReceiving objects:  12% (22112/173488), 39.97 MiB | 1.47 MiB/sReceiving objects:  12% (22113/173488), 39.97 MiB | 1.47 MiB/sReceiving objects:  12% (22462/173488), 41.94 MiB | 1.50 MiB/sReceiving objects:  13% (22554/173488), 43.10 MiB | 1.41 MiB/sReceiving objects:  13% (22626/173488), 44.01 MiB | 1.52 MiB/sReceiving objects:  13% (22689/173488), 45.01 MiB | 1.22 MiB/sReceiving objects:  13% (22691/173488), 45.01 MiB | 1.22 MiB/sReceiving objects:  13% (22862/173488), 46.79 MiB | 497.00 KiB/sReceiving objects:  13% (22961/173488), 47.47 MiB | 471.00 KiB/sReceiving objects:  13% (22967/173488), 50.03 MiB | 478.00 KiB/sReceiving objects:  13% (23074/173488), 50.64 MiB | 446.00 KiB/sReceiving objects:  13% (23159/173488), 52.29 MiB | 444.00 KiB/sReceiving objects:  13% (23184/173488), 53.74 MiB | 1.16 MiB/s  Receiving objects:  13% (23184/173488), 55.02 MiB | 1.06 MiB/sReceiving objects:  13% (23184/173488), 55.02 MiB | 951.00 KiB/sReceiving objects:  13% (23184/173488), 55.48 MiB | 920.00 KiB/sReceiving objects:  13% (23186/173488), 56.62 MiB | 923.00 KiB/sReceiving objects:  13% (23189/173488), 59.36 MiB | 1.16 MiB/s  Receiving objects:  13% (23194/173488), 61.16 MiB | 1.26 MiB/sReceiving objects:  13% (23198/173488), 62.86 MiB | 1.33 MiB/sReceiving objects:  13% (23202/173488), 65.04 MiB | 1.77 MiB/sReceiving objects:  13% (23202/173488), 68.19 MiB | 2.14 MiB/sReceiving objects:  13% (23203/173488), 70.04 MiB | 2.06 MiB/sReceiving objects:  13% (23203/173488), 75.04 MiB | 2.66 MiB/sReceiving objects:  13% (23203/173488), 80.00 MiB | 2.92 MiB/sReceiving objects:  13% (23204/173488), 83.80 MiB | 3.42 MiB/sReceiving objects:  13% (23204/173488), 85.05 MiB | 3.29 MiB/sReceiving objects:  13% (23204/173488), 90.07 MiB | 3.34 MiB/sReceiving objects:  13% (23323/173488), 90.07 MiB | 3.34 MiB/sReceiving objects:  13% (23356/173488), 93.18 MiB | 3.17 MiB/sReceiving objects:  13% (23464/173488), 95.05 MiB | 2.74 MiB/sReceiving objects:  14% (24289/173488), 95.05 MiB | 2.74 MiB/sReceiving objects:  15% (26024/173488), 96.80 MiB | 2.94 MiB/sReceiving objects:  16% (27759/173488), 96.80 MiB | 2.94 MiB/sReceiving objects:  16% (29120/173488), 96.80 MiB | 2.94 MiB/sReceiving objects:  17% (29493/173488), 96.80 MiB | 2.94 MiB/sReceiving objects:  18% (31228/173488), 98.82 MiB | 2.63 MiB/sReceiving objects:  18% (31830/173488), 100.07 MiB | 2.59 MiB/sReceiving objects:  19% (32963/173488), 101.43 MiB | 2.25 MiB/sReceiving objects:  20% (34698/173488), 101.43 MiB | 2.25 MiB/sReceiving objects:  21% (36433/173488), 103.72 MiB | 2.55 MiB/sReceiving objects:  21% (36471/173488), 103.72 MiB | 2.55 MiB/sReceiving objects:  22% (38168/173488), 103.72 MiB | 2.55 MiB/sReceiving objects:  23% (39903/173488), 103.72 MiB | 2.55 MiB/sReceiving objects:  23% (39945/173488), 105.07 MiB | 2.18 MiB/sReceiving objects:  24% (41638/173488), 105.07 MiB | 2.18 MiB/sReceiving objects:  25% (43372/173488), 106.46 MiB | 2.21 MiB/sReceiving objects:  26% (45107/173488), 106.46 MiB | 2.21 MiB/sReceiving objects:  26% (45605/173488), 106.46 MiB | 2.21 MiB/sReceiving objects:  27% (46842/173488), 108.56 MiB | 2.38 MiB/sReceiving objects:  28% (48577/173488), 108.56 MiB | 2.38 MiB/sReceiving objects:  28% (49621/173488), 110.08 MiB | 2.46 MiB/sReceiving objects:  29% (50312/173488), 110.08 MiB | 2.46 MiB/sReceiving objects:  30% (52047/173488), 110.08 MiB | 2.46 MiB/sReceiving objects:  31% (53782/173488), 111.71 MiB | 2.44 MiB/sReceiving objects:  31% (54161/173488), 111.71 MiB | 2.44 MiB/sReceiving objects:  31% (54935/173488), 113.56 MiB | 867.00 KiB/sReceiving objects:  31% (54946/173488), 113.56 MiB | 639.00 KiB/sReceiving objects:  31% (55381/173488), 113.56 MiB | 639.00 KiB/sReceiving objects:  32% (55517/173488), 113.56 MiB | 639.00 KiB/sReceiving objects:  32% (56263/173488), 115.07 MiB | 582.00 KiB/sReceiving objects:  33% (57252/173488), 115.07 MiB | 582.00 KiB/sReceiving objects:  34% (58986/173488), 115.07 MiB | 582.00 KiB/sReceiving objects:  35% (60721/173488), 116.72 MiB | 618.00 KiB/sReceiving objects:  36% (62456/173488), 116.72 MiB | 618.00 KiB/sReceiving objects:  36% (63186/173488), 119.02 MiB | 666.00 KiB/sReceiving objects:  37% (64191/173488), 119.02 MiB | 666.00 KiB/sReceiving objects:  37% (64754/173488), 120.08 MiB | 459.00 KiB/sReceiving objects:  38% (65926/173488), 120.08 MiB | 459.00 KiB/sReceiving objects:  39% (67661/173488), 120.08 MiB | 459.00 KiB/sReceiving objects:  40% (69396/173488), 120.08 MiB | 459.00 KiB/sReceiving objects:  40% (69422/173488), 122.55 MiB | 498.00 KiB/sReceiving objects:  41% (71131/173488), 124.56 MiB | 512.00 KiB/sReceiving objects:  41% (72588/173488), 125.09 MiB | 952.00 KiB/sReceiving objects:  42% (72865/173488), 125.09 MiB | 952.00 KiB/sReceiving objects:  43% (74600/173488), 126.52 MiB | 1.46 MiB/s  Receiving objects:  43% (74790/173488), 126.52 MiB | 1.46 MiB/sReceiving objects:  44% (76335/173488), 128.00 MiB | 1.54 MiB/sReceiving objects:  44% (77979/173488), 130.10 MiB | 1.27 MiB/sReceiving objects:  45% (78070/173488), 130.10 MiB | 1.27 MiB/sReceiving objects:  45% (79136/173488), 130.10 MiB | 1.27 MiB/sReceiving objects:  46% (79805/173488), 130.10 MiB | 1.27 MiB/sReceiving objects:  47% (81540/173488), 131.35 MiB | 1.36 MiB/sReceiving objects:  48% (83275/173488), 131.35 MiB | 1.36 MiB/sReceiving objects:  49% (85010/173488), 131.35 MiB | 1.36 MiB/sReceiving objects:  50% (86744/173488), 131.35 MiB | 1.36 MiB/sReceiving objects:  51% (88479/173488), 131.35 MiB | 1.36 MiB/sReceiving objects:  52% (90214/173488), 133.28 MiB | 2.56 MiB/sReceiving objects:  52% (91869/173488), 133.28 MiB | 2.56 MiB/sReceiving objects:  53% (91949/173488), 133.28 MiB | 2.56 MiB/sReceiving objects:  54% (93684/173488), 135.10 MiB | 2.20 MiB/sReceiving objects:  54% (94464/173488), 135.10 MiB | 2.20 MiB/sReceiving objects:  55% (95419/173488), 135.75 MiB | 1.96 MiB/sReceiving objects:  56% (97154/173488), 135.75 MiB | 1.96 MiB/sReceiving objects:  57% (98889/173488), 137.49 MiB | 2.31 MiB/sReceiving objects:  58% (100624/173488), 137.49 MiB | 2.31 MiB/sReceiving objects:  58% (101625/173488), 137.49 MiB | 2.31 MiB/sReceiving objects:  59% (102358/173488), 137.49 MiB | 2.31 MiB/sReceiving objects:  60% (104093/173488), 137.49 MiB | 2.31 MiB/sReceiving objects:  60% (105584/173488), 140.11 MiB | 2.14 MiB/sReceiving objects:  61% (105828/173488), 140.11 MiB | 2.14 MiB/sReceiving objects:  62% (107563/173488), 140.11 MiB | 2.14 MiB/sReceiving objects:  63% (109298/173488), 140.11 MiB | 2.14 MiB/sReceiving objects:  64% (111033/173488), 142.47 MiB | 2.29 MiB/sReceiving objects:  65% (112768/173488), 142.47 MiB | 2.29 MiB/sReceiving objects:  65% (114206/173488), 144.21 MiB | 2.64 MiB/sReceiving objects:  66% (114503/173488), 144.21 MiB | 2.64 MiB/sReceiving objects:  67% (116237/173488), 144.21 MiB | 2.64 MiB/sReceiving objects:  68% (117972/173488), 145.11 MiB | 2.37 MiB/sReceiving objects:  68% (118025/173488), 145.11 MiB | 2.37 MiB/sReceiving objects:  69% (119707/173488), 145.11 MiB | 2.37 MiB/sReceiving objects:  70% (121442/173488), 145.11 MiB | 2.37 MiB/sReceiving objects:  71% (123177/173488), 145.11 MiB | 2.37 MiB/sReceiving objects:  72% (124912/173488), 147.04 MiB | 2.37 MiB/sReceiving objects:  73% (126647/173488), 147.04 MiB | 2.37 MiB/sReceiving objects:  74% (128382/173488), 147.04 MiB | 2.37 MiB/sReceiving objects:  75% (130116/173488), 147.04 MiB | 2.37 MiB/sReceiving objects:  75% (130962/173488), 150.12 MiB | 2.50 MiB/sReceiving objects:  75% (130963/173488), 150.12 MiB | 2.50 MiB/sReceiving objects:  76% (131851/173488), 150.12 MiB | 2.50 MiB/sReceiving objects:  77% (133586/173488), 151.14 MiB | 2.37 MiB/sReceiving objects:  78% (135321/173488), 151.14 MiB | 2.37 MiB/sReceiving objects:  78% (136879/173488), 152.62 MiB | 2.25 MiB/sReceiving objects:  79% (137056/173488), 152.62 MiB | 2.25 MiB/sReceiving objects:  80% (138791/173488), 152.62 MiB | 2.25 MiB/sReceiving objects:  80% (139277/173488), 155.12 MiB | 2.22 MiB/sReceiving objects:  80% (140334/173488), 157.31 MiB | 2.29 MiB/sReceiving objects:  81% (140526/173488), 157.31 MiB | 2.29 MiB/sReceiving objects:  81% (142065/173488), 160.14 MiB | 2.02 MiB/sReceiving objects:  82% (142261/173488), 160.14 MiB | 2.02 MiB/sReceiving objects:  82% (142656/173488), 160.14 MiB | 2.02 MiB/sReceiving objects:  83% (143996/173488), 160.95 MiB | 2.08 MiB/sReceiving objects:  83% (144941/173488), 161.95 MiB | 2.08 MiB/sReceiving objects:  84% (145730/173488), 163.00 MiB | 1.99 MiB/sReceiving objects:  85% (147465/173488), 164.47 MiB | 1.89 MiB/sReceiving objects:  85% (148917/173488), 165.13 MiB | 1.81 MiB/sReceiving objects:  86% (149200/173488), 165.13 MiB | 1.81 MiB/sReceiving objects:  87% (150935/173488), 165.13 MiB | 1.81 MiB/sReceiving objects:  87% (151405/173488), 165.13 MiB | 1.81 MiB/sReceiving objects:  88% (152670/173488), 168.12 MiB | 1.62 MiB/sReceiving objects:  88% (154216/173488), 168.12 MiB | 1.62 MiB/sReceiving objects:  89% (154405/173488), 168.12 MiB | 1.62 MiB/sReceiving objects:  90% (156140/173488), 168.12 MiB | 1.62 MiB/sReceiving objects:  91% (157875/173488), 168.12 MiB | 1.62 MiB/sReceiving objects:  91% (158622/173488), 170.14 MiB | 1.83 MiB/sReceiving objects:  92% (159609/173488), 171.51 MiB | 1.93 MiB/sReceiving objects:  92% (160395/173488), 171.51 MiB | 1.93 MiB/sReceiving objects:  93% (161344/173488), 172.55 MiB | 1.94 MiB/sReceiving objects:  94% (163079/173488), 172.55 MiB | 1.94 MiB/sReceiving objects:  95% (164814/173488), 173.75 MiB | 1.97 MiB/sReceiving objects:  96% (166549/173488), 173.75 MiB | 1.97 MiB/sReceiving objects:  96% (168111/173488), 173.75 MiB | 1.97 MiB/sReceiving objects:  96% (168279/173488), 175.14 MiB | 1.84 MiB/sReceiving objects:  97% (168284/173488), 175.14 MiB | 1.84 MiB/sReceiving objects:  97% (169960/173488), 177.36 MiB | 1.98 MiB/sReceiving objects:  98% (170019/173488), 177.36 MiB | 1.98 MiB/sReceiving objects:  98% (170457/173488), 180.15 MiB | 1.82 MiB/sReceiving objects:  99% (171754/173488), 180.15 MiB | 1.82 MiB/sReceiving objects:  99% (172957/173488), 182.98 MiB | 887.00 KiB/sReceiving objects:  99% (172971/173488), 183.16 MiB | 715.00 KiB/sremote: Total 173488 (delta 9282), reused 9229 (delta 8954), pack-reused 163659[K
Receiving objects: 100% (173488/173488), 183.16 MiB | 715.00 KiB/sReceiving objects: 100% (173488/173488), 183.89 MiB | 1.38 MiB/s, done.
Resolving deltas:   0% (0/109192)Resolving deltas:   1% (1092/109192)Resolving deltas:   2% (2184/109192)Resolving deltas:   2% (2357/109192)Resolving deltas:   3% (3276/109192)Resolving deltas:   4% (4368/109192)Resolving deltas:   5% (5460/109192)Resolving deltas:   6% (6552/109192)Resolving deltas:   7% (7644/109192)Resolving deltas:   7% (7974/109192)Resolving deltas:   8% (8736/109192)Resolving deltas:   9% (9828/109192)Resolving deltas:   9% (10807/109192)Resolving deltas:   9% (10823/109192)Resolving deltas:   9% (10844/109192)Resolving deltas:  10% (10920/109192)Resolving deltas:  10% (10999/109192)Resolving deltas:  10% (11072/109192)Resolving deltas:  10% (11144/109192)Resolving deltas:  10% (11208/109192)Resolving deltas:  10% (11278/109192)Resolving deltas:  10% (11343/109192)Resolving deltas:  10% (11412/109192)Resolving deltas:  10% (11489/109192)Resolving deltas:  10% (11563/109192)Resolving deltas:  10% (11668/109192)Resolving deltas:  10% (11809/109192)Resolving deltas:  10% (11919/109192)Resolving deltas:  10% (12002/109192)Resolving deltas:  11% (12012/109192)Resolving deltas:  11% (12069/109192)Resolving deltas:  11% (12140/109192)Resolving deltas:  11% (12406/109192)Resolving deltas:  12% (13104/109192)Resolving deltas:  13% (14195/109192)Resolving deltas:  13% (14582/109192)Resolving deltas:  14% (15287/109192)Resolving deltas:  15% (16379/109192)Resolving deltas:  16% (17471/109192)Resolving deltas:  17% (18563/109192)Resolving deltas:  18% (19655/109192)Resolving deltas:  18% (20517/109192)Resolving deltas:  19% (20747/109192)Resolving deltas:  19% (21310/109192)Resolving deltas:  20% (21839/109192)Resolving deltas:  21% (22931/109192)Resolving deltas:  22% (24023/109192)Resolving deltas:  23% (25115/109192)Resolving deltas:  24% (26207/109192)Resolving deltas:  25% (27298/109192)Resolving deltas:  26% (28390/109192)Resolving deltas:  26% (28757/109192)Resolving deltas:  27% (29482/109192)Resolving deltas:  28% (30574/109192)Resolving deltas:  29% (31666/109192)Resolving deltas:  30% (32758/109192)Resolving deltas:  30% (33358/109192)Resolving deltas:  31% (33850/109192)Resolving deltas:  32% (34942/109192)Resolving deltas:  33% (36034/109192)Resolving deltas:  34% (37126/109192)Resolving deltas:  35% (38218/109192)Resolving deltas:  35% (38442/109192)Resolving deltas:  36% (39310/109192)Resolving deltas:  37% (40402/109192)Resolving deltas:  38% (41493/109192)Resolving deltas:  39% (42585/109192)Resolving deltas:  40% (43677/109192)Resolving deltas:  40% (44147/109192)Resolving deltas:  41% (44769/109192)Resolving deltas:  42% (45861/109192)Resolving deltas:  43% (46953/109192)Resolving deltas:  44% (48045/109192)Resolving deltas:  45% (49137/109192)Resolving deltas:  45% (49965/109192)Resolving deltas:  46% (50229/109192)Resolving deltas:  47% (51321/109192)Resolving deltas:  48% (52413/109192)Resolving deltas:  49% (53505/109192)Resolving deltas:  50% (54596/109192)Resolving deltas:  50% (54759/109192)Resolving deltas:  51% (55688/109192)Resolving deltas:  52% (56780/109192)Resolving deltas:  53% (57872/109192)Resolving deltas:  54% (58964/109192)Resolving deltas:  55% (60056/109192)Resolving deltas:  56% (61148/109192)Resolving deltas:  57% (62240/109192)Resolving deltas:  57% (62422/109192)Resolving deltas:  58% (63332/109192)Resolving deltas:  59% (64424/109192)Resolving deltas:  60% (65516/109192)Resolving deltas:  60% (65675/109192)Resolving deltas:  61% (66608/109192)Resolving deltas:  62% (67700/109192)Resolving deltas:  63% (68791/109192)Resolving deltas:  64% (69883/109192)Resolving deltas:  65% (70975/109192)Resolving deltas:  66% (72067/109192)Resolving deltas:  66% (72440/109192)Resolving deltas:  67% (73159/109192)Resolving deltas:  68% (74251/109192)Resolving deltas:  69% (75343/109192)Resolving deltas:  70% (76435/109192)Resolving deltas:  71% (77527/109192)Resolving deltas:  72% (78619/109192)Resolving deltas:  73% (79711/109192)Resolving deltas:  73% (80788/109192)Resolving deltas:  74% (80803/109192)Resolving deltas:  75% (81894/109192)Resolving deltas:  76% (82986/109192)Resolving deltas:  77% (84078/109192)Resolving deltas:  78% (85170/109192)Resolving deltas:  79% (86262/109192)Resolving deltas:  80% (87354/109192)Resolving deltas:  81% (88446/109192)Resolving deltas:  82% (89538/109192)Resolving deltas:  83% (90630/109192)Resolving deltas:  83% (90631/109192)Resolving deltas:  84% (91722/109192)Resolving deltas:  85% (92814/109192)Resolving deltas:  86% (93906/109192)Resolving deltas:  87% (94998/109192)Resolving deltas:  88% (96089/109192)Resolving deltas:  89% (97181/109192)Resolving deltas:  89% (98243/109192)Resolving deltas:  90% (98273/109192)Resolving deltas:  91% (99365/109192)Resolving deltas:  92% (100457/109192)Resolving deltas:  93% (101549/109192)Resolving deltas:  94% (102641/109192)Resolving deltas:  95% (103733/109192)Resolving deltas:  95% (104139/109192)Resolving deltas:  95% (104211/109192)Resolving deltas:  96% (104825/109192)Resolving deltas:  96% (105841/109192)Resolving deltas:  97% (105917/109192)Resolving deltas:  97% (105947/109192)Resolving deltas:  97% (106069/109192)Resolving deltas:  97% (106143/109192)Resolving deltas:  97% (106248/109192)Resolving deltas:  97% (106364/109192)Resolving deltas:  97% (106532/109192)Resolving deltas:  97% (106694/109192)Resolving deltas:  97% (106820/109192)Resolving deltas:  98% (107009/109192)Resolving deltas:  99% (108101/109192)Resolving deltas: 100% (109192/109192)Resolving deltas: 100% (109192/109192), done.
[1m[32m==>[m[1m Validating source files with b2sums...[m
    npm-cli ... Skipped
[1m[32m==>[m[1m Making package: npm 10.2.0-1 (Wed Oct  4 21:01:22 2023)[m
[1m[32m==>[m[1m Checking runtime dependencies...[m
[1m[32m==>[m[1m Installing missing dependencies...[m
[?25lresolving dependencies...
looking for conflicting packages...

Package (8)        New Version  Net Change  Download Size

extra/c-ares       1.19.1-1       0.45 MiB               
core/libnsl        2.0.0-3        0.06 MiB               
extra/libuv        1.46.0-1       0.55 MiB               
core/python        3.11.5-2     107.30 MiB               
extra/node-gyp     9.4.0-1        7.48 MiB               
extra/nodejs       20.8.0-1      55.81 MiB      14.50 MiB
extra/nodejs-nopt  7.2.0-1        0.03 MiB               
extra/semver       7.5.1-1        0.12 MiB               

Total Download Size:    14.50 MiB
Total Installed Size:  171.80 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 nodejs-20.8.0-1-riscv64 downloading...
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing libnsl...
installing libuv...
installing c-ares...
installing nodejs...
Optional dependencies for nodejs
    npm: nodejs package manager
installing nodejs-nopt...
installing python...
Optional dependencies for python
    python-setuptools: for building Python packages using tooling that is usually bundled with Python
    python-pip: for installing Python packages using tooling that is usually bundled with Python
    python-pipx: for installing Python software not packaged on Arch Linux
    sqlite: for a default database integration [installed]
    mpdecimal: for decimal
    xz: for lzma [installed]
    tk: for tkinter
installing semver...
installing node-gyp...
[?25h[1m[32m==>[m[1m Checking buildtime dependencies...[m
[1m[32m==>[m[1m Installing missing dependencies...[m
[?25lresolving dependencies...
looking for conflicting packages...

Package (4)           New Version  Net Change

extra/perl-error      0.17029-5      0.04 MiB
extra/perl-mailtools  2.21-7         0.10 MiB
extra/perl-timedate   2.33-5         0.08 MiB
extra/git             2.42.0-1      24.79 MiB

Total Installed Size:  25.01 MiB

:: Proceed with installation? [Y/n] 
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing perl-error...
installing perl-timedate...
installing perl-mailtools...
installing git...
Optional dependencies for git
    tk: gitk and git gui
    openssh: ssh transport and crypto
    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-mediawiki-api: git mediawiki support
    perl-datetime-format-iso8601: git mediawiki support
    perl-lwp-protocol-https: git mediawiki https 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]
:: Running post-transaction hooks...
(1/1) Warn about old perl modules
[?25h[1m[32m==>[m[1m Retrieving sources...[m
[1m[33m==> WARNING:[m[1m Skipping all source file integrity checks.[m
[1m[32m==>[m[1m Extracting sources...[m
[1m[34m  ->[m[1m Creating working copy of npm-cli git repo...[m
Cloning into 'npm-cli'...
done.
Updating files:  24% (1758/7242)Updating files:  25% (1811/7242)Updating files:  26% (1883/7242)Updating files:  27% (1956/7242)Updating files:  28% (2028/7242)Updating files:  29% (2101/7242)Updating files:  30% (2173/7242)Updating files:  31% (2246/7242)Updating files:  32% (2318/7242)Updating files:  33% (2390/7242)Updating files:  34% (2463/7242)Updating files:  35% (2535/7242)Updating files:  35% (2560/7242)Updating files:  36% (2608/7242)Updating files:  37% (2680/7242)Updating files:  38% (2752/7242)Updating files:  39% (2825/7242)Updating files:  40% (2897/7242)Updating files:  41% (2970/7242)Updating files:  42% (3042/7242)Updating files:  43% (3115/7242)Updating files:  44% (3187/7242)Updating files:  45% (3259/7242)Updating files:  45% (3268/7242)Updating files:  46% (3332/7242)Updating files:  47% (3404/7242)Updating files:  48% (3477/7242)Updating files:  49% (3549/7242)Updating files:  50% (3621/7242)Updating files:  51% (3694/7242)Updating files:  52% (3766/7242)Updating files:  53% (3839/7242)Updating files:  53% (3852/7242)Updating files:  54% (3911/7242)Updating files:  55% (3984/7242)Updating files:  56% (4056/7242)Updating files:  57% (4128/7242)Updating files:  58% (4201/7242)Updating files:  59% (4273/7242)Updating files:  60% (4346/7242)Updating files:  61% (4418/7242)Updating files:  62% (4491/7242)Updating files:  63% (4563/7242)Updating files:  64% (4635/7242)Updating files:  65% (4708/7242)Updating files:  65% (4768/7242)Updating files:  66% (4780/7242)Updating files:  67% (4853/7242)Updating files:  68% (4925/7242)Updating files:  69% (4997/7242)Updating files:  70% (5070/7242)Updating files:  71% (5142/7242)Updating files:  72% (5215/7242)Updating files:  73% (5287/7242)Updating files:  74% (5360/7242)Updating files:  75% (5432/7242)Updating files:  76% (5504/7242)Updating files:  77% (5577/7242)Updating files:  78% (5649/7242)Updating files:  79% (5722/7242)Updating files:  80% (5794/7242)Updating files:  80% (5807/7242)Updating files:  80% (5811/7242)Updating files:  80% (5823/7242)Updating files:  81% (5867/7242)Updating files:  82% (5939/7242)Updating files:  82% (5963/7242)Updating files:  83% (6011/7242)Updating files:  84% (6084/7242)Updating files:  85% (6156/7242)Updating files:  86% (6229/7242)Updating files:  87% (6301/7242)Updating files:  88% (6373/7242)Updating files:  89% (6446/7242)Updating files:  90% (6518/7242)Updating files:  91% (6591/7242)Updating files:  92% (6663/7242)Updating files:  92% (6719/7242)Updating files:  93% (6736/7242)Updating files:  94% (6808/7242)Updating files:  95% (6880/7242)Updating files:  96% (6953/7242)Updating files:  97% (7025/7242)Updating files:  98% (7098/7242)Updating files:  99% (7170/7242)Updating files: 100% (7242/7242)Updating files: 100% (7242/7242), done.
Switched to a new branch 'makepkg'
[1m[32m==>[m[1m Starting build()...[m
INFO spawn git checkout node_modules/
Updated 1745 paths from the index
INFO spawn node . i --ignore-scripts --no-audit --no-fund

added 939 packages, and changed 17 packages in 5m
INFO spawn node . rebuild --ignore-scripts
rebuilt dependencies successfully
INFO spawn node . run dependencies --ignore-scripts

> npm@10.2.0 dependencies
> node scripts/bundle-and-gitignore-deps.js && node scripts/dependency-graph.js

INFO spawn git ls-files --cached --ignored --exclude-standard /build/npm/src/npm-cli/node_modules
INFO spawn git ls-files --cached --ignored --exclude-standard /build/npm/src/npm-cli/node_modules
Wrote to node_modules/.gitignore
Wrote to DEPENDENCIES.md

> @npmcli/docs@1.0.0 build
> node bin/build.js

Wrote 251 files
[1m[32m==>[m[1m Starting check()...[m

> npm@10.2.0 test
> tap

TAP version 13
# Subtest: test/index.js
    ok 1 - index is main package require() export
    ok 2 - expected to throw
    # Subtest: loading as main module will load the cli
        ok 1 - should be equal
        ok 2 - should be equal
        ok 3 - should match pattern provided
        1..3
    ok 3 - loading as main module will load the cli # time=76630.275ms
    
    1..3
    # time=77742.006ms
ok 1 - test/index.js # time=77742.006ms

# Subtest: test/lib/docs.js
    # Subtest: command list
        ok 1 - aliases
        ok 2 - commands
        ok 3 - deref
        1..3
    ok 1 - command list # time=492.377ms
    
    # Subtest: shorthands
        ok 1 - docs
        1..1
    ok 2 - shorthands # time=38.88ms
    
    # Subtest: config
        ok 1 - all keys
        ok 2 - keys that are flattened
        ok 3 - keys that are not flattened
        ok 4 - all definitions
        1..4
    ok 3 - config # time=328.152ms
    
    # Subtest: flat options
        ok 1 - full flat options object
        1..1
    ok 4 - flat options # time=27025.218ms
    
    # Subtest: basic usage
        ok 1 - must match snapshot
        1..1
    ok 5 - basic usage # time=1383.87ms
    
    # Subtest: usage
        ok 1 - command list and fs are the same
        ok 2 - command list and docs files are the same
        # Subtest: access
            ok 1 - must match snapshot
            1..1
        ok 3 - access # time=5923.21ms
        
        # Subtest: adduser
            ok 1 - must match snapshot
            1..1
        ok 4 - adduser # time=5212.199ms
        
        # Subtest: audit
            ok 1 - must match snapshot
            1..1
        ok 5 - audit # time=7037.223ms
        
        # Subtest: bugs
            ok 1 - must match snapshot
            1..1
        ok 6 - bugs # time=3322.132ms
        
        # Subtest: cache
            ok 1 - must match snapshot
            1..1
        ok 7 - cache # time=2989.751ms
        
        # Subtest: ci
            ok 1 - must match snapshot
            1..1
        ok 8 - ci # time=2922.729ms
        
        # Subtest: completion
            ok 1 - must match snapshot
            1..1
        ok 9 - completion # time=3725.134ms
        
        # Subtest: config
            ok 1 - must match snapshot
            1..1
        ok 10 - config # time=4427.795ms
        
        # Subtest: dedupe
            ok 1 - must match snapshot
            1..1
        ok 11 - dedupe # time=2420.972ms
        
        # Subtest: deprecate
            ok 1 - must match snapshot
            1..1
        ok 12 - deprecate # time=2360.926ms
        
        # Subtest: diff
            ok 1 - must match snapshot
            1..1
        ok 13 - diff # time=4035.808ms
        
        # Subtest: dist-tag
            ok 1 - must match snapshot
            1..1
        ok 14 - dist-tag # time=3155.835ms
        
        # Subtest: docs
            ok 1 - must match snapshot
            1..1
        ok 15 - docs # time=1922.958ms
        
        # Subtest: doctor
            ok 1 - must match snapshot
            1..1
        ok 16 - doctor # time=4445.961ms
        
        # Subtest: edit
            ok 1 - must match snapshot
            1..1
        ok 17 - edit # time=6244.62ms
        
        # Subtest: exec
            ok 1 - must match snapshot
            1..1
        ok 18 - exec # time=3160.269ms
        
        # Subtest: explain
            ok 1 - must match snapshot
            1..1
        ok 19 - explain # time=4159.87ms
        
        # Subtest: explore
            ok 1 - must match snapshot
            1..1
        ok 20 - explore # time=3358.675ms
        
        # Subtest: find-dupes
            ok 1 - must match snapshot
            1..1
        ok 21 - find-dupes # time=2138.013ms
        
        # Subtest: fund
            ok 1 - must match snapshot
            1..1
        ok 22 - fund # time=4136.793ms
        
        # Subtest: help-search
            ok 1 - must match snapshot
            1..1
        ok 23 - help-search # time=4695.959ms
        
        # Subtest: help
            ok 1 - must match snapshot
            1..1
        ok 24 - help # time=2857.13ms
        
        # Subtest: hook
            ok 1 - must match snapshot
            1..1
        ok 25 - hook # time=3351.573ms
        
        # Subtest: init
            ok 1 - must match snapshot
            1..1
        ok 26 - init # time=3386.361ms
        
        # Subtest: install-ci-test
            ok 1 - must match snapshot
            1..1
        ok 27 - install-ci-test # time=2016.529ms
        
        # Subtest: install-test
            ok 1 - must match snapshot
            1..1
        ok 28 - install-test # time=3051.731ms
        
        # Subtest: install
            ok 1 - must match snapshot
            1..1
        ok 29 - install # time=2269.256ms
        
        # Subtest: link
            ok 1 - must match snapshot
            1..1
        ok 30 - link # time=2932.853ms
        
        # Subtest: login
            ok 1 - must match snapshot
            1..1
        ok 31 - login # time=1945.64ms
        
        # Subtest: logout
            ok 1 - must match snapshot
            1..1
        ok 32 - logout # time=2077.63ms
        
        # Subtest: ls
            ok 1 - must match snapshot
            1..1
        ok 33 - ls # time=2031.219ms
        
        # Subtest: org
            ok 1 - must match snapshot
            1..1
        ok 34 - org # time=2890.545ms
        
        # Subtest: outdated
            ok 1 - must match snapshot
            1..1
        ok 35 - outdated # time=4524.935ms
        
        # Subtest: owner
            ok 1 - must match snapshot
            1..1
        ok 36 - owner # time=3106.076ms
        
        # Subtest: pack
            ok 1 - must match snapshot
            1..1
        ok 37 - pack # time=3948.49ms
        
        # Subtest: ping
            ok 1 - must match snapshot
            1..1
        ok 38 - ping # time=2106.678ms
        
        # Subtest: pkg
            ok 1 - must match snapshot
            1..1
        ok 39 - pkg # time=5220.486ms
        
        # Subtest: prefix
            ok 1 - must match snapshot
            1..1
        ok 40 - prefix # time=2040.148ms
        
        # Subtest: profile
            ok 1 - must match snapshot
            1..1
        ok 41 - profile # time=5411.059ms
        
        # Subtest: prune
            ok 1 - must match snapshot
            1..1
        ok 42 - prune # time=2043.076ms
        
        # Subtest: publish
            ok 1 - must match snapshot
            1..1
        ok 43 - publish # time=3373.932ms
        
        # Subtest: query
            ok 1 - must match snapshot
            1..1
        ok 44 - query # time=2473.885ms
        
        # Subtest: rebuild
            ok 1 - must match snapshot
            1..1
        ok 45 - rebuild # time=2275.541ms
        
        # Subtest: repo
            ok 1 - must match snapshot
            1..1
        ok 46 - repo # time=2284.348ms
        
        # Subtest: restart
            ok 1 - must match snapshot
            1..1
        ok 47 - restart # time=2077.717ms
        
        # Subtest: root
            ok 1 - must match snapshot
            1..1
        ok 48 - root # time=1732.416ms
        
        # Subtest: run-script
            ok 1 - must match snapshot
            1..1
        ok 49 - run-script # time=4272.165ms
        
        # Subtest: sbom
            ok 1 - must match snapshot
            1..1
        ok 50 - sbom # time=4805.078ms
        
        # Subtest: search
            ok 1 - must match snapshot
            1..1
        ok 51 - search # time=3626.463ms
        
        # Subtest: shrinkwrap
            ok 1 - must match snapshot
            1..1
        ok 52 - shrinkwrap # time=2587.211ms
        
        # Subtest: star
            ok 1 - must match snapshot
            1..1
        ok 53 - star # time=2045.027ms
        
        # Subtest: stars
            ok 1 - must match snapshot
            1..1
        ok 54 - stars # time=1850.692ms
        
        # Subtest: start
            ok 1 - must match snapshot
            1..1
        ok 55 - start # time=2170.246ms
        
        # Subtest: stop
            ok 1 - must match snapshot
            1..1
        ok 56 - stop # time=1647.302ms
        
        # Subtest: team
            ok 1 - must match snapshot
            1..1
        ok 57 - team # time=3092.506ms
        
        # Subtest: test
            ok 1 - must match snapshot
            1..1
        ok 58 - test # time=2193.491ms
        
        # Subtest: token
            ok 1 - must match snapshot
            1..1
        ok 59 - token # time=4425.004ms
        
        # Subtest: uninstall
            ok 1 - must match snapshot
            1..1
        ok 60 - uninstall # time=4500.718ms
        
        # Subtest: unpublish
            ok 1 - must match snapshot
            1..1
        ok 61 - unpublish # time=4837.117ms
        
        # Subtest: unstar
            ok 1 - must match snapshot
            1..1
        ok 62 - unstar # time=1868.931ms
        
        # Subtest: update
            ok 1 - must match snapshot
            1..1
        ok 63 - update # time=2917.565ms
        
        # Subtest: version
            ok 1 - must match snapshot
            1..1
        ok 64 - version # time=2100.534ms
        
        # Subtest: view
            ok 1 - must match snapshot
            1..1
        ok 65 - view # time=7579.134ms
        
        # Subtest: whoami
            ok 1 - must match snapshot
            1..1
        ok 66 - whoami # time=3157.235ms
        
        # Subtest: npm
            ok 1 - must match snapshot
            1..1
        ok 67 - npm # time=20.865ms
        
        # Subtest: npx
            ok 1 - must match snapshot
            1..1
        ok 68 - npx # time=17.068ms
        
        # Subtest: get
            ok 1 - must match snapshot
            1..1
        ok 69 - get # time=1647.461ms
        
        # Subtest: set
            ok 1 - must match snapshot
            1..1
        ok 70 - set # time=1921.739ms
        
        # Subtest: ll
            ok 1 - must match snapshot
            1..1
        ok 71 - ll # time=2407.683ms
        
        1..71
    ok 6 - usage # time=225453.574ms
    
    1..6
    # time=255079.345ms
ok 2 - test/lib/docs.js # time=255079.345ms

# Subtest: test/lib/lifecycle-cmd.js
    # Subtest: create a lifecycle command
        ok 1 - should match pattern provided
        ok 2 - should be equivalent
        ok 3 - should be equivalent strictly
        ok 4 - should be equivalent
        ok 5 - should be equivalent strictly
        1..5
    ok 1 - create a lifecycle command # time=4284.466ms
    
    1..1
    # time=4821.606ms
ok 3 - test/lib/lifecycle-cmd.js # time=4821.606ms

# Subtest: test/lib/load-all-commands.js
    # Subtest: load each command
        # Subtest: access
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 1 - access # time=3736.287ms
        
        # Subtest: adduser
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 2 - adduser # time=2564.368ms
        
        # Subtest: audit
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 3 - audit # time=15908.723ms
        
        # Subtest: bugs
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 4 - bugs # time=2396.774ms
        
        # Subtest: cache
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 5 - cache # time=2043.682ms
        
        # Subtest: ci
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 6 - ci # time=2017.792ms
        
        # Subtest: completion
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - usage contains the command
            ok 14 - usage is what is output
            ok 15 - usage is what is output
            ok 16 - describe usage is only static
            1..16
        ok 7 - completion # time=2234.56ms
        
        # Subtest: config
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 8 - config # time=1846.326ms
        
        # Subtest: dedupe
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 9 - dedupe # time=1833.112ms
        
        # Subtest: deprecate
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 10 - deprecate # time=2038.246ms
        
        # Subtest: diff
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 11 - diff # time=3275.513ms
        
        # Subtest: dist-tag
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 12 - dist-tag # time=2311.568ms
        
        # Subtest: docs
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 13 - docs # time=1831.578ms
        
        # Subtest: doctor
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 14 - doctor # time=2001.234ms
        
        # Subtest: edit
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 15 - edit # time=1739.6ms
        
        # Subtest: exec
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 16 - exec # time=2038.902ms
        
        # Subtest: explain
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 17 - explain # time=1824.449ms
        
        # Subtest: explore
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 18 - explore # time=1863.501ms
        
        # Subtest: find-dupes
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 19 - find-dupes # time=1720.914ms
        
        # Subtest: fund
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 20 - fund # time=1938.837ms
        
        # Subtest: get
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 21 - get # time=17897.469ms
        
        # Subtest: help
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 22 - help # time=1921.298ms
        
        # Subtest: help-search
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 23 - help-search # time=1832.584ms
        
        # Subtest: hook
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 24 - hook # time=2069.904ms
        
        # Subtest: init
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 25 - init # time=2127.472ms
        
        # Subtest: install
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 26 - install # time=2074.63ms
        
        # Subtest: install-ci-test
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 27 - install-ci-test # time=2006.199ms
        
        # Subtest: install-test
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 28 - install-test # time=2199.965ms
        
        # Subtest: link
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 29 - link # time=2592.294ms
        
        # Subtest: ll
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 30 - ll # time=2388.103ms
        
        # Subtest: login
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 31 - login # time=2985.614ms
        
        # Subtest: logout
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 32 - logout # time=2208.898ms
        
        # Subtest: ls
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 33 - ls # time=2417.548ms
        
        # Subtest: org
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 34 - org # time=2227.449ms
        
        # Subtest: outdated
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 35 - outdated # time=1860.376ms
        
        # Subtest: owner
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 36 - owner # time=2185.893ms
        
        # Subtest: pack
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 37 - pack # time=2327.299ms
        
        # Subtest: ping
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 38 - ping # time=2140.979ms
        
        # Subtest: pkg
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 39 - pkg # time=2150.326ms
        
        # Subtest: prefix
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 40 - prefix # time=2536.036ms
        
        # Subtest: profile
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 41 - profile # time=3214.203ms
        
        # Subtest: prune
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 42 - prune # time=1993.581ms
        
        # Subtest: publish
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 43 - publish # time=2261.905ms
        
        # Subtest: query
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 44 - query # time=2314.356ms
        
        # Subtest: rebuild
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 45 - rebuild # time=1510.513ms
        
        # Subtest: repo
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 46 - repo # time=1687.1ms
        
        # Subtest: restart
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 47 - restart # time=1646.969ms
        
        # Subtest: root
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 48 - root # time=1660.322ms
        
        # Subtest: run-script
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 49 - run-script # time=2157.511ms
        
        # Subtest: sbom
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 50 - sbom # time=3007.626ms
        
        # Subtest: search
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 51 - search # time=1949.656ms
        
        # Subtest: set
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 52 - set # time=2003.359ms
        
        # Subtest: shrinkwrap
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - usage contains the command
            ok 13 - usage is what is output
            ok 14 - usage is what is output
            ok 15 - describe usage is only static
            1..15
        ok 53 - shrinkwrap # time=1752.131ms
        
        # Subtest: star
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 54 - star # time=1566.334ms
        
        # Subtest: stars
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 55 - stars # time=2080.842ms
        
        # Subtest: start
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 56 - start # time=1539.911ms
        
        # Subtest: stop
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 57 - stop # time=1840.793ms
        
        # Subtest: team
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 58 - team # time=1863.537ms
        
        # Subtest: test
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - execWorkspaces is async
            ok 7 - execWorkspaces fn has 0 or 1 args
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 59 - test # time=1849.97ms
        
        # Subtest: token
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - has no execWorkspaces fn
            ok 8 - implementation has a description
            ok 9 - description is same on instance and ctor
            ok 10 - implementation has a name
            ok 11 - name is same on instance and ctor
            ok 12 - command list and name are the same
            ok 13 - params is same on instance and ctor
            ok 14 - implementation has a params
            ok 15 - usage contains the command
            ok 16 - usage is what is output
            ok 17 - usage is what is output
            ok 18 - describe usage is only static
            1..18
        ok 60 - token # time=1970.021ms
        
        # Subtest: uninstall
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 61 - uninstall # time=1975.284ms
        
        # Subtest: unpublish
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 62 - unpublish # time=1722.377ms
        
        # Subtest: unstar
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 63 - unstar # time=1656.198ms
        
        # Subtest: update
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 64 - update # time=2022.132ms
        
        # Subtest: version
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 65 - version # time=2501.297ms
        
        # Subtest: view
            ok 1 - completion is static, not on instance
            ok 2 - completion is async function
            ok 3 - exec is async
            ok 4 - exec fn has 0 or 1 args
            ok 5 - ctor has ignoreImplictWorkspace boolean
            ok 6 - ctor has workspaces boolean
            ok 7 - execWorkspaces is async
            ok 8 - execWorkspaces fn has 0 or 1 args
            ok 9 - implementation has a description
            ok 10 - description is same on instance and ctor
            ok 11 - implementation has a name
            ok 12 - name is same on instance and ctor
            ok 13 - command list and name are the same
            ok 14 - params is same on instance and ctor
            ok 15 - implementation has a params
            ok 16 - usage contains the command
            ok 17 - usage is what is output
            ok 18 - usage is what is output
            ok 19 - describe usage is only static
            1..19
        ok 66 - view # time=1896.429ms
        
        # Subtest: whoami
            ok 1 - completion is static, not on instance
            ok 2 - exec is async
            ok 3 - exec fn has 0 or 1 args
            ok 4 - ctor has ignoreImplictWorkspace boolean
            ok 5 - ctor has workspaces boolean
            ok 6 - has no execWorkspaces fn
            ok 7 - implementation has a description
            ok 8 - description is same on instance and ctor
            ok 9 - implementation has a name
            ok 10 - name is same on instance and ctor
            ok 11 - command list and name are the same
            ok 12 - params is same on instance and ctor
            ok 13 - implementation has a params
            ok 14 - usage contains the command
            ok 15 - usage is what is output
            ok 16 - usage is what is output
            ok 17 - describe usage is only static
            1..17
        ok 67 - whoami # time=2013.717ms
        
        ok 68 - has some completion functions
        ok 69 - has some commands that change ignoreImplicitWorkspace
        ok 70 - has some commands that change workspaces
        ok 71 - has some commands that do not have params
        1..71
    ok 1 - load each command # time=179510.315ms
    
    1..1
    # time=179580.392ms
ok 4 - test/lib/load-all-commands.js # time=179580.392ms

# Subtest: test/lib/npm.js
    # Subtest: not yet loaded
        ok 1 - should match pattern provided
        ok 2 - expected to throw
        ok 3 - expected to throw
        ok 4 - should be equivalent
        1..4
    ok 1 - not yet loaded # time=3221.298ms
    
    # Subtest: npm.load
        # Subtest: load error
            ok 1 - expect rejected Promise
            ok 2 - should be equal
            ok 3 - loading again returns the original error
            ok 4 - should be equal
            1..4
        ok 1 - load error # time=1266.668ms
        
        # Subtest: basic loading
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - has usage
            ok 5 - should match pattern provided
            ok 6 - should match pattern provided
            ok 7 - cache is cache
            ok 8 - cache setter sets config
            ok 9 - cache getter gets new config
            ok 10 - lockfileVersion getter
            ok 11 - prefix is local prefix
            ok 12 - prefix is not global prefix
            ok 13 - globalPrefix setter
            ok 14 - prefix is local prefix after localPrefix setter
            ok 15 - prefix is not global prefix after localPrefix setter
            ok 16 - prefix is local prefix after prefix setter
            ok 17 - prefix is not global prefix after prefix setter
            ok 18 - bin is local bin after prefix setter
            ok 19 - bin is not global bin after prefix setter
            ok 20 - dir is local dir after prefix setter
            ok 21 - dir is not global dir after prefix setter
            ok 22 - prefix is global prefix after setting global
            ok 23 - prefix is not local prefix after setting global
            ok 24 - bin is global bin after setting global
            ok 25 - bin is not local bin after setting global
            ok 26 - dir is global dir after setting global
            ok 27 - dir is not local dir after setting global
            ok 28 - prefix is global prefix after prefix setter
            ok 29 - prefix is not local prefix after prefix setter
            ok 30 - bin is global bin after prefix setter
            ok 31 - bin is not local bin after prefix setter
            ok 32 - bin is global bin in windows mode
            ok 33 - dir is global dir in windows mode
            1..33
        ok 2 - basic loading # time=2598.09ms
        
        # Subtest: forceful loading
            ok 1 - should match pattern provided
            1..1
        ok 3 - forceful loading # time=1502.296ms
        
        # Subtest: node is a symlink
            ok 1 - added the @ sign to scope
            ok 2 - should match pattern provided
            ok 3 - should be equal
            ok 4 - command set to first npm command
            ok 5 - npmCommand flatOption set
            ok 6 - print usage
            ok 7 - does not change npm.command when another command is called
            ok 8 - should match pattern provided
            ok 9 - should be equivalent
            1..9
        ok 4 - node is a symlink # time=4605.995ms
        
        # Subtest: --no-workspaces with --workspace
            ok 1 - expect rejected Promise
            1..1
        ok 5 - --no-workspaces with --workspace # time=3325.545ms
        
        # Subtest: workspace-aware configs and commands
            ok 1 - npm.command set to canonical name
            ok 2 - should exec workspaces version of commands
            1..2
        ok 6 - workspace-aware configs and commands # time=2235.554ms
        
        # Subtest: workspaces in global mode
            ok 1 - expect rejected Promise
            1..1
        ok 7 - workspaces in global mode # time=2465.435ms
        
        1..7
    ok 2 - npm.load # time=19295.329ms
    
    # Subtest: set process.title
        # Subtest: basic title setting
            ok 1 - should be equal
            ok 2 - should be equal
            1..2
        ok 1 - basic title setting # time=1969.945ms
        
        # Subtest: do not expose token being revoked
            ok 1 - should be equal
            ok 2 - should be equal
            1..2
        ok 2 - do not expose token being revoked # time=1693.199ms
        
        # Subtest: do show *** unless a token is actually being revoked
            ok 1 - should be equal
            ok 2 - should be equal
            1..2
        ok 3 - do show *** unless a token is actually being revoked # time=1458.989ms
        
        1..3
    ok 3 - set process.title # time=5455.892ms
    
    # Subtest: debug log
        # Subtest: writes log file
            ok 1 - one debug file
            ok 2 - before load appears
            ok 3 - after load log appears
            1..3
        ok 1 - writes log file # time=2006.75ms
        
        # Subtest: can load with bad dir
            ok 1 - loads with invalid logs dir
            ok 2 - no log files array
            ok 3 - should be equivalent strictly
            1..3
        ok 2 - can load with bad dir # time=2047.063ms
        
        1..2
    ok 4 - debug log # time=4311.234ms
    
    # Subtest: cache dir
        # Subtest: creates a cache dir
            ok 1 - cache dir exists
            1..1
        ok 1 - creates a cache dir # time=1475.272ms
        
        # Subtest: can load with a bad cache dir
            ok 1 - loads with cache dir as a file
            ok 2 - should be equal
            1..2
        ok 2 - can load with a bad cache dir # time=1593.471ms
        
        1..2
    ok 5 - cache dir # time=3253.78ms
    
    # Subtest: timings
        # Subtest: gets/sets timers
            ok 1 - foo timer is a number
            ok 2 - foo timer is a number
            ok 3 - should match pattern provided
            ok 4 - should match pattern provided
            ok 5 - foo timer is gone
            ok 6 - bar timer is gone
            ok 7 - should match pattern provided
            1..7
        ok 1 - gets/sets timers # time=1533.443ms
        
        # Subtest: writes timings file
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 2 - writes timings file # time=1550.745ms
        
        # Subtest: does not write timings file with timers:false
            ok 1 - expect rejected Promise
            1..1
        ok 3 - does not write timings file with timers:false # time=1367.83ms
        
        # Subtest: timing display: {"loglevel":"silly"}, display:true, timing:false
            ok 1 - display
            ok 2 - timing display
            1..2
        ok 4 - timing display: {"loglevel":"silly"}, display:true, timing:false # time=1438.517ms
        
        # Subtest: timing display: {"loglevel":"silly","timing":true}, display:true, timing:true
            ok 1 - display
            ok 2 - timing display
            1..2
        ok 5 - timing display: {"loglevel":"silly","timing":true}, display:true, timing:true # time=1358.615ms
        
        # Subtest: timing display: {"loglevel":"silent","timing":true}, display:false, timing:false
            ok 1 - display
            ok 2 - timing display
            1..2
        ok 6 - timing display: {"loglevel":"silent","timing":true}, display:false, timing:false # time=1375.115ms
        
        1..6
    ok 6 - timings # time=9108.482ms
    
    # Subtest: output clears progress and console.logs the message
        1..4
        ok 1 - should not be showing progress right now
        ok 2 - should not be showing progress right now
        ok 3 - should match pattern provided
        ok 4 - should match pattern provided
    ok 7 - output clears progress and console.logs the message # time=1138.142ms
    
    # Subtest: aliases and typos
        ok 1 - expected to throw
        ok 2 - expected to throw
        ok 3 - expected to throw
        ok 4 - should match pattern provided
        ok 5 - should match pattern provided
        ok 6 - should match pattern provided
        ok 7 - should match pattern provided
        1..7
    ok 8 - aliases and typos # time=16023.251ms
    
    # Subtest: explicit workspace rejection
        ok 1 - expect rejected Promise
        1..1
    ok 9 - explicit workspace rejection # time=1695.098ms
    
    # Subtest: implicit workspace rejection
        ok 1 - expect rejected Promise
        1..1
    ok 10 - implicit workspace rejection # time=2350.489ms
    
    # Subtest: implicit workspace accept
        ok 1 - expect rejected Promise
        1..1
    ok 11 - implicit workspace accept # time=2992.558ms
    
    # Subtest: usage
        # Subtest: with browser
            ok 1 - should not match pattern provided
            ok 2 - should match pattern provided
            1..2
        ok 1 - with browser # time=1798.258ms
        
        # Subtest: windows always uses browser
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            1..2
        ok 2 - windows always uses browser # time=1529.215ms
        
        # Subtest: includes commands
            ok 1 - usage includes access
            ok 2 - usage does not include long access
            ok 3 - long usage includes access
            ok 4 - long usage does not include short access
            ok 5 - usage includes adduser
            ok 6 - usage does not include long adduser
            ok 7 - long usage includes adduser
            ok 8 - long usage does not include short adduser
            ok 9 - usage includes audit
            ok 10 - usage does not include long audit
            ok 11 - long usage includes audit
            ok 12 - long usage does not include short audit
            ok 13 - usage includes bugs
            ok 14 - usage does not include long bugs
            ok 15 - long usage includes bugs
            ok 16 - long usage does not include short bugs
            ok 17 - usage includes cache
            ok 18 - usage does not include long cache
            ok 19 - long usage includes cache
            ok 20 - long usage does not include short cache
            ok 21 - usage includes ci
            ok 22 - usage does not include long ci
            ok 23 - long usage includes ci
            ok 24 - long usage does not include short ci
            ok 25 - usage includes completion
            ok 26 - usage does not include long completion
            ok 27 - long usage includes completion
            ok 28 - long usage does not include short completion
            ok 29 - usage includes config
            ok 30 - usage does not include long config
            ok 31 - long usage includes config
            ok 32 - long usage does not include short config
            ok 33 - usage includes dedupe
            ok 34 - usage does not include long dedupe
            ok 35 - long usage includes dedupe
            ok 36 - long usage does not include short dedupe
            ok 37 - usage includes deprecate
            ok 38 - usage does not include long deprecate
            ok 39 - long usage includes deprecate
            ok 40 - long usage does not include short deprecate
            ok 41 - usage includes diff
            ok 42 - usage does not include long diff
            ok 43 - long usage includes diff
            ok 44 - long usage does not include short diff
            ok 45 - usage includes dist-tag
            ok 46 - usage does not include long dist-tag
            ok 47 - long usage includes dist-tag
            ok 48 - long usage does not include short dist-tag
            ok 49 - usage includes docs
            ok 50 - usage does not include long docs
            ok 51 - long usage includes docs
            ok 52 - long usage does not include short docs
            ok 53 - usage includes doctor
            ok 54 - usage does not include long doctor
            ok 55 - long usage includes doctor
            ok 56 - long usage does not include short doctor
            ok 57 - usage includes edit
            ok 58 - usage does not include long edit
            ok 59 - long usage includes edit
            ok 60 - long usage does not include short edit
            ok 61 - usage includes exec
            ok 62 - usage does not include long exec
            ok 63 - long usage includes exec
            ok 64 - long usage does not include short exec
            ok 65 - usage includes explain
            ok 66 - usage does not include long explain
            ok 67 - long usage includes explain
            ok 68 - long usage does not include short explain
            ok 69 - usage includes explore
            ok 70 - usage does not include long explore
            ok 71 - long usage includes explore
            ok 72 - long usage does not include short explore
            ok 73 - usage includes find-dupes
            ok 74 - usage does not include long find-dupes
            ok 75 - long usage includes find-dupes
            ok 76 - long usage does not include short find-dupes
            ok 77 - usage includes fund
            ok 78 - usage does not include long fund
            ok 79 - long usage includes fund
            ok 80 - long usage does not include short fund
            ok 81 - usage includes get
            ok 82 - usage does not include long get
            ok 83 - long usage includes get
            ok 84 - long usage does not include short get
            ok 85 - usage includes help
            ok 86 - usage does not include long help
            ok 87 - long usage includes help
            ok 88 - long usage does not include short help
            ok 89 - usage includes help-search
            ok 90 - usage does not include long help-search
            ok 91 - long usage includes help-search
            ok 92 - long usage does not include short help-search
            ok 93 - usage includes hook
            ok 94 - usage does not include long hook
            ok 95 - long usage includes hook
            ok 96 - long usage does not include short hook
            ok 97 - usage includes init
            ok 98 - usage does not include long init
            ok 99 - long usage includes init
            ok 100 - long usage does not include short init
            ok 101 - usage includes install
            ok 102 - usage does not include long install
            ok 103 - long usage includes install
            ok 104 - long usage does not include short install
            ok 105 - usage includes install-ci-test
            ok 106 - usage does not include long install-ci-test
            ok 107 - long usage includes install-ci-test
            ok 108 - long usage does not include short install-ci-test
            ok 109 - usage includes install-test
            ok 110 - usage does not include long install-test
            ok 111 - long usage includes install-test
            ok 112 - long usage does not include short install-test
            ok 113 - usage includes link
            ok 114 - usage does not include long link
            ok 115 - long usage includes link
            ok 116 - long usage does not include short link
            ok 117 - usage includes ll
            ok 118 - usage does not include long ll
            ok 119 - long usage includes ll
            ok 120 - long usage does not include short ll
            ok 121 - usage includes login
            ok 122 - usage does not include long login
            ok 123 - long usage includes login
            ok 124 - long usage does not include short login
            ok 125 - usage includes logout
            ok 126 - usage does not include long logout
            ok 127 - long usage includes logout
            ok 128 - long usage does not include short logout
            ok 129 - usage includes ls
            ok 130 - usage does not include long ls
            ok 131 - long usage includes ls
            ok 132 - long usage does not include short ls
            ok 133 - usage includes org
            ok 134 - usage does not include long org
            ok 135 - long usage includes org
            ok 136 - long usage does not include short org
            ok 137 - usage includes outdated
            ok 138 - usage does not include long outdated
            ok 139 - long usage includes outdated
            ok 140 - long usage does not include short outdated
            ok 141 - usage includes owner
            ok 142 - usage does not include long owner
            ok 143 - long usage includes owner
            ok 144 - long usage does not include short owner
            ok 145 - usage includes pack
            ok 146 - usage does not include long pack
            ok 147 - long usage includes pack
            ok 148 - long usage does not include short pack
            ok 149 - usage includes ping
            ok 150 - usage does not include long ping
            ok 151 - long usage includes ping
            ok 152 - long usage does not include short ping
            ok 153 - usage includes pkg
            ok 154 - usage does not include long pkg
            ok 155 - long usage includes pkg
            ok 156 - long usage does not include short pkg
            ok 157 - usage includes prefix
            ok 158 - usage does not include long prefix
            ok 159 - long usage includes prefix
            ok 160 - long usage does not include short prefix
            ok 161 - usage includes profile
            ok 162 - usage does not include long profile
            ok 163 - long usage includes profile
            ok 164 - long usage does not include short profile
            ok 165 - usage includes prune
            ok 166 - usage does not include long prune
            ok 167 - long usage includes prune
            ok 168 - long usage does not include short prune
            ok 169 - usage includes publish
            ok 170 - usage does not include long publish
            ok 171 - long usage includes publish
            ok 172 - long usage does not include short publish
            ok 173 - usage includes query
            ok 174 - usage does not include long query
            ok 175 - long usage includes query
            ok 176 - long usage does not include short query
            ok 177 - usage includes rebuild
            ok 178 - usage does not include long rebuild
            ok 179 - long usage includes rebuild
            ok 180 - long usage does not include short rebuild
            ok 181 - usage includes repo
            ok 182 - usage does not include long repo
            ok 183 - long usage includes repo
            ok 184 - long usage does not include short repo
            ok 185 - usage includes restart
            ok 186 - usage does not include long restart
            ok 187 - long usage includes restart
            ok 188 - long usage does not include short restart
            ok 189 - usage includes root
            ok 190 - usage does not include long root
            ok 191 - long usage includes root
            ok 192 - long usage does not include short root
            ok 193 - usage includes run-script
            ok 194 - usage does not include long run-script
            ok 195 - long usage includes run-script
            ok 196 - long usage does not include short run-script
            ok 197 - usage includes sbom
            ok 198 - usage does not include long sbom
            ok 199 - long usage includes sbom
            ok 200 - long usage does not include short sbom
            ok 201 - usage includes search
            ok 202 - usage does not include long search
            ok 203 - long usage includes search
            ok 204 - long usage does not include short search
            ok 205 - usage includes set
            ok 206 - usage does not include long set
            ok 207 - long usage includes set
            ok 208 - long usage does not include short set
            ok 209 - usage includes shrinkwrap
            ok 210 - usage does not include long shrinkwrap
            ok 211 - long usage includes shrinkwrap
            ok 212 - long usage does not include short shrinkwrap
            ok 213 - usage includes star
            ok 214 - usage does not include long star
            ok 215 - long usage includes star
            ok 216 - long usage does not include short star
            ok 217 - usage includes stars
            ok 218 - usage does not include long stars
            ok 219 - long usage includes stars
            ok 220 - long usage does not include short stars
            ok 221 - usage includes start
            ok 222 - usage does not include long start
            ok 223 - long usage includes start
            ok 224 - long usage does not include short start
            ok 225 - usage includes stop
            ok 226 - usage does not include long stop
            ok 227 - long usage includes stop
            ok 228 - long usage does not include short stop
            ok 229 - usage includes team
            ok 230 - usage does not include long team
            ok 231 - long usage includes team
            ok 232 - long usage does not include short team
            ok 233 - usage includes test
            ok 234 - usage does not include long test
            ok 235 - long usage includes test
            ok 236 - long usage does not include short test
            ok 237 - usage includes token
            ok 238 - usage does not include long token
            ok 239 - long usage includes token
            ok 240 - long usage does not include short token
            ok 241 - usage includes uninstall
            ok 242 - usage does not include long uninstall
            ok 243 - long usage includes uninstall
            ok 244 - long usage does not include short uninstall
            ok 245 - usage includes unpublish
            ok 246 - usage does not include long unpublish
            ok 247 - long usage includes unpublish
            ok 248 - long usage does not include short unpublish
            ok 249 - usage includes unstar
            ok 250 - usage does not include long unstar
            ok 251 - long usage includes unstar
            ok 252 - long usage does not include short unstar
            ok 253 - usage includes update
            ok 254 - usage does not include long update
            ok 255 - long usage includes update
            ok 256 - long usage does not include short update
            ok 257 - usage includes version
            ok 258 - usage does not include long version
            ok 259 - long usage includes version
            ok 260 - long usage does not include short version
            ok 261 - usage includes view
            ok 262 - usage does not include long view
            ok 263 - long usage includes view
            ok 264 - long usage does not include short view
            ok 265 - usage includes whoami
            ok 266 - usage does not include long whoami
            ok 267 - long usage includes whoami
            1..267
        ok 3 - includes commands # time=182974.483ms
        
        # Subtest: set process.stdout.columns
            # Subtest: column width 0
                ok 1 - must match snapshot
                1..1
            ok 1 - column width 0 # time=247.425ms
            
            # Subtest: column width 1
                ok 1 - must match snapshot
                1..1
            ok 2 - column width 1 # time=17.141ms
            
            # Subtest: column width 10
                ok 1 - must match snapshot
                1..1
            ok 3 - column width 10 # time=13.945ms
            
            # Subtest: column width 24
                ok 1 - must match snapshot
                1..1
            ok 4 - column width 24 # time=13.565ms
            
            # Subtest: column width 40
                ok 1 - must match snapshot
                1..1
            ok 5 - column width 40 # time=60.408ms
            
            # Subtest: column width 41
                ok 1 - must match snapshot
                1..1
            ok 6 - column width 41 # time=27.489ms
            
            # Subtest: column width 75
                ok 1 - must match snapshot
                1..1
            ok 7 - column width 75 # time=33.062ms
            
            # Subtest: column width 76
                ok 1 - must match snapshot
                1..1
            ok 8 - column width 76 # time=31.464ms
            
            # Subtest: column width 90
                ok 1 - must match snapshot
                1..1
            ok 9 - column width 90 # time=23.755ms
            
            # Subtest: column width 100
                ok 1 - must match snapshot
                1..1
            ok 10 - column width 100 # time=30.821ms
            
            1..10
        ok 4 - set process.stdout.columns # time=2752.297ms
        
        1..4
    ok 12 - usage # time=189554.014ms
    
    1..12
    # time=258974.288ms
ok 5 - test/lib/npm.js # time=258974.288ms

# Subtest: test/bin/npm-cli.js
    # Subtest: loading the bin calls the implementation
        ok 1 - called implementation with process object
        1..1
    ok 1 - loading the bin calls the implementation # time=16424.399ms
    
    1..1
    # time=16682.911ms
ok 6 - test/bin/npm-cli.js # time=16682.911ms

# Subtest: test/bin/npx-cli.js
    # Subtest: npx foo -> npm exec -- foo
        ok 1 - should be equivalent strictly
        1..1
    ok 1 - npx foo -> npm exec -- foo # time=22862.554ms
    
    # Subtest: npx -- foo -> npm exec -- foo
        ok 1 - should be equivalent strictly
        1..1
    ok 2 - npx -- foo -> npm exec -- foo # time=186.684ms
    
    # Subtest: npx -x y foo -z -> npm exec -x y -- foo -z
        ok 1 - should be equivalent strictly
        1..1
    ok 3 - npx -x y foo -z -> npm exec -x y -- foo -z # time=117.854ms
    
    # Subtest: npx --x=y --no-install foo -z -> npm exec --x=y -- foo -z
        ok 1 - should be equivalent strictly
        1..1
    ok 4 - npx --x=y --no-install foo -z -> npm exec --x=y -- foo -z # time=102.181ms
    
    # Subtest: transform renamed options into proper values
        ok 1 - should be equivalent strictly
        1..1
    ok 5 - transform renamed options into proper values # time=102.063ms
    
    # Subtest: use a bunch of deprecated switches and options
        ok 1 - should be equivalent strictly
        ok 2 - should be equivalent strictly
        1..2
    ok 6 - use a bunch of deprecated switches and options # time=132.026ms
    
    1..6
    # time=24076.406ms
ok 7 - test/bin/npx-cli.js # time=24076.406ms

# Subtest: test/bin/windows-shims.js
    # Subtest: shim contents
        1..3
        # Subtest: bash
            ok 1 - has NPX_CLI
            ok 2 - should be equal
            ok 3 - all other changes are m->x
            1..3
        ok 1 - bash # time=437.603ms
        
        # Subtest: cmd
            ok 1 - has NPX_CLI
            ok 2 - should be equal
            ok 3 - all other changes are m->x
            1..3
        ok 2 - cmd # time=138.499ms
        
        # Subtest: pwsh
            ok 1 - should be equal
            ok 2 - all other changes are m->x
            1..2
        ok 3 - pwsh # time=40.707ms
        
    ok 1 - shim contents # time=942.312ms
    
    # Subtest: run shims
        1..6
        # Subtest: cmd
            ok 1 - cmd - test not relevant on platform # SKIP
            1..1
            # skip: 1
        ok 1 - cmd # time=33.013ms
        
        # Subtest: pwsh
            ok 1 - pwsh - test not relevant on platform # SKIP
            1..1
            # skip: 1
        ok 2 - pwsh # time=20.694ms
        
        # Subtest: git bash
            ok 1 - git bash - test not relevant on platform # SKIP
            1..1
            # skip: 1
        ok 3 - git bash # time=11.309ms
        
        # Subtest: user git bash
            ok 1 - user git bash - test not relevant on platform # SKIP
            1..1
            # skip: 1
        ok 4 - user git bash # time=14.282ms
        
        # Subtest: wsl bash
            ok 1 - wsl bash - test not relevant on platform # SKIP
            1..1
            # skip: 1
        ok 5 - wsl bash # time=24.285ms
        
        # Subtest: cygwin bash
            ok 1 - cygwin bash - test not relevant on platform # SKIP
            1..1
            # skip: 1
        ok 6 - cygwin bash # time=10.795ms
        
    ok 2 - run shims # time=552.142ms
    
    1..2
    # time=1899.603ms
ok 8 - test/bin/windows-shims.js # time=1899.603ms

# Subtest: test/lib/arborist-cmd.js
    # Subtest: arborist-cmd
        # Subtest: single name
            ok 1 - should set array with single ws name
            ok 2 - should get received args
            1..2
        ok 1 - single name # time=5754.976ms
        
        # Subtest: single path
            ok 1 - should set array with single ws name
            1..1
        ok 2 - single path # time=1926.128ms
        
        # Subtest: single full path
            ok 1 - should set array with single ws name
            1..1
        ok 3 - single full path # time=1985.065ms
        
        # Subtest: multiple names
            ok 1 - should set array with single ws name
            1..1
        ok 4 - multiple names # time=2247.857ms
        
        # Subtest: multiple paths
            ok 1 - should set array with single ws name
            1..1
        ok 5 - multiple paths # time=1980.712ms
        
        # Subtest: parent path
            ok 1 - should set array with single ws name
            1..1
        ok 6 - parent path # time=1742.163ms
        
        # Subtest: parent path
            ok 1 - should set array with single ws name
            1..1
        ok 7 - parent path # time=1713.843ms
        
        # Subtest: prefix inside cwd
            ok 1 - should set array with single ws name
            1..1
        ok 8 - prefix inside cwd # time=1809.42ms
        
        1..8
    ok 1 - arborist-cmd # time=20263.389ms
    
    # Subtest: handle getWorkspaces raising an error
        ok 1 - expect rejected Promise
        1..1
    ok 2 - handle getWorkspaces raising an error # time=1665.422ms
    
    1..2
    # time=22153.258ms
ok 9 - test/lib/arborist-cmd.js # time=22153.258ms

# Subtest: test/lib/cli-entry.js
    # Subtest: print the version, and treat npm_g as npm -g
        ok 1 - system process.argv was rewritten
        ok 2 - should be equivalent strictly
        ok 3 - should be equivalent strictly
        ok 4 - should match pattern provided
        ok 5 - should be equivalent strictly
        ok 6 - should be equal
        ok 7 - should be equivalent strictly
        ok 8 - should be equivalent strictly
        1..8
    ok 1 - print the version, and treat npm_g as npm -g # time=3897.506ms
    
    # Subtest: calling with --versions calls npm version with no args
        ok 1 - should be equal
        ok 2 - should be equivalent strictly
        ok 3 - should be equivalent strictly
        ok 4 - should match pattern provided
        ok 5 - should be equal
        ok 6 - should match pattern provided
        ok 7 - should be equivalent strictly
        1..7
    ok 2 - calling with --versions calls npm version with no args # time=15981.402ms
    
    # Subtest: logged argv is sanitized
        ok 1 - should be equal
        ok 2 - should be equivalent strictly
        ok 3 - should be equivalent strictly
        ok 4 - should match pattern provided
        1..4
    ok 3 - logged argv is sanitized # time=2670.794ms
    
    # Subtest: logged argv is sanitized with equals
        ok 1 - should match pattern provided
        1..1
    ok 4 - logged argv is sanitized with equals # time=2148.992ms
    
    # Subtest: print usage if no params provided
        ok 1 - outputs npm usage
        ok 2 - should call exitHandler with no args
        ok 3 - exitHandler npm is set
        ok 4 - should match pattern provided
        1..4
    ok 5 - print usage if no params provided # time=1431.992ms
    
    # Subtest: print usage if non-command param provided
        ok 1 - should match pattern provided
        ok 2 - should match pattern provided
        ok 3 - should call exitHandler with no args
        ok 4 - exitHandler npm is set
        ok 5 - should match pattern provided
        1..5
    ok 6 - print usage if non-command param provided # time=2825.155ms
    
    # Subtest: load error calls error handler
        ok 1 - should be equivalent strictly
        1..1
    ok 7 - load error calls error handler # time=1199.71ms
    
    # Subtest: unsupported node version
        ok 1 - should match pattern provided
        1..1
    ok 8 - unsupported node version # time=1617.338ms
    
    1..8
    # time=32348.673ms
ok 10 - test/lib/cli-entry.js # time=32348.673ms

# Subtest: test/lib/cli.js
    # Subtest: returns cli-entry function
        ok 1 - should be equal
        1..1
    ok 1 - returns cli-entry function # time=282.751ms
    
    1..1
    # time=414.982ms
ok 11 - test/lib/cli.js # time=414.982ms

# Subtest: test/lib/commands/access.js
    # Subtest: completion
        ok 1 - expect resolving Promise
        ok 2 - expect resolving Promise
        ok 3 - expect resolving Promise
        ok 4 - expect resolving Promise
        ok 5 - expect resolving Promise
        ok 6 - expect resolving Promise
        ok 7 - expect resolving Promise
        ok 8 - expect resolving Promise
        ok 9 - expect rejected Promise
        1..9
    ok 1 - completion # time=4573.437ms
    
    # Subtest: command required
        ok 1 - expect rejected Promise
        1..1
    ok 2 - command required # time=3773.523ms
    
    # Subtest: unrecognized command
        ok 1 - expect rejected Promise
        1..1
    ok 3 - unrecognized command # time=3870.692ms
    
    # Subtest: subcommand required
        ok 1 - expect rejected Promise
        1..1
    ok 4 - subcommand required # time=2366.95ms
    
    # Subtest: unrecognized subcommand
        ok 1 - expect rejected Promise
        1..1
    ok 5 - unrecognized subcommand # time=2260.845ms
    
    # Subtest: grant
        # Subtest: invalid permissions
            ok 1 - expect rejected Promise
            1..1
        ok 1 - invalid permissions # time=2190.266ms
        
        # Subtest: no permissions
            ok 1 - expect rejected Promise
            1..1
        ok 2 - no permissions # time=2135.327ms
        
        # Subtest: read-only
            1..0
        ok 3 - read-only # time=2395.935ms
        
        1..3
    ok 6 - grant # time=7137.977ms
    
    # Subtest: revoke
        # Subtest: success
            1..0
        ok 1 - success # time=2046.329ms
        
        1..1
    ok 7 - revoke # time=2199.547ms
    
    # Subtest: list
        # Subtest: invalid subcommand
            ok 1 - expect rejected Promise
            1..1
        ok 1 - invalid subcommand # time=2579.809ms
        
        # Subtest: packages explicit user
            ok 1 - should be equivalent
            1..1
        ok 2 - packages explicit user # time=2233.223ms
        
        # Subtest: packages infer user
            ok 1 - should be equivalent
            1..1
        ok 3 - packages infer user # time=2335.703ms
        
        # Subtest: packages json
            ok 1 - should be equivalent
            1..1
        ok 4 - packages json # time=2000.493ms
        
        # Subtest: collaborators explicit package
            ok 1 - should be equivalent
            1..1
        ok 5 - collaborators explicit package # time=1792.858ms
        
        # Subtest: collaborators user
            ok 1 - should be equivalent
            1..1
        ok 6 - collaborators user # time=1882.484ms
        
        1..6
    ok 8 - list # time=13670.553ms
    
    # Subtest: get
        # Subtest: invalid subcommand
            ok 1 - expect rejected Promise
            1..1
        ok 1 - invalid subcommand # time=2227.219ms
        
        # Subtest: status explicit package
            ok 1 - should be equivalent
            1..1
        ok 2 - status explicit package # time=1930.403ms
        
        # Subtest: status implicit package
            ok 1 - should be equivalent
            1..1
        ok 3 - status implicit package # time=1818.547ms
        
        # Subtest: status no package
            ok 1 - expect rejected Promise
            1..1
        ok 4 - status no package # time=1899.953ms
        
        # Subtest: status invalid package
            ok 1 - expect rejected Promise
            1..1
        ok 5 - status invalid package # time=2000.451ms
        
        # Subtest: status json
            ok 1 - should be equivalent
            1..1
        ok 6 - status json # time=2357.241ms
        
        1..6
    ok 9 - get # time=12783.443ms
    
    # Subtest: set
        # Subtest: status=public
            ok 1 - should be equivalent
            1..1
        ok 1 - status=public # time=2645.815ms
        
        # Subtest: status=private
            ok 1 - should be equivalent
            1..1
        ok 2 - status=private # time=2168.161ms
        
        # Subtest: status=invalid
            ok 1 - expect rejected Promise
            1..1
        ok 3 - status=invalid # time=2059.852ms
        
        # Subtest: status non scoped package
            ok 1 - expect rejected Promise
            1..1
        ok 4 - status non scoped package # time=2162.704ms
        
        # Subtest: mfa=none
            1..0
        ok 5 - mfa=none # time=1969.69ms
        
        # Subtest: mfa=publish
            1..0
        ok 6 - mfa=publish # time=2021.132ms
        
        # Subtest: mfa=automation
            1..0
        ok 7 - mfa=automation # time=2050.298ms
        
        # Subtest: mfa=invalid
            ok 1 - expect rejected Promise
            1..1
        ok 8 - mfa=invalid # time=2064.629ms
        
        # Subtest: 2fa=none
            1..0
        ok 9 - 2fa=none # time=1876.539ms
        
        # Subtest: 2fa=publish
            1..0
        ok 10 - 2fa=publish # time=2326.822ms
        
        # Subtest: 2fa=automation
            1..0
        ok 11 - 2fa=automation # time=2795.455ms
        
        # Subtest: 2fa=invalid
            ok 1 - expect rejected Promise
            1..1
        ok 12 - 2fa=invalid # time=2198.414ms
        
        1..12
    ok 10 - set # time=27402.644ms
    
    1..10
    # time=80796.493ms
ok 12 - test/lib/commands/access.js # time=80796.493ms

# Subtest: test/lib/commands/adduser.js
    # Subtest: usage
        ok 1 - usage has command name in it
        1..1
    ok 1 - usage # time=3593.802ms
    
    # Subtest: legacy
        # Subtest: simple adduser
            ok 1 - should match pattern provided
            ok 2 - should be equivalent
            ok 3 - should be equivalent
            ok 4 - should only have token and un-nerfed old email
            1..4
        ok 1 - simple adduser # time=3518.792ms
        
        # Subtest: scoped adduser
            ok 1 - should match pattern provided
            ok 2 - should be equivalent
            ok 3 - should be equivalent
            ok 4 - should only have token and scope:registry
            1..4
        ok 2 - scoped adduser # time=2243.578ms
        
        # Subtest: scoped adduser with valid scoped registry config
            ok 1 - should match pattern provided
            ok 2 - should be equivalent
            ok 3 - should be equivalent
            ok 4 - should only have token and scope:registry
            1..4
        ok 3 - scoped adduser with valid scoped registry config # time=2496.173ms
        
        # Subtest: save config failure
            ok 1 - expect rejected Promise
            ok 2 - should match pattern provided
            1..2
        ok 4 - save config failure # time=2134.54ms
        
        1..4
    ok 2 - legacy # time=10759.964ms
    
    # Subtest: web
        # Subtest: basic adduser
            ok 1 - expect truthy value
            ok 2 - expect truthy value
            ok 3 - should be equivalent
            ok 4 - should be equivalent
            1..4
        ok 1 - basic adduser # time=2683.208ms
        
        # Subtest: server error
            ok 1 - expect rejected Promise
            1..1
        ok 2 - server error # time=2275.307ms
        
        # Subtest: fallback
            ok 1 - should match pattern provided
            ok 2 - should be equivalent
            1..2
        ok 3 - fallback # time=2141.563ms
        
        1..3
    ok 3 - web # time=7426.368ms
    
    1..3
    # time=22069.805ms
ok 13 - test/lib/commands/adduser.js # time=22069.805ms

# Subtest: test/lib/commands/audit.js
    # Subtest: normal audit
        ok 1 - would have exited uncleanly
        ok 2 - must match snapshot
        1..2
    ok 1 - normal audit # time=6194.475ms
    
    # Subtest: fallback audit 
        ok 1 - should match pattern provided
        ok 2 - would have exited uncleanly
        ok 3 - must match snapshot
        1..3
    ok 2 - fallback audit # time=3331.325ms
    
    # Subtest: json audit
        ok 1 - would have exited uncleanly
        ok 2 - must match snapshot
        1..2
    ok 3 - json audit # time=2803.16ms
    
    # Subtest: audit fix - bulk endpoint
        ok 1 - should be equivalent
        ok 2 - should be equivalent
        ok 3 - must match snapshot
        ok 4 - lockfile has test-dep-a@1.0.1
        ok 5 - has test-dep-a@1.0.1 on disk
        1..5
    ok 4 - audit fix - bulk endpoint # time=5512.889ms
    
    # Subtest: audit fix no package lock
        ok 1 - expect rejected Promise
        1..1
    ok 5 - audit fix no package lock # time=3439.799ms
    
    # Subtest: completion
        # Subtest: fix
            ok 1 - completes to fix
            1..1
        ok 1 - fix # time=85.333ms
        
        # Subtest: subcommand fix
            ok 1 - resolves to ?
            1..1
        ok 2 - subcommand fix # time=21.424ms
        
        # Subtest: subcommand not recognized
            ok 1 - expect rejected Promise
            1..1
        ok 3 - subcommand not recognized # time=28.118ms
        
        1..3
    ok 6 - completion # time=2039.649ms
    
    # Subtest: audit signatures
        # Subtest: with valid signatures
            ok 1 - should exit successfully
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 1 - with valid signatures # time=4789.29ms
        
        # Subtest: with valid signatures using alias
            ok 1 - should exit successfully
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 2 - with valid signatures using alias # time=3111.676ms
        
        # Subtest: with key fallback to legacy API
            ok 1 - should exit successfully
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 3 - with key fallback to legacy API # time=3006.162ms
        
        # Subtest: with multiple valid signatures and one invalid
            ok 1 - should exit with error
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - should match pattern provided
            ok 5 - must match snapshot
            1..5
        ok 4 - with multiple valid signatures and one invalid # time=3143.833ms
        
        # Subtest: with bundled and peer deps and no signatures
            ok 1 - should exit successfully
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 5 - with bundled and peer deps and no signatures # time=2728.233ms
        
        # Subtest: with invalid signatures
            ok 1 - should exit with error
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 6 - with invalid signatures # time=2598.382ms
        
        # Subtest: with valid and missing signatures
            ok 1 - should exit with error
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - should match pattern provided
            ok 5 - must match snapshot
            1..5
        ok 7 - with valid and missing signatures # time=2980.206ms
        
        # Subtest: with both invalid and missing signatures
            ok 1 - should exit with error
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - should match pattern provided
            ok 5 - must match snapshot
            1..5
        ok 8 - with both invalid and missing signatures # time=2685.883ms
        
        # Subtest: with multiple invalid signatures
            ok 1 - should exit with error
            ok 2 - must match snapshot
            1..2
        ok 9 - with multiple invalid signatures # time=2772.77ms
        
        # Subtest: with multiple missing signatures
            ok 1 - should exit with error
            ok 2 - must match snapshot
            1..2
        ok 10 - with multiple missing signatures # time=2881.881ms
        
        # Subtest: with signatures but no public keys
            ok 1 - should throw with error
            1..1
        ok 11 - with signatures but no public keys # time=3379.057ms
        
        # Subtest: with signatures but the public keys are expired
            ok 1 - should throw with error
            1..1
        ok 12 - with signatures but the public keys are expired # time=3011.576ms
        
        # Subtest: with signatures but the public keyid does not match
            ok 1 - should throw with error
            1..1
        ok 13 - with signatures but the public keyid does not match # time=3235.726ms
        
        # Subtest: with keys but missing signature
            ok 1 - should exit with error
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 14 - with keys but missing signature # time=2957.558ms
        
        # Subtest: output details about missing signatures
            ok 1 - should exit with error
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 15 - output details about missing signatures # time=3655.314ms
        
        # Subtest: json output with valid signatures
            ok 1 - should exit successfully
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 16 - json output with valid signatures # time=3279.614ms
        
        # Subtest: json output with invalid signatures
            ok 1 - should exit with error
            ok 2 - must match snapshot
            1..2
        ok 17 - json output with invalid signatures # time=2408.768ms
        
        # Subtest: json output with invalid and missing signatures
            ok 1 - should exit with error
            ok 2 - must match snapshot
            1..2
        ok 18 - json output with invalid and missing signatures # time=3125.846ms
        
        # Subtest: omit dev dependencies with missing signature
            ok 1 - should exit successfully
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 19 - omit dev dependencies with missing signature # time=3052.882ms
        
        # Subtest: third-party registry without keys (E404) does not verify
            ok 1 - expect rejected Promise
            1..1
        ok 20 - third-party registry without keys (E404) does not verify # time=3302.372ms
        
        # Subtest: third-party registry without keys (E400) does not verify
            ok 1 - expect rejected Promise
            1..1
        ok 21 - third-party registry without keys (E400) does not verify # time=3343.869ms
        
        # Subtest: third-party registry with keys and signatures
            ok 1 - should exit successfully
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 22 - third-party registry with keys and signatures # time=2823.392ms
        
        # Subtest: third-party registry with invalid signatures errors
            ok 1 - should exit with error
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 23 - third-party registry with invalid signatures errors # time=2722.314ms
        
        # Subtest: third-party registry with keys and missing signatures errors
            ok 1 - should exit with error
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 24 - third-party registry with keys and missing signatures errors # time=2577.72ms
        
        # Subtest: third-party registry with sub-path
            ok 1 - should exit successfully
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 25 - third-party registry with sub-path # time=2474.714ms
        
        # Subtest: third-party registry with sub-path (trailing slash)
            ok 1 - should exit successfully
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 26 - third-party registry with sub-path (trailing slash) # time=2687.268ms
        
        # Subtest: multiple registries with keys and signatures
            ok 1 - should exit successfully
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 27 - multiple registries with keys and signatures # time=2826.146ms
        
        # Subtest: errors with an empty install
            ok 1 - expect rejected Promise
            1..1
        ok 28 - errors with an empty install # time=2371.908ms
        
        # Subtest: errors when TUF errors
            ok 1 - expect rejected Promise
            1..1
        ok 29 - errors when TUF errors # time=2898.117ms
        
        # Subtest: errors when the keys endpoint errors
            ok 1 - expect rejected Promise
            1..1
        ok 30 - errors when the keys endpoint errors # time=2709.564ms
        
        # Subtest: ignores optional dependencies
            ok 1 - should exit successfully
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 31 - ignores optional dependencies # time=3083.116ms
        
        # Subtest: errors when no installed dependencies
            ok 1 - expect rejected Promise
            1..1
        ok 32 - errors when no installed dependencies # time=2580.469ms
        
        # Subtest: should skip missing non-prod deps
            ok 1 - expect rejected Promise
            1..1
        ok 33 - should skip missing non-prod deps # time=2580.502ms
        
        # Subtest: should skip invalid pkg ranges
            ok 1 - expect rejected Promise
            1..1
        ok 34 - should skip invalid pkg ranges # time=2403.891ms
        
        # Subtest: should skip git specs
            ok 1 - expect rejected Promise
            1..1
        ok 35 - should skip git specs # time=2555.13ms
        
        # Subtest: errors for global packages
            ok 1 - expect rejected Promise
            1..1
        ok 36 - errors for global packages # time=2324.642ms
        
        # Subtest: with invalid signtaures and color output enabled
            ok 1 - should exit with error
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 37 - with invalid signtaures and color output enabled # time=2639.88ms
        
        # Subtest: with valid attestations
            ok 1 - should exit successfully
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 38 - with valid attestations # time=3799.748ms
        
        # Subtest: with multiple valid attestations
            ok 1 - should exit successfully
            ok 2 - should match pattern provided
            1..2
        ok 39 - with multiple valid attestations # time=3927.268ms
        
        # Subtest: with invalid attestations
            ok 1 - should exit with error
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 40 - with invalid attestations # time=3479.876ms
        
        # Subtest: json output with invalid attestations
            ok 1 - should exit with error
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 41 - json output with invalid attestations # time=3179.439ms
        
        # Subtest: with multiple invalid attestations
            ok 1 - should exit with error
            ok 2 - should match pattern provided
            ok 3 - must match snapshot
            1..3
        ok 42 - with multiple invalid attestations # time=3691.785ms
        
        # Subtest: workspaces
            # Subtest: verifies registry deps and ignores local workspace deps
                ok 1 - should exit successfully
                ok 2 - should match pattern provided
                ok 3 - must match snapshot
                1..3
            ok 1 - verifies registry deps and ignores local workspace deps # time=3269.82ms
            
            # Subtest: verifies registry deps when filtering by workspace name
                ok 1 - should exit successfully
                ok 2 - should match pattern provided
                ok 3 - must match snapshot
                1..3
            ok 2 - verifies registry deps when filtering by workspace name # time=3707.163ms
            
            # Subtest: verifies registry dep if workspaces is disabled
                ok 1 - expect rejected Promise
                1..1
            ok 3 - verifies registry dep if workspaces is disabled # time=2687.58ms
            
            1..3
        ok 43 - workspaces # time=10204.869ms
        
        1..43
    ok 7 - audit signatures # time=141016.8ms
    
    1..7
    # time=165169.487ms
ok 14 - test/lib/commands/audit.js # time=165169.487ms

# Subtest: test/lib/commands/bugs.js
    # Subtest: usage
        ok 1 - usage has command name in it
        1..1
    ok 1 - usage # time=13203.69ms
    
    # Subtest: open bugs urls & emails
        # Subtest: .
            ok 1 - opened expected url
            1..1
        ok 1 - . # time=252.909ms
        
        # Subtest: nobugs
            ok 1 - opened expected url
            1..1
        ok 2 - nobugs # time=44.947ms
        
        # Subtest: nullbugs
            ok 1 - opened expected url
            1..1
        ok 3 - nullbugs # time=53.415ms
        
        # Subtest: bugsobj-nourl
            ok 1 - opened expected url
            1..1
        ok 4 - bugsobj-nourl # time=72.263ms
        
        # Subtest: bugsurl
            ok 1 - opened expected url
            1..1
        ok 5 - bugsurl # time=66.545ms
        
        # Subtest: bugsobj
            ok 1 - opened expected url
            1..1
        ok 6 - bugsobj # time=38.843ms
        
        # Subtest: repourl
            ok 1 - opened expected url
            1..1
        ok 7 - repourl # time=37.589ms
        
        # Subtest: repoobj
            ok 1 - opened expected url
            1..1
        ok 8 - repoobj # time=36.012ms
        
        # Subtest: mailtest
            ok 1 - opened expected url
            1..1
        ok 9 - mailtest # time=39.313ms
        
        # Subtest: secondmailtest
            ok 1 - opened expected url
            1..1
        ok 10 - secondmailtest # time=34.709ms
        
        # Subtest: open default package if none specified
            ok 1 - opened expected url
            1..1
        ok 11 - open default package if none specified # time=21.295ms
        
        1..11
    ok 2 - open bugs urls & emails # time=2602.938ms
    
    1..2
    # time=16165.932ms
ok 15 - test/lib/commands/bugs.js # time=16165.932ms

# Subtest: test/lib/commands/cache.js
    # Subtest: cache no args
        ok 1 - should throw usage instructions
        1..1
    ok 1 - cache no args # time=5565.608ms
    
    # Subtest: cache clean
        ok 1 - should throw warning
        1..1
    ok 2 - cache clean # time=2299.525ms
    
    # Subtest: cache clean (force)
        ok 1 - cache dir was removed
        1..1
    ok 3 - cache clean (force) # time=2317.531ms
    
    # Subtest: cache add no arg
        ok 1 - throws usage error
        1..1
    ok 4 - cache add no arg # time=2774.581ms
    
    # Subtest: cache add single pkg
        ok 1 - should be equal
        ok 2 - expect resolving Promise
        ok 3 - expect resolving Promise
        1..3
    ok 5 - cache add single pkg # time=3786.745ms
    
    # Subtest: cache add multiple pkgs
        ok 1 - should be equal
        ok 2 - expect resolving Promise
        ok 3 - expect resolving Promise
        ok 4 - expect resolving Promise
        ok 5 - expect resolving Promise
        1..5
    ok 6 - cache add multiple pkgs # time=3868.8ms
    
    # Subtest: cache ls
        ok 1 - logs cache entries
        1..1
    ok 7 - cache ls # time=2055.011ms
    
    # Subtest: cache ls pkgs
        ok 1 - logs cache entries for npm and webpack and one webpack tgz
        1..1
    ok 8 - cache ls pkgs # time=2340.973ms
    
    # Subtest: cache ls special
        ok 1 - logs cache entries for foo
        1..1
    ok 9 - cache ls special # time=2091.741ms
    
    # Subtest: cache ls nonpublic registry
        ok 1 - logs cache entry for extemporaneously and its tarball
        1..1
    ok 10 - cache ls nonpublic registry # time=1947.081ms
    
    # Subtest: cache ls tagged
        ok 1 - should throw usage error
        1..1
    ok 11 - cache ls tagged # time=2092.895ms
    
    # Subtest: cache ls scoped and scoped slash
        ok 1 - logs cache entries for @gar and @fritzy
        1..1
    ok 12 - cache ls scoped and scoped slash # time=2164.005ms
    
    # Subtest: cache ls corrupted
        ok 1 - logs cache entries with bad data
        1..1
    ok 13 - cache ls corrupted # time=1873.376ms
    
    # Subtest: cache ls missing packument version not an object
        ok 1 - logs cache entry for packument
        1..1
    ok 14 - cache ls missing packument version not an object # time=1834.578ms
    
    # Subtest: cache rm
        ok 1 - logs deleting single entry
        ok 2 - expect resolving Promise
        ok 3 - expect rejected Promise
        1..3
    ok 15 - cache rm # time=1876.9ms
    
    # Subtest: cache rm unfound
        ok 1 - no errors, no output
        1..1
    ok 16 - cache rm unfound # time=1688.002ms
    
    # Subtest: cache verify
        ok 1 - shows verified cache output
        1..1
    ok 17 - cache verify # time=2070.697ms
    
    # Subtest: cache verify as part of home
        ok 1 - contains ~ shorthand
        1..1
    ok 18 - cache verify as part of home # time=2189.896ms
    
    # Subtest: cache verify w/ extra output
        ok 1 - shows extra output
        1..1
    ok 19 - cache verify w/ extra output # time=1720.857ms
    
    # Subtest: cache completion
        ok 1 - npm cache
        ok 2 - npm cache add
        ok 3 - npm cache clean
        ok 4 - npm cache verify
        1..4
    ok 20 - cache completion # time=1806.989ms
    
    1..20
    # time=50666.056ms
ok 16 - test/lib/commands/cache.js # time=50666.056ms

# Subtest: test/lib/commands/ci.js
    # Subtest: reifies, audits, removes node_modules
        ok 1 - should match pattern provided
        ok 2 - existing node_modules is removed
        ok 3 - installs abbrev
        1..3
    ok 1 - reifies, audits, removes node_modules # time=7540.902ms
    
    # Subtest: reifies, audits, removes node_modules on repeat run
        ok 1 - should match pattern provided
        ok 2 - existing node_modules is removed
        ok 3 - installs abbrev
        1..3
    ok 2 - reifies, audits, removes node_modules on repeat run # time=4296.079ms
    
    # Subtest: --no-audit and --ignore-scripts
        ok 1 - would fail if install script ran
        1..1
    ok 3 - --no-audit and --ignore-scripts # time=3157.167ms
    
    # Subtest: lifecycle scripts
        ok 1 - expect truthy value
        ok 2 - expect truthy value
        ok 3 - expect truthy value
        ok 4 - expect truthy value
        ok 5 - expect truthy value
        ok 6 - expect truthy value
        ok 7 - expect truthy value
        ok 8 - runs appropriate scripts, in order
        1..8
    ok 4 - lifecycle scripts # time=2720.899ms
    
    # Subtest: should throw if package-lock.json or npm-shrinkwrap missing
        ok 1 - expect rejected Promise
        ok 2 - does not remove node_modules
        1..2
    ok 5 - should throw if package-lock.json or npm-shrinkwrap missing # time=2721.027ms
    
    # Subtest: should throw ECIGLOBAL
        ok 1 - expect rejected Promise
        1..1
    ok 6 - should throw ECIGLOBAL # time=3310.76ms
    
    # Subtest: should throw error when ideal inventory mismatches virtual
        ok 1 - expect rejected Promise
        ok 2 - does not remove node_modules
        1..2
    ok 7 - should throw error when ideal inventory mismatches virtual # time=2660.622ms
    
    1..7
    # time=27795.287ms
ok 17 - test/lib/commands/ci.js # time=27795.287ms

# Subtest: test/lib/commands/completion.js
    # Subtest: completion
        # Subtest: completion completion
            ok 1 - both shells
            1..1
        ok 1 - completion completion # time=6915.021ms
        
        # Subtest: completion completion no known shells
            ok 1 - no responses
            1..1
        ok 2 - completion completion no known shells # time=1980.089ms
        
        # Subtest: completion completion wrong word count
            ok 1 - no responses
            1..1
        ok 3 - completion completion wrong word count # time=1827.595ms
        
        # Subtest: dump script when completion is not being attempted
            ok 1 - wrote the completion script
            1..1
        ok 4 - dump script when completion is not being attempted # time=2409.056ms
        
        # Subtest: dump script exits correctly when EPIPE is emitted on stdout
            ok 1 - wrote the completion script
            1..1
        ok 5 - dump script exits correctly when EPIPE is emitted on stdout # time=2251.133ms
        
        # Subtest: single command name
            ok 1 - single command name
            1..1
        ok 6 - single command name # time=1815.206ms
        
        # Subtest: multiple command names
            ok 1 - multiple command names
            1..1
        ok 7 - multiple command names # time=1993.14ms
        
        # Subtest: completion of invalid command name does nothing
            ok 1 - no results
            1..1
        ok 8 - completion of invalid command name does nothing # time=1817.09ms
        
        # Subtest: subcommand completion
            ok 1 - subcommands
            1..1
        ok 9 - subcommand completion # time=2448.455ms
        
        # Subtest: filtered subcommands
            ok 1 - filtered subcommands
            1..1
        ok 10 - filtered subcommands # time=2437.303ms
        
        # Subtest: commands with no completion
            ok 1 - no results
            1..1
        ok 11 - commands with no completion # time=2489.87ms
        
        # Subtest: flags
            ok 1 - flags
            1..1
        ok 12 - flags # time=1966.947ms
        
        # Subtest: --no- flags
            ok 1 - flags
            1..1
        ok 13 - --no- flags # time=2025.685ms
        
        # Subtest: double dashes escape from flag completion
            ok 1 - full command list
            1..1
        ok 14 - double dashes escape from flag completion # time=1992.3ms
        
        # Subtest: completion cannot complete options that take a value in mid-command
            ok 1 - does not try to complete option arguments in the middle of a command
            1..1
        ok 15 - completion cannot complete options that take a value in mid-command # time=1894.41ms
        
        1..15
    ok 1 - completion # time=37874.731ms
    
    # Subtest: windows without bash
        ok 1 - returns the correct error
        ok 2 - no output
        1..2
    ok 2 - windows without bash # time=3431.891ms
    
    1..2
    # time=41502.674ms
ok 18 - test/lib/commands/completion.js # time=41502.674ms

# Subtest: test/lib/commands/config.js
    # Subtest: config no args
        ok 1 - rejects with usage
        1..1
    ok 1 - config no args # time=15318.469ms
    
    # Subtest: config ignores workspaces
        ok 1 - rejects with usage
        1..1
    ok 2 - config ignores workspaces # time=1821.786ms
    
    # Subtest: config list
        ok 1 - output matches snapshot
        1..1
    ok 3 - config list # time=2187.971ms
    
    # Subtest: config list --long
        ok 1 - output matches snapshot
        1..1
    ok 4 - config list --long # time=2035.508ms
    
    # Subtest: config list --json
        ok 1 - output matches snapshot
        1..1
    ok 5 - config list --json # time=2120.904ms
    
    # Subtest: config list with publishConfig
        ok 1 - output matches snapshot
        1..1
    ok 6 - config list with publishConfig # time=3484.073ms
    
    # Subtest: config delete no args
        ok 1 - rejects with usage
        1..1
    ok 7 - config delete no args # time=1744.184ms
    
    # Subtest: config delete single key
        ok 1 - acces should be defaulted
        ok 2 - should not be equal
        1..2
    ok 8 - config delete single key # time=1797.659ms
    
    # Subtest: config delete multiple keys
        ok 1 - access should be defaulted
        ok 2 - all should be defaulted
        ok 3 - should not be equal
        ok 4 - should not be equal
        1..4
    ok 9 - config delete multiple keys # time=1829.798ms
    
    # Subtest: config delete key --location=global
        ok 1 - access should be defaulted
        ok 2 - should not be equal
        1..2
    ok 10 - config delete key --location=global # time=1888.056ms
    
    # Subtest: config delete key --global
        ok 1 - access should no longer be set
        ok 2 - should not be equal
        1..2
    ok 11 - config delete key --global # time=1756.034ms
    
    # Subtest: config set invalid option
        ok 1 - expect rejected Promise
        1..1
    ok 12 - config set invalid option # time=1826.296ms
    
    # Subtest: config set deprecated option
        ok 1 - expect rejected Promise
        1..1
    ok 13 - config set deprecated option # time=1668.231ms
    
    # Subtest: config set nerf-darted option
        ok 1 - nerf-darted config is set
        1..1
    ok 14 - config set nerf-darted option # time=1684.038ms
    
    # Subtest: config set scoped optoin
        ok 1 - scoped config is set
        1..1
    ok 15 - config set scoped optoin # time=1821.801ms
    
    # Subtest: config set no args
        ok 1 - rejects with usage
        1..1
    ok 16 - config set no args # time=2725.485ms
    
    # Subtest: config set key
        ok 1 - set the value for access
        ok 2 - removed empty config
        1..2
    ok 17 - config set key # time=1728.142ms
    
    # Subtest: config set key value
        ok 1 - set the value for access
        ok 2 - access is set to restricted
        1..2
    ok 18 - config set key value # time=1752.293ms
    
    # Subtest: config set key=value
        ok 1 - set the value for access
        ok 2 - access is set to restricted
        1..2
    ok 19 - config set key=value # time=1706.149ms
    
    # Subtest: config set key1 value1 key2=value2 key3
        ok 1 - access was set
        ok 2 - all was set
        ok 3 - audit was unset and restored to its default
        ok 4 - access is set to restricted
        ok 5 - all is set to false
        ok 6 - should not be equal
        1..6
    ok 20 - config set key1 value1 key2=value2 key3 # time=1800.223ms
    
    # Subtest: config set invalid key logs warning
        ok 1 - logged warning
        1..1
    ok 21 - config set invalid key logs warning # time=2143.299ms
    
    # Subtest: config set key=value --location=global
        ok 1 - foo should be set
        ok 2 - access is set to restricted
        1..2
    ok 22 - config set key=value --location=global # time=1584.362ms
    
    # Subtest: config set key=value --global
        ok 1 - access should be set
        ok 2 - access is set to restricted
        1..2
    ok 23 - config set key=value --global # time=1523.067ms
    
    # Subtest: config get no args
        ok 1 - get with no args outputs list
        1..1
    ok 24 - config get no args # time=3347.395ms
    
    # Subtest: config get single key
        ok 1 - should get the value
        1..1
    ok 25 - config get single key # time=1656.596ms
    
    # Subtest: config get multiple keys
        ok 1 - outputs yes
        ok 2 - outputs all
        1..2
    ok 26 - config get multiple keys # time=1714.32ms
    
    # Subtest: config get private key
        ok 1 - rejects with protected string
        ok 2 - rejects with protected string
        1..2
    ok 27 - config get private key # time=3411.563ms
    
    # Subtest: config edit
        ok 1 - editor was spawned
        ok 2 - editor opened the user config file
        ok 3 - kept foo
        ok 4 - kept bar
        ok 5 - appends defaults to file
        1..5
    ok 28 - config edit # time=1724.221ms
    
    # Subtest: config edit - editor exits non-0
        ok 1 - rejects with error about editor code
        ok 2 - editor was spawned
        ok 3 - editor opened the user config file
        1..3
    ok 29 - config edit - editor exits non-0 # time=1797.594ms
    
    # Subtest: config fix
        # Subtest: no problems
            ok 1 - printed nothing
            1..1
        ok 1 - no problems # time=1741.404ms
        
        # Subtest: repairs all configs by default
            ok 1 - output has deleted global _authtoken
            ok 2 - output has renamed global _authToken
            ok 3 - should not be equal
            ok 4 - should not be equal
            ok 5 - global _authToken was scoped
            ok 6 - global config was written
            ok 7 - output has deleted user _authtoken
            ok 8 - output has renamed user _auth
            ok 9 - should not be equal
            ok 10 - should not be equal
            ok 11 - user _auth was scoped
            ok 12 - user config was written
            1..12
        ok 2 - repairs all configs by default # time=1831.245ms
        
        # Subtest: repairs only the config specified by --location if asked
            ok 1 - output has deleted global _authtoken
            ok 2 - output has renamed global _authToken
            ok 3 - global _authtoken untouched
            ok 4 - global _authToken untouched
            ok 5 - should not be equal
            ok 6 - global config was not written
            ok 7 - output has deleted user _authtoken
            ok 8 - output has renamed user _auth
            ok 9 - should not be equal
            ok 10 - should not be equal
            ok 11 - user _auth was scoped
            ok 12 - user config was written
            1..12
        ok 3 - repairs only the config specified by --location if asked # time=1785.834ms
        
        1..3
    ok 30 - config fix # time=5634.481ms
    
    # Subtest: completion
        ok 1 - should match pattern provided
        ok 2 - set foo
        ok 3 - get
        ok 4 - set
        ok 5 - delete
        ok 6 - rm
        ok 7 - edit
        ok 8 - fix
        ok 9 - list
        ok 10 - ls
        ok 11 - also works for just npm get
        ok 12 - and works on partials
        1..12
    ok 31 - completion # time=22552.994ms
    
    1..31
    # time=103067.991ms
ok 19 - test/lib/commands/config.js # time=103067.991ms

# Subtest: test/lib/commands/dedupe.js
    # Subtest: should throw in global mode
        ok 1 - throws EDEDUPEGLOBALE
        1..1
    ok 1 - should throw in global mode # time=4988.537ms
    
    # Subtest: dedupe
        ok 1 - should match pattern provided
        ok 2 - test-sub was hoisted
        ok 3 - test-dep-a/test-sub was removed
        ok 4 - test-dep-b/test-sub was removed
        1..4
    ok 2 - dedupe # time=6126.722ms
    
    1..2
    # time=11488.744ms
ok 20 - test/lib/commands/dedupe.js # time=11488.744ms

# Subtest: test/lib/commands/deprecate.js
    # Subtest: completion
        ok 1 - completion: fo
        ok 2 - completion: g
        ok 3 - completion:
        ok 4 - completion: b
        ok 5 - completion: foo,something
        ok 6 - expect rejected Promise
        1..6
    ok 1 - completion # time=5587.303ms
    
    # Subtest: no args
        ok 1 - logs usage
        1..1
    ok 2 - no args # time=3062.468ms
    
    # Subtest: only one arg
        ok 1 - logs usage
        1..1
    ok 3 - only one arg # time=2395.886ms
    
    # Subtest: invalid semver range
        ok 1 - logs semver error
        1..1
    ok 4 - invalid semver range # time=2238.309ms
    
    # Subtest: undeprecate
        ok 1 - should match pattern provided
        1..1
    ok 5 - undeprecate # time=2548.298ms
    
    # Subtest: deprecates given range
        ok 1 - should match pattern provided
        1..1
    ok 6 - deprecates given range # time=2110.992ms
    
    # Subtest: deprecates all versions when no range is specified
        ok 1 - should match pattern provided
        1..1
    ok 7 - deprecates all versions when no range is specified # time=2215.245ms
    
    # Subtest: does nothing if version does not actually exist
        ok 1 - should match pattern provided
        1..1
    ok 8 - does nothing if version does not actually exist # time=2271.008ms
    
    1..8
    # time=23377.177ms
ok 21 - test/lib/commands/deprecate.js # time=23377.177ms

# Subtest: test/lib/commands/diff.js
    # Subtest: no args
        # Subtest: in a project dir
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - should match pattern provided
            ok 5 - should match pattern provided
            ok 6 - should match pattern provided
            ok 7 - should match pattern provided
            ok 8 - should match pattern provided
            ok 9 - must match snapshot
            1..9
        ok 1 - in a project dir # time=9516.842ms
        
        # Subtest: no args, missing package.json name in cwd
            ok 1 - expect rejected Promise
            1..1
        ok 2 - no args, missing package.json name in cwd # time=2797.739ms
        
        # Subtest: no args, bad package.json in cwd
            ok 1 - expect rejected Promise
            1..1
        ok 3 - no args, bad package.json in cwd # time=2224.886ms
        
        1..3
    ok 1 - no args # time=15097.038ms
    
    # Subtest: single arg
        # Subtest: spec using cwd package name
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - should match pattern provided
            ok 5 - should match pattern provided
            ok 6 - should match pattern provided
            ok 7 - should match pattern provided
            ok 8 - should match pattern provided
            1..8
        ok 1 - spec using cwd package name # time=4714.449ms
        
        # Subtest: unknown spec, no package.json
            ok 1 - expect rejected Promise
            1..1
        ok 2 - unknown spec, no package.json # time=2062.409ms
        
        # Subtest: spec using semver range
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - should match pattern provided
            ok 5 - should match pattern provided
            ok 6 - should match pattern provided
            ok 7 - should match pattern provided
            ok 8 - should match pattern provided
            1..8
        ok 3 - spec using semver range # time=4442.25ms
        
        # Subtest: version
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - should match pattern provided
            ok 5 - should match pattern provided
            ok 6 - should match pattern provided
            ok 7 - should match pattern provided
            ok 8 - should match pattern provided
            1..8
        ok 4 - version # time=2604.029ms
        
        # Subtest: version, no package.json
            ok 1 - expect rejected Promise
            1..1
        ok 5 - version, no package.json # time=2146.769ms
        
        # Subtest: version, filtering by files
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - should match pattern provided
            ok 5 - must match snapshot
            1..5
        ok 6 - version, filtering by files # time=2502.682ms
        
        # Subtest: spec is not a dep
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            1..2
        ok 7 - spec is not a dep # time=2667.65ms
        
        # Subtest: unknown package name
            ok 1 - expect rejected Promise
            1..1
        ok 8 - unknown package name # time=1970.066ms
        
        # Subtest: unknown package name, no package.json
            ok 1 - expect rejected Promise
            1..1
        ok 9 - unknown package name, no package.json # time=1925.842ms
        
        # Subtest: transform single direct dep name into spec comparison
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            1..2
        ok 10 - transform single direct dep name into spec comparison # time=2394.237ms
        
        # Subtest: global space, transform single direct dep name
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 11 - global space, transform single direct dep name # time=2307.78ms
        
        # Subtest: transform single spec into spec comparison
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 12 - transform single spec into spec comparison # time=2208.209ms
        
        # Subtest: transform single spec from transitive deps
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 13 - transform single spec from transitive deps # time=2687.672ms
        
        # Subtest: missing actual tree
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 14 - missing actual tree # time=2737.123ms
        
        # Subtest: unknown package name
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 15 - unknown package name # time=2564.896ms
        
        # Subtest: use project name in project dir
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 16 - use project name in project dir # time=2630.896ms
        
        # Subtest: dir spec type
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 17 - dir spec type # time=2357.141ms
        
        # Subtest: unsupported spec type
            ok 1 - should throw spec type not supported error.
            1..1
        ok 18 - unsupported spec type # time=2027.408ms
        
        1..18
    ok 2 - single arg # time=49318.925ms
    
    # Subtest: first arg is a qualified spec
        # Subtest: second arg is ALSO a qualified spec
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 1 - second arg is ALSO a qualified spec # time=2847.873ms
        
        # Subtest: second arg is a known dependency name
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 2 - second arg is a known dependency name # time=2467.116ms
        
        # Subtest: second arg is a valid semver version
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 3 - second arg is a valid semver version # time=2856.739ms
        
        # Subtest: second arg is an unknown dependency name
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - should match pattern provided
            1..4
        ok 4 - second arg is an unknown dependency name # time=2785.396ms
        
        1..4
    ok 3 - first arg is a qualified spec # time=11460.471ms
    
    # Subtest: first arg is a known dependency name
        # Subtest: second arg is a qualified spec
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 1 - second arg is a qualified spec # time=3599.368ms
        
        # Subtest: second arg is ALSO a known dependency
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            1..2
        ok 2 - second arg is ALSO a known dependency # time=1796.366ms
        
        # Subtest: second arg is a valid semver version
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 3 - second arg is a valid semver version # time=2586.83ms
        
        # Subtest: second arg is an unknown dependency name
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            1..2
        ok 4 - second arg is an unknown dependency name # time=2528.962ms
        
        1..4
    ok 4 - first arg is a known dependency name # time=10969.748ms
    
    # Subtest: first arg is a valid semver range
        # Subtest: second arg is a qualified spec
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 1 - second arg is a qualified spec # time=2676.116ms
        
        # Subtest: second arg is a known dependency
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 2 - second arg is a known dependency # time=2697.547ms
        
        # Subtest: second arg is ALSO a semver version
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 3 - second arg is ALSO a semver version # time=2532.638ms
        
        # Subtest: second arg is ALSO a semver version BUT cwd not a project dir
            ok 1 - should throw two versions need project dir error usage msg
            1..1
        ok 4 - second arg is ALSO a semver version BUT cwd not a project dir # time=1930.096ms
        
        # Subtest: second arg is an unknown dependency name
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 5 - second arg is an unknown dependency name # time=2382.631ms
        
        # Subtest: second arg is a qualified spec, missing actual tree
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 6 - second arg is a qualified spec, missing actual tree # time=2697.03ms
        
        1..6
    ok 5 - first arg is a valid semver range # time=15879.177ms
    
    # Subtest: first arg is an unknown dependency name
        # Subtest: second arg is a qualified spec
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 1 - second arg is a qualified spec # time=2435.752ms
        
        # Subtest: second arg is a known dependency
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            1..2
        ok 2 - second arg is a known dependency # time=2163.71ms
        
        # Subtest: second arg is a valid semver version
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            1..3
        ok 3 - second arg is a valid semver version # time=2627.164ms
        
        # Subtest: second arg is ALSO an unknown dependency name
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            1..2
        ok 4 - second arg is ALSO an unknown dependency name # time=2471.993ms
        
        # Subtest: cwd not a project dir
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            1..2
        ok 5 - cwd not a project dir # time=3749.467ms
        
        1..5
    ok 6 - first arg is an unknown dependency name # time=14224.889ms
    
    # Subtest: various options
        # Subtest: using --name-only option
            ok 1 - must match snapshot
            1..1
        ok 1 - using --name-only option # time=2464.865ms
        
        # Subtest: using diff option
            ok 1 - must match snapshot
            1..1
        ok 2 - using diff option # time=2822.888ms
        
        1..2
    ok 7 - various options # time=5612.094ms
    
    # Subtest: too many args
        ok 1 - should throw usage error
        1..1
    ok 8 - too many args # time=1884.265ms
    
    # Subtest: workspaces
        # Subtest: all workspaces
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - should match pattern provided
            ok 5 - should match pattern provided
            ok 6 - should match pattern provided
            ok 7 - should match pattern provided
            ok 8 - should match pattern provided
            ok 9 - should match pattern provided
            1..9
        ok 1 - all workspaces # time=4139.918ms
        
        # Subtest: one workspace
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - should not match pattern provided
            ok 5 - should not match pattern provided
            1..5
        ok 2 - one workspace # time=2506.786ms
        
        # Subtest: invalid workspace
            ok 1 - expect rejected Promise
            ok 2 - expect rejected Promise
            1..2
        ok 3 - invalid workspace # time=2063.043ms
        
        1..3
    ok 9 - workspaces # time=9135.998ms
    
    1..9
    # time=133699.762ms
ok 22 - test/lib/commands/diff.js # time=133699.762ms

# Subtest: test/lib/commands/dist-tag.js
    # Subtest: ls in current package
        ok 1 - should list available tags for current package
        1..1
    ok 1 - ls in current package # time=7388.251ms
    
    # Subtest: ls global
        ok 1 - should throw basic usage
        1..1
    ok 2 - ls global # time=3121.942ms
    
    # Subtest: no args in current package
        ok 1 - should default to listing available tags for current package
        1..1
    ok 3 - no args in current package # time=1995.774ms
    
    # Subtest: borked cmd usage
        ok 1 - should show usage error
        1..1
    ok 4 - borked cmd usage # time=2272.98ms
    
    # Subtest: ls on named package
        ok 1 - should list tags for the specified package
        1..1
    ok 5 - ls on named package # time=2013.466ms
    
    # Subtest: ls on missing package
        ok 1 - Modify package distribution tags  Usage: npm dist-tag add <package-spec (with version)> [<tag>] npm dist-tag rm <package-spec> <tag> npm dist-tag ls [<package-spec>]  Options: [-w|--workspace <workspace-name> [-w|--workspace <workspace-name> ...]] [-ws|--workspaces] [--include-workspace-root]  alias: dist-tags  Run "npm help dist-tag" for more info
        ok 2 - should log no dist-tag found msg
        1..2
    ok 6 - ls on missing package # time=1970.292ms
    
    # Subtest: ls on missing name in current package
        ok 1 - should throw usage error message
        1..1
    ok 7 - ls on missing name in current package # time=1964.304ms
    
    # Subtest: only named package arg
        ok 1 - should default to listing tags for the specified package
        1..1
    ok 8 - only named package arg # time=2186.278ms
    
    # Subtest: workspaces
        # Subtest: no args
            ok 1 - printed the expected output
            1..1
        ok 1 - no args # time=2686.107ms
        
        # Subtest: no args, one workspace
            ok 1 - printed the expected output
            1..1
        ok 2 - no args, one workspace # time=1917.524ms
        
        # Subtest: one arg -- cwd
            ok 1 - printed the expected output
            1..1
        ok 3 - one arg -- cwd # time=2267.825ms
        
        # Subtest: one arg -- .@1, ignores version spec
            ok 1 - printed the expected output
            1..1
        ok 4 - one arg -- .@1, ignores version spec # time=2171.977ms
        
        # Subtest: one arg -- list
            ok 1 - printed the expected output
            1..1
        ok 5 - one arg -- list # time=2327.893ms
        
        # Subtest: two args -- list, cwd
            ok 1 - printed the expected output
            1..1
        ok 6 - two args -- list, cwd # time=2121.028ms
        
        # Subtest: two args -- list, .@1, ignores version spec
            ok 1 - printed the expected output
            1..1
        ok 7 - two args -- list, .@1, ignores version spec # time=1912.499ms
        
        # Subtest: two args -- list, @scoped/pkg, logs a warning and ignores workspaces
            ok 1 - logs a warning
            ok 2 - printed the expected output
            1..2
        ok 8 - two args -- list, @scoped/pkg, logs a warning and ignores workspaces # time=1854.673ms
        
        # Subtest: no args, one failing workspace sets exitCode to 1
            ok 1 - logs the error
            ok 2 - printed the expected output
            1..2
        ok 9 - no args, one failing workspace sets exitCode to 1 # time=2203.367ms
        
        1..9
    ok 9 - workspaces # time=20484.522ms
    
    # Subtest: add new tag
        ok 1 - should trigger request to add new tag
        ok 2 - should point to expected version
        ok 3 - should return success msg
        1..3
    ok 10 - add new tag # time=2143.926ms
    
    # Subtest: add using valid semver range as name
        ok 1 - should exit with semver range error
        ok 2 - should return success msg
        1..2
    ok 11 - add using valid semver range as name # time=2248.128ms
    
    # Subtest: add missing args
        ok 1 - should exit usage error message
        1..1
    ok 12 - add missing args # time=2339.214ms
    
    # Subtest: add missing pkg name
        ok 1 - should exit usage error message
        1..1
    ok 13 - add missing pkg name # time=2100.825ms
    
    # Subtest: set existing version
        ok 1 - should log warn msg
        1..1
    ok 14 - set existing version # time=1769.537ms
    
    # Subtest: remove existing tag
        ok 1 - should trigger request to remove tag
        ok 2 - should log remove info
        ok 3 - should return success msg
        1..3
    ok 15 - remove existing tag # time=1873.075ms
    
    # Subtest: remove non-existing tag
        ok 1 - should exit with error
        ok 2 - should log error msg
        1..2
    ok 16 - remove non-existing tag # time=2117.196ms
    
    # Subtest: remove missing pkg name
        ok 1 - should exit usage error message
        1..1
    ok 17 - remove missing pkg name # time=2264.908ms
    
    # Subtest: completion
        ok 1 - should list npm dist-tag commands for completion
        ok 2 - expect resolving Promise
        1..2
    ok 18 - completion # time=1700.917ms
    
    1..18
    # time=63809.089ms
ok 23 - test/lib/commands/dist-tag.js # time=63809.089ms

# Subtest: test/lib/commands/docs.js
    # Subtest: open docs urls
        # Subtest: open nodocs url
            ok 1 - opened https://www.npmjs.com/package/nodocs
            1..1
        ok 1 - open nodocs url # time=14489.711ms
        
        # Subtest: open docsurl url
            ok 1 - opened https://bugzilla.localhost/docsurl
            1..1
        ok 2 - open docsurl url # time=1660.79ms
        
        # Subtest: open repourl url
            ok 1 - opened https://github.com/foo/repourl\#readme
            1..1
        ok 3 - open repourl url # time=2194.836ms
        
        # Subtest: open repoobj url
            ok 1 - opened https://github.com/foo/repoobj\#readme
            1..1
        ok 4 - open repoobj url # time=1893.79ms
        
        # Subtest: open repourlobj url
            ok 1 - opened https://www.npmjs.com/package/repourlobj
            1..1
        ok 5 - open repourlobj url # time=2246.824ms
        
        # Subtest: open . url
            ok 1 - opened https://example.com
            1..1
        ok 6 - open . url # time=1812.122ms
        
        1..6
    ok 1 - open docs urls # time=25094.268ms
    
    # Subtest: open default package if none specified
        ok 1 - opened expected url
        1..1
    ok 2 - open default package if none specified # time=1731.547ms
    
    # Subtest: workspaces
        # Subtest: all workspaces
            ok 1 - opened two valid docs urls
            1..1
        ok 1 - all workspaces # time=2267.311ms
        
        # Subtest: one workspace
            ok 1 - opened one requested docs urls
            1..1
        ok 2 - one workspace # time=1870.931ms
        
        # Subtest: invalid workspace
            ok 1 - expect rejected Promise
            ok 2 - expect rejected Promise
            ok 3 - opened no docs urls
            1..3
        ok 3 - invalid workspace # time=2665.206ms
        
        1..3
    ok 3 - workspaces # time=7153.37ms
    
    1..3
    # time=34161.499ms
ok 24 - test/lib/commands/docs.js # time=34161.499ms

# Subtest: test/lib/commands/doctor.js
    # Subtest: all clear
        ok 1 - output
        ok 2 - logs
        1..2
    ok 1 - all clear # time=18439.636ms
    
    # Subtest: all clear in color
        ok 1 - everything is ok in color
        ok 2 - logs
        1..2
    ok 2 - all clear in color # time=2853.73ms
    
    # Subtest: silent success
        ok 1 - output
        ok 2 - logs
        1..2
    ok 3 - silent success # time=3017.252ms
    
    # Subtest: silent errors
        ok 1 - expect rejected Promise
        ok 2 - output
        ok 3 - logs
        1..3
    ok 4 - silent errors # time=2780.441ms
    
    # Subtest: ping 404
        ok 1 - expect rejected Promise
        ok 2 - ping 404
        ok 3 - logs
        1..3
    ok 5 - ping 404 # time=2553.907ms
    
    # Subtest: ping 404 in color
        ok 1 - expect rejected Promise
        ok 2 - ping 404 in color
        ok 3 - logs
        1..3
    ok 6 - ping 404 in color # time=2923.622ms
    
    # Subtest: ping exception with code
        ok 1 - expect rejected Promise
        ok 2 - ping failure
        ok 3 - logs
        1..3
    ok 7 - ping exception with code # time=2644.551ms
    
    # Subtest: ping exception without code
        ok 1 - expect rejected Promise
        ok 2 - ping failure
        ok 3 - logs
        1..3
    ok 8 - ping exception without code # time=2585.775ms
    
    # Subtest: npm out of date
        ok 1 - expect rejected Promise
        ok 2 - npm is out of date
        ok 3 - logs
        1..3
    ok 9 - npm out of date # time=2394.502ms
    
    # Subtest: node out of date - lts
        ok 1 - expect rejected Promise
        ok 2 - node is out of date
        ok 3 - logs
        1..3
    ok 10 - node out of date - lts # time=2518.3ms
    
    # Subtest: node out of date - current
        ok 1 - expect rejected Promise
        ok 2 - node is out of date
        ok 3 - logs
        1..3
    ok 11 - node out of date - current # time=2418.693ms
    
    # Subtest: non-default registry
        ok 1 - expect rejected Promise
        ok 2 - non default registry
        ok 3 - logs
        1..3
    ok 12 - non-default registry # time=3115.034ms
    
    # Subtest: missing git
        ok 1 - expect rejected Promise
        ok 2 - missing git
        ok 3 - logs
        1..3
    ok 13 - missing git # time=2571.898ms
    
    # Subtest: windows skips permissions checks
        ok 1 - no permissions checks
        ok 2 - logs
        1..2
    ok 14 - windows skips permissions checks # time=2272.073ms
    
    # Subtest: missing global directories
        ok 1 - expect rejected Promise
        ok 2 - missing global directories
        ok 3 - logs
        1..3
    ok 15 - missing global directories # time=2687.727ms
    
    # Subtest: missing local node_modules
        ok 1 - missing local node_modules
        ok 2 - logs
        1..2
    ok 16 - missing local node_modules # time=2864.046ms
    
    # Subtest: incorrect owner
        ok 1 - expect rejected Promise
        ok 2 - incorrect owner
        ok 3 - logs
        1..3
    ok 17 - incorrect owner # time=2873.46ms
    
    # Subtest: incorrect permissions
        ok 1 - expect rejected Promise
        ok 2 - incorrect owner
        ok 3 - logs
        1..3
    ok 18 - incorrect permissions # time=2453.775ms
    
    # Subtest: error reading directory
        ok 1 - expect rejected Promise
        ok 2 - readdir error
        ok 3 - logs
        1..3
    ok 19 - error reading directory # time=2328.294ms
    
    # Subtest: cacache badContent
        ok 1 - corrupted cache content
        ok 2 - logs
        1..2
    ok 20 - cacache badContent # time=2729.054ms
    
    # Subtest: cacache reclaimedCount
        ok 1 - content garbage collected
        ok 2 - logs
        1..2
    ok 21 - cacache reclaimedCount # time=3764.103ms
    
    # Subtest: cacache missingContent
        ok 1 - missing content
        ok 2 - logs
        1..2
    ok 22 - cacache missingContent # time=2693.667ms
    
    # Subtest: bad proxy
        ok 1 - expect rejected Promise
        ok 2 - output
        ok 3 - logs
        1..3
    ok 23 - bad proxy # time=2673.743ms
    
    # Subtest: discrete checks
        # Subtest: ping
            ok 1 - output
            ok 2 - logs
            1..2
        ok 1 - ping # time=2070.438ms
        
        # Subtest: versions
            ok 1 - output
            ok 2 - logs
            1..2
        ok 2 - versions # time=2561.237ms
        
        # Subtest: registry
            ok 1 - output
            ok 2 - logs
            1..2
        ok 3 - registry # time=2093.084ms
        
        # Subtest: git
            ok 1 - output
            ok 2 - logs
            1..2
        ok 4 - git # time=1476.571ms
        
        # Subtest: permissions - not windows
            ok 1 - output
            ok 2 - logs
            1..2
        ok 5 - permissions - not windows # time=2211.957ms
        
        # Subtest: cache
            ok 1 - output
            ok 2 - logs
            1..2
        ok 6 - cache # time=1683.112ms
        
        # Subtest: permissions - windows
            ok 1 - output
            ok 2 - logs
            1..2
        ok 7 - permissions - windows # time=1679.133ms
        
        # Subtest: invalid environment
            ok 1 - expect rejected Promise
            ok 2 - output
            ok 3 - logs
            1..3
        ok 8 - invalid environment # time=2089.262ms
        
        1..8
    ok 24 - discrete checks # time=16522.492ms
    
    1..24
    # time=97719.915ms
ok 25 - test/lib/commands/doctor.js # time=97719.915ms

# Subtest: test/lib/commands/edit.js
    # Subtest: npm edit
        ok 1 - should match pattern provided
        1..1
    ok 1 - npm edit # time=20039.227ms
    
    # Subtest: rebuild failure
        ok 1 - expect rejected Promise
        1..1
    ok 2 - rebuild failure # time=2354.768ms
    
    # Subtest: editor failure
        ok 1 - expect rejected Promise
        1..1
    ok 3 - editor failure # time=2108.808ms
    
    # Subtest: npm edit editor has flags
        1..0
    ok 4 - npm edit editor has flags # time=2244.31ms
    
    # Subtest: npm edit no args
        ok 1 - throws usage error
        1..1
    ok 5 - npm edit no args # time=2433.653ms
    
    # Subtest: npm edit nonexistent package
        ok 1 - expect rejected Promise
        1..1
    ok 6 - npm edit nonexistent package # time=1875.33ms
    
    # Subtest: scoped package
        1..0
    ok 7 - scoped package # time=2543.442ms
    
    # Subtest: subdependency
        1..0
    ok 8 - subdependency # time=2254.238ms
    
    1..8
    # time=36732.931ms
ok 26 - test/lib/commands/edit.js # time=36732.931ms

sh: warning: setlocale: LC_ALL: cannot change locale (sk)
sh: warning: setlocale: LC_ALL: cannot change locale (sk)
sh: warning: setlocale: LC_ALL: cannot change locale (sk)
# Subtest: test/lib/commands/exec.js
    # Subtest: call with args
        ok 1 - expect rejected Promise
        1..1
    ok 1 - call with args # time=4748.404ms
    
    # Subtest: registry package
        ok 1 - bin ran, creating file
        1..1
    ok 2 - registry package # time=10703.555ms
    
    # Subtest: --prefix
        ok 1 - bin ran, creating file
        1..1
    ok 3 - --prefix # time=7983.599ms
    
    # Subtest: workspaces
        ok 1 - bin ran, creating file inside workspace
        1..1
    ok 4 - workspaces # time=7862.135ms
    
    # Subtest: npx --no-install @npmcli/npx-test
        ok 1 - Expected error message thrown
        1..1
    ok 5 - npx --no-install @npmcli/npx-test # time=2391.802ms
    
    1..5
    # time=35025.679ms
ok 27 - test/lib/commands/exec.js # time=35025.679ms

# Subtest: test/lib/commands/explain.js
    # Subtest: no args throws usage
        ok 1 - Explain installed packages  Usage: npm explain <package-spec>  Options: [--json] [-w|--workspace <workspace-name> [-w|--workspace <workspace-name> ...]]  alias: why  Run "npm help explain" for more info
        1..1
    ok 1 - no args throws usage # time=7027.957ms
    
    # Subtest: no match throws not found
        ok 1 - No dependencies found matching foo@1.2.3, node_modules/baz
        1..1
    ok 2 - no match throws not found # time=15670.922ms
    
    # Subtest: invalid package name throws not found
        ok 1 - No dependencies found matching  not a valid package name @1.2.3
        1..1
    ok 3 - invalid package name throws not found # time=2206.695ms
    
    # Subtest: explain some nodes
        # Subtest: works with the location
            ok 1 - should be equivalent strictly
            1..1
        ok 1 - works with the location # time=2714.904ms
        
        # Subtest: works with a full actual path
            ok 1 - should be equivalent strictly
            1..1
        ok 2 - works with a full actual path # time=2033.939ms
        
        # Subtest: finds all nodes by name
            ok 1 - should be equivalent strictly
            1..1
        ok 3 - finds all nodes by name # time=2132.54ms
        
        # Subtest: finds only nodes that match the spec
            ok 1 - should be equivalent strictly
            1..1
        ok 4 - finds only nodes that match the spec # time=3323.791ms
        
        # Subtest: finds extraneous nodes
            ok 1 - should be equivalent strictly
            1..1
        ok 5 - finds extraneous nodes # time=1983.528ms
        
        # Subtest: json output
            ok 1 - should match pattern provided
            1..1
        ok 6 - json output # time=2156.292ms
        
        # Subtest: report if no nodes found
            ok 1 - No dependencies found matching asdf/foo/bar, quux@1.x
            1..1
        ok 7 - report if no nodes found # time=2014.02ms
        
        1..7
    ok 4 - explain some nodes # time=17113.485ms
    
    # Subtest: workspaces
        # Subtest: should explain workspaces deps
            ok 1 - should be equivalent strictly
            1..1
        ok 1 - should explain workspaces deps # time=2484.513ms
        
        # Subtest: should explain deps when filtering to a single ws
            ok 1 - should be equivalent strictly
            1..1
        ok 2 - should explain deps when filtering to a single ws # time=2057.25ms
        
        # Subtest: should explain deps of workspaces only
            ok 1 - should be equivalent strictly
            1..1
        ok 3 - should explain deps of workspaces only # time=1945.825ms
        
        # Subtest: should throw usage if dep not found within filtered ws
            ok 1 - No dependencies found matching abbrev
            1..1
        ok 4 - should throw usage if dep not found within filtered ws # time=2035.114ms
        
        # Subtest: workspaces disabled
            ok 1 - should throw usage if dep not found when excluding ws
            1..1
        ok 5 - workspaces disabled # time=2114.458ms
        
        1..5
    ok 5 - workspaces # time=11332.993ms
    
    1..5
    # time=53987.989ms
ok 28 - test/lib/commands/explain.js # time=53987.989ms

# Subtest: test/lib/commands/explore.js
    # Subtest: basic interactive
        ok 1 - expect truthy value
        ok 2 - should be equivalent strictly
        ok 3 - should match pattern provided
        1..3
    ok 1 - basic interactive # time=4132.888ms
    
    # Subtest: interactive tracks exit code
        # Subtest: code
            ok 1 - expect truthy value
            ok 2 - should be equivalent strictly
            ok 3 - should match pattern provided
            ok 4 - should be equal
            1..4
        ok 1 - code # time=1986.461ms
        
        # Subtest: spawn fail
            ok 1 - expect rejected Promise
            ok 2 - should be equal
            1..2
        ok 2 - spawn fail # time=1984.122ms
        
        # Subtest: spawn fail, 0 exit code
            ok 1 - expect rejected Promise
            ok 2 - should be equal
            1..2
        ok 3 - spawn fail, 0 exit code # time=2411.222ms
        
        # Subtest: spawn fail, no exit code
            ok 1 - expect rejected Promise
            ok 2 - should be equal
            1..2
        ok 4 - spawn fail, no exit code # time=2177.03ms
        
        1..4
    ok 2 - interactive tracks exit code # time=8999.088ms
    
    # Subtest: basic non-interactive
        ok 1 - expect truthy value
        ok 2 - should be equivalent strictly
        ok 3 - should be equivalent strictly
        1..3
    ok 3 - basic non-interactive # time=2175.261ms
    
    # Subtest: signal fails non-interactive
        ok 1 - expect rejected Promise
        1..1
    ok 4 - signal fails non-interactive # time=1849.783ms
    
    # Subtest: usage if no pkg provided
        # Subtest: []
            ok 1 - Usage:
            1..1
        ok 1 - [] # time=2676.579ms
        
        # Subtest: ["foo/../.."]
            ok 1 - Usage:
            1..1
        ok 2 - ["foo/../.."] # time=2353.022ms
        
        # Subtest: ["asdf/.."]
            ok 1 - Usage:
            1..1
        ok 3 - ["asdf/.."] # time=2059.666ms
        
        # Subtest: ["."]
            ok 1 - Usage:
            1..1
        ok 4 - ["."] # time=1866.195ms
        
        # Subtest: [".."]
            ok 1 - Usage:
            1..1
        ok 5 - [".."] # time=1908.179ms
        
        # Subtest: ["../.."]
            ok 1 - Usage:
            1..1
        ok 6 - ["../.."] # time=1803.557ms
        
        1..6
    ok 5 - usage if no pkg provided # time=13407.684ms
    
    # Subtest: pkg not installed
        ok 1 - expect rejected Promise
        1..1
    ok 6 - pkg not installed # time=1500.886ms
    
    1..6
    # time=32584.827ms
ok 29 - test/lib/commands/explore.js # time=32584.827ms

# Subtest: test/lib/commands/find-dupes.js
    # Subtest: should run dedupe in dryRun mode
        ok 1 - should match pattern provided
        ok 2 - test-sub was not hoisted
        ok 3 - test-dep-a/test-sub was not removed
        ok 4 - test-dep-b/test-sub was not removed
        1..4
    ok 1 - should run dedupe in dryRun mode # time=6174.374ms
    
    1..1
    # time=6439.079ms
ok 30 - test/lib/commands/find-dupes.js # time=6439.079ms

# Subtest: test/lib/commands/fund.js
    # Subtest: fund with no package containing funding
        ok 1 - should print empty funding info
        1..1
    ok 1 - fund with no package containing funding # time=21510.09ms
    
    # Subtest: fund in which same maintainer owns all its deps
        ok 1 - should print stack packages together
        1..1
    ok 2 - fund in which same maintainer owns all its deps # time=2924.834ms
    
    # Subtest: fund in which same maintainer owns all its deps, using --json option
        ok 1 - should print stack packages together
        1..1
    ok 3 - fund in which same maintainer owns all its deps, using --json option # time=2376.892ms
    
    # Subtest: fund containing multi-level nested deps with no funding
        ok 1 - should omit dependencies with no funding declared
        1..1
    ok 4 - fund containing multi-level nested deps with no funding # time=2141.153ms
    
    # Subtest: fund containing multi-level nested deps with no funding, using --json option
        ok 1 - should omit dependencies with no funding declared in json output
        1..1
    ok 5 - fund containing multi-level nested deps with no funding, using --json option # time=2186.209ms
    
    # Subtest: fund containing multi-level nested deps with no funding, using --json option
        ok 1 - should list multiple funding entries in json output
        1..1
    ok 6 - fund containing multi-level nested deps with no funding, using --json option # time=1981.594ms
    
    # Subtest: fund does not support global
        ok 1 - should throw EFUNDGLOBAL error
        1..1
    ok 7 - fund does not support global # time=3683.556ms
    
    # Subtest: fund using package argument
        ok 1 - should be equal
        ok 2 - should open funding url
        1..2
    ok 8 - fund using package argument # time=2102.898ms
    
    # Subtest: fund does not support global, using --json option
        ok 1 - should use expected error msg
        1..1
    ok 9 - fund does not support global, using --json option # time=2432.628ms
    
    # Subtest: fund using string shorthand
        ok 1 - should open string-only url
        1..1
    ok 10 - fund using string shorthand # time=1856.077ms
    
    # Subtest: fund using nested packages with multiple sources
        ok 1 - should prompt with all available URLs
        1..1
    ok 11 - fund using nested packages with multiple sources # time=2029.444ms
    
    # Subtest: fund using symlink ref
        ok 1 - should retrieve funding url from symlink
        ok 2 - should retrieve funding url from symlink target
        1..2
    ok 12 - fund using symlink ref # time=2428.494ms
    
    # Subtest: fund using data from actual tree
        ok 1 - should retrieve fund info from actual tree, using greatest version found
        1..1
    ok 13 - fund using data from actual tree # time=1779.816ms
    
    # Subtest: fund using nested packages with multiple sources, with a source number
        ok 1 - should open the numbered URL
        1..1
    ok 14 - fund using nested packages with multiple sources, with a source number # time=2107.34ms
    
    # Subtest: fund using pkg name while having conflicting versions
        ok 1 - should open greatest version
        1..1
    ok 15 - fund using pkg name while having conflicting versions # time=1895.747ms
    
    # Subtest: fund using bad which value: index too high
        ok 1 - should match pattern provided
        ok 2 - should print message about invalid which
        1..2
    ok 16 - fund using bad which value: index too high # time=1778.013ms
    
    # Subtest: fund using package argument with no browser, using --json option
        ok 1 - no output
        ok 2 - should open funding url using json output
        1..2
    ok 17 - fund using package argument with no browser, using --json option # time=1989.329ms
    
    # Subtest: fund using package info fetch from registry
        ok 1 - should open funding url that was loaded from registry manifest
        1..1
    ok 18 - fund using package info fetch from registry # time=1854.557ms
    
    # Subtest: fund tries to use package info fetch from registry but registry has nothing
        ok 1 - should have no valid funding message
        1..1
    ok 19 - fund tries to use package info fetch from registry but registry has nothing # time=2087.232ms
    
    # Subtest: fund but target module has no funding info
        ok 1 - should have no valid funding message
        1..1
    ok 20 - fund but target module has no funding info # time=2209.266ms
    
    # Subtest: fund using bad which value
        ok 1 - should have bad which option error message
        1..1
    ok 21 - fund using bad which value # time=2662.861ms
    
    # Subtest: fund pkg missing version number
        ok 1 - should print name only
        1..1
    ok 22 - fund pkg missing version number # time=1660.643ms
    
    # Subtest: fund a package throws on openUrl
        ok 1 - should throw unknown error
        1..1
    ok 23 - fund a package throws on openUrl # time=2015.975ms
    
    # Subtest: fund a package with type and multiple sources
        ok 1 - should print prompt select message
        1..1
    ok 24 - fund a package with type and multiple sources # time=2130.66ms
    
    # Subtest: fund colors
        ok 1 - should print output with color info
        1..1
    ok 25 - fund colors # time=1962.231ms
    
    # Subtest: sub dep with fund info and a parent with no funding info
        ok 1 - should nest sub dep as child of root
        1..1
    ok 26 - sub dep with fund info and a parent with no funding info # time=1844.367ms
    
    # Subtest: workspaces
        # Subtest: filter funding info by a specific workspace name
            ok 1 - should display only filtered workspace name and its deps
            1..1
        ok 1 - filter funding info by a specific workspace name # time=2876.442ms
        
        # Subtest: filter funding info by a specific workspace path
            ok 1 - should display only filtered workspace name and its deps
            1..1
        ok 2 - filter funding info by a specific workspace path # time=2838.424ms
        
        1..2
    ok 27 - workspaces # time=5983.399ms
    
    1..27
    # time=83583.225ms
ok 31 - test/lib/commands/fund.js # time=83583.225ms

# Subtest: test/lib/commands/get.js
    # Subtest: should retrieve values from config
        ok 1 - outputs config item
        1..1
    ok 1 - should retrieve values from config # time=6161.941ms
    
    1..1
    # time=6383.601ms
ok 32 - test/lib/commands/get.js # time=6383.601ms

# Subtest: test/lib/commands/help-search.js
    # Subtest: npm help-search
        ok 1 - outputs results
        1..1
    ok 1 - npm help-search # time=6514.496ms
    
    # Subtest: npm help-search multiple terms
        ok 1 - outputs results
        ok 2 - shows hit counts for both terms
        1..2
    ok 2 - npm help-search multiple terms # time=2069.674ms
    
    # Subtest: npm help-search long output
        ok 1 - outputs detailed results
        1..1
    ok 3 - npm help-search long output # time=2082.287ms
    
    # Subtest: npm help-search long output with color
        ok 1 - returned highlighted search terms
        1..1
    ok 4 - npm help-search long output with color # time=2385.232ms
    
    # Subtest: npm help-search no args
        ok 1 - outputs usage
        1..1
    ok 5 - npm help-search no args # time=2833.064ms
    
    # Subtest: npm help-search no matches
        ok 1 - should match pattern provided
        1..1
    ok 6 - npm help-search no matches # time=2405.322ms
    
    1..6
    # time=18993.538ms
ok 33 - test/lib/commands/help-search.js # time=18993.538ms

# Subtest: test/lib/commands/help.js
    # Subtest: npm help
        ok 1 - showed npm usage
        1..1
    ok 1 - npm help # time=6689.889ms
    
    # Subtest: npm help completion
        ok 1 - outputs available help pages
        ok 2 - outputs no results when more than 2 args are provided
        1..2
    ok 2 - npm help completion # time=1951.383ms
    
    # Subtest: npm help multiple args calls search
        ok 1 - calls help-search
        1..1
    ok 3 - npm help multiple args calls search # time=2285.686ms
    
    # Subtest: npm help no matches calls search
        ok 1 - passed the args to help-search
        1..1
    ok 4 - npm help no matches calls search # time=2184.614ms
    
    # Subtest: npm help whoami
        ok 1 - calls man by default
        ok 2 - should be equal
        ok 3 - should match pattern provided
        1..3
    ok 5 - npm help whoami # time=2106.074ms
    
    # Subtest: npm help 1 install
        ok 1 - attempts to open the correct url
        ok 2 - opens with the correct uri schema
        1..2
    ok 6 - npm help 1 install # time=2493.338ms
    
    # Subtest: npm help 5 install
        ok 1 - attempts to open the correct url
        1..1
    ok 7 - npm help 5 install # time=2042.993ms
    
    # Subtest: npm help 7 config
        ok 1 - attempts to open the correct url
        1..1
    ok 8 - npm help 7 config # time=1995.982ms
    
    # Subtest: npm help package.json redirects to package-json
        ok 1 - calls man by default
        ok 2 - should be equal
        ok 3 - should match pattern provided
        1..3
    ok 9 - npm help package.json redirects to package-json # time=1852.808ms
    
    # Subtest: npm help ?(un)star
        ok 1 - maps woman to emacs correctly
        ok 2 - should be equal
        ok 3 - should match pattern provided
        ok 4 - should match pattern provided
        1..4
    ok 10 - npm help ?(un)star # time=1889.869ms
    
    # Subtest: npm help un*
        ok 1 - calls man by default
        ok 2 - should be equal
        ok 3 - should match pattern provided
        1..3
    ok 11 - npm help un* # time=2016.703ms
    
    # Subtest: npm help - prefers lowest numbered npm prefixed help pages
        ok 1 - calls man by default
        ok 2 - should be equal
        ok 3 - should match pattern provided
        1..3
    ok 12 - npm help - prefers lowest numbered npm prefixed help pages # time=1850.984ms
    
    # Subtest: npm help - works in the presence of strange man pages
        ok 1 - calls man by default
        ok 2 - should be equal
        ok 3 - should match pattern provided
        1..3
    ok 13 - npm help - works in the presence of strange man pages # time=2081.453ms
    
    # Subtest: rejects with code
        ok 1 - expect rejected Promise
        1..1
    ok 14 - rejects with code # time=2206.618ms
    
    # Subtest: rejects with no code
        ok 1 - expect rejected Promise
        1..1
    ok 15 - rejects with no code # time=1783.393ms
    
    1..15
    # time=37325.692ms
ok 34 - test/lib/commands/help.js # time=37325.692ms

# Subtest: test/lib/commands/hook.js
    # Subtest: npm hook no args
        ok 1 - throws usage with no arguments
        1..1
    ok 1 - npm hook no args # time=8166.728ms
    
    # Subtest: npm hook add
        ok 1 - provided the correct arguments to libnpmhook
        ok 2 - prints the correct output
        1..2
    ok 2 - npm hook add # time=1845.237ms
    
    # Subtest: npm hook add - correct owner hook output
        ok 1 - provided the correct arguments to libnpmhook
        ok 2 - prints the correct output
        1..2
    ok 3 - npm hook add - correct owner hook output # time=2146.851ms
    
    # Subtest: npm hook add - correct scope hook output
        ok 1 - provided the correct arguments to libnpmhook
        ok 2 - prints the correct output
        1..2
    ok 4 - npm hook add - correct scope hook output # time=2126.179ms
    
    # Subtest: npm hook add - unicode output
        ok 1 - provided the correct arguments to libnpmhook
        ok 2 - prints the correct output
        1..2
    ok 5 - npm hook add - unicode output # time=1909.965ms
    
    # Subtest: npm hook add - json output
        ok 1 - provided the correct arguments to libnpmhook
        ok 2 - prints the correct json output
        1..2
    ok 6 - npm hook add - json output # time=1749.128ms
    
    # Subtest: npm hook add - parseable output
        ok 1 - provided the correct arguments to libnpmhook
        ok 2 - prints the correct parseable output headers
        ok 3 - prints the correct parseable values
        1..3
    ok 7 - npm hook add - parseable output # time=1857.757ms
    
    # Subtest: npm hook add - silent output
        ok 1 - provided the correct arguments to libnpmhook
        ok 2 - printed no output
        1..2
    ok 8 - npm hook add - silent output # time=2184.899ms
    
    # Subtest: npm hook ls
        ok 1 - received the correct arguments
        ok 2 - prints the correct header
        ok 3 - prints package hook
        ok 4 - prints scope hook
        ok 5 - prints owner hook
        1..5
    ok 9 - npm hook ls # time=2435.028ms
    
    # Subtest: npm hook ls, no results
        ok 1 - received the correct arguments
        ok 2 - prints the correct result
        1..2
    ok 10 - npm hook ls, no results # time=1883.391ms
    
    # Subtest: npm hook ls, single result
        ok 1 - received the correct arguments
        ok 2 - prints the correct header
        ok 3 - prints package hook
        1..3
    ok 11 - npm hook ls, single result # time=1895.89ms
    
    # Subtest: npm hook ls - json output
        ok 1 - received the correct arguments
        ok 2 - prints the correct output
        1..2
    ok 12 - npm hook ls - json output # time=1913.926ms
    
    # Subtest: npm hook ls - parseable output
        ok 1 - received the correct arguments
        ok 2 - prints the correct result
        1..2
    ok 13 - npm hook ls - parseable output # time=2640.613ms
    
    # Subtest: npm hook ls - silent output
        ok 1 - received the correct arguments
        ok 2 - printed no output
        1..2
    ok 14 - npm hook ls - silent output # time=2244.549ms
    
    # Subtest: npm hook rm
        ok 1 - received the correct arguments
        ok 2 - printed the correct output
        1..2
    ok 15 - npm hook rm # time=2379.737ms
    
    # Subtest: npm hook rm - unicode output
        ok 1 - received the correct arguments
        ok 2 - printed the correct output
        1..2
    ok 16 - npm hook rm - unicode output # time=1535.17ms
    
    # Subtest: npm hook rm - silent output
        ok 1 - received the correct arguments
        ok 2 - printed no output
        1..2
    ok 17 - npm hook rm - silent output # time=1795.808ms
    
    # Subtest: npm hook rm - json output
        ok 1 - received the correct arguments
        ok 2 - printed correct output
        1..2
    ok 18 - npm hook rm - json output # time=1744.983ms
    
    # Subtest: npm hook rm - parseable output
        ok 1 - received the correct arguments
        ok 2 - printed correct output
        1..2
    ok 19 - npm hook rm - parseable output # time=1785.862ms
    
    # Subtest: npm hook update
        ok 1 - received the correct arguments
        ok 2 - printed the correct output
        1..2
    ok 20 - npm hook update # time=1709.642ms
    
    # Subtest: npm hook update - unicode
        ok 1 - received the correct arguments
        ok 2 - printed the correct output
        1..2
    ok 21 - npm hook update - unicode # time=1795.333ms
    
    # Subtest: npm hook update - json output
        ok 1 - received the correct arguments
        ok 2 - printed the correct output
        1..2
    ok 22 - npm hook update - json output # time=1630.545ms
    
    # Subtest: npm hook update - parseable output
        ok 1 - received the correct arguments
        ok 2 - printed the correct output
        1..2
    ok 23 - npm hook update - parseable output # time=1995.517ms
    
    # Subtest: npm hook update - silent output
        ok 1 - received the correct arguments
        ok 2 - printed no output
        1..2
    ok 24 - npm hook update - silent output # time=1674.978ms
    
    1..24
    # time=55638.488ms
ok 35 - test/lib/commands/hook.js # time=55638.488ms

# Subtest: test/lib/commands/init.js
    # Subtest: displays output
        ok 1 - displays helper info
        1..1
    ok 1 - displays output # time=21163.328ms
    
    # Subtest: classic npm init -y
        ok 1 - should be equal
        ok 2 - should be equal
        1..2
    ok 2 - classic npm init -y # time=3243.987ms
    
    # Subtest: classic interactive npm init
        1..1
        ok 1 - should start init package.json in expected path
    ok 3 - classic interactive npm init # time=2000ms
    
    # Subtest: npm init <arg>
        1..1
        ok 1 - should npx with listed packages
    ok 4 - npm init <arg> # time=2119.633ms
    
    # Subtest: npm init <arg> -- other-args
        1..1
        ok 1 - should npm exec with expected args
    ok 5 - npm init <arg> -- other-args # time=1832.373ms
    
    # Subtest: npm init @scope/name
        1..1
        ok 1 - should npx with scoped packages
    ok 6 - npm init @scope/name # time=1852.774ms
    
    # Subtest: npm init @scope@spec
        1..1
        ok 1 - should npx with scoped packages
    ok 7 - npm init @scope@spec # time=1854.948ms
    
    # Subtest: npm init @scope/name@spec
        1..1
        ok 1 - should npx with scoped packages
    ok 8 - npm init @scope/name@spec # time=2027.251ms
    
    # Subtest: npm init git spec
        1..1
        ok 1 - should npx with git-spec packages
    ok 9 - npm init git spec # time=1880.241ms
    
    # Subtest: npm init @scope
        1..1
        ok 1 - should npx with @scope/create pkgs
    ok 10 - npm init @scope # time=1857.363ms
    
    # Subtest: npm init tgz
        ok 1 - should throw error when using an unsupported spec
        1..1
    ok 11 - npm init tgz # time=3080.008ms
    
    # Subtest: npm init <arg>@next
        1..1
        ok 1 - should npx with something@next
    ok 12 - npm init <arg>@next # time=2183.074ms
    
    # Subtest: npm init exec error
        ok 1 - should exit with exec error
        1..1
    ok 13 - npm init exec error # time=3040.461ms
    
    # Subtest: should not rewrite flatOptions
        1..1
        ok 1 - should npx with extra args
    ok 14 - should not rewrite flatOptions # time=2233.121ms
    
    # Subtest: npm init cancel
        ok 1 - should have init title
        ok 2 - should log canceled
        1..2
    ok 15 - npm init cancel # time=2120.805ms
    
    # Subtest: npm init error
        ok 1 - should throw error
        1..1
    ok 16 - npm init error # time=2374.637ms
    
    # Subtest: workspaces
        # Subtest: no args -- yes
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should print helper info
            ok 5 - expect truthy value
            1..5
        ok 1 - no args -- yes # time=2999.449ms
        
        # Subtest: no args, existing folder
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            1..3
        ok 2 - no args, existing folder # time=2669.88ms
        
        # Subtest: fail parsing top-level package.json to set workspace
            ok 1 - expect rejected Promise
            1..1
        ok 3 - fail parsing top-level package.json to set workspace # time=2234.776ms
        
        # Subtest: missing top-level package.json when settting workspace
            ok 1 - should exit with missing package.json file error
            ok 2 - should be equal
            1..2
        ok 4 - missing top-level package.json when settting workspace # time=1932.81ms
        
        # Subtest: bad package.json when settting workspace
            ok 1 - should exit with parse file error
            ok 2 - should be equivalent strictly
            1..2
        ok 5 - bad package.json when settting workspace # time=2057.33ms
        
        # Subtest: using args - no package.json
            ok 1 - pkg workspaces did not get updated
            1..1
        ok 6 - using args - no package.json # time=1827.198ms
        
        # Subtest: init template - bad package.json
            ok 1 - should be equivalent strictly
            ok 2 - expect falsey value
            1..2
        ok 7 - init template - bad package.json # time=2884.495ms
        
        # Subtest: workspace root
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equivalent strictly
            ok 4 - should be equal
            ok 5 - should be equal
            1..5
        ok 8 - workspace root # time=2804.897ms
        
        1..8
    ok 17 - workspaces # time=20212.641ms
    
    1..17
    # time=76811.439ms
ok 36 - test/lib/commands/init.js # time=76811.439ms

# Subtest: test/lib/commands/install-ci-test.js
    # Subtest: the install-ci-test command
        # Subtest: ci and test
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should match pattern provided
            ok 4 - should match pattern provided
            1..4
        ok 1 - ci and test # time=220.846ms
        
        # Subtest: ci fails
            ok 1 - test fail
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should match pattern provided
            1..4
        ok 2 - ci fails # time=61.059ms
        
        1..2
    ok 1 - the install-ci-test command # time=406.555ms
    
    1..1
    # time=510.443ms
ok 37 - test/lib/commands/install-ci-test.js # time=510.443ms

# Subtest: test/lib/commands/install-test.js
    # Subtest: the install-test command
        # Subtest: install and test
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should match pattern provided
            ok 4 - should match pattern provided
            1..4
        ok 1 - install and test # time=293.946ms
        
        # Subtest: install fails
            ok 1 - test fail
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should match pattern provided
            1..4
        ok 2 - install fails # time=124.937ms
        
        1..2
    ok 1 - the install-test command # time=782.122ms
    
    1..1
    # time=988.093ms
ok 38 - test/lib/commands/install-test.js # time=988.093ms

# Subtest: test/lib/commands/install.js
    # Subtest: exec commands
        # Subtest: with args, dev=true
            ok 1 - Arborist gets correct args and ignores auditLevel
            ok 2 - called reify
            ok 3 - no scripts when adding dep
            1..3
        ok 1 - with args, dev=true # time=13540.932ms
        
        # Subtest: without args
            ok 1 - should match pattern provided
            ok 2 - called reify
            ok 3 - exec scripts when doing local build
            1..3
        ok 2 - without args # time=1889.493ms
        
        # Subtest: should ignore scripts with --ignore-scripts
            ok 1 - called reify
            ok 2 - no scripts when adding dep
            1..2
        ok 3 - should ignore scripts with --ignore-scripts # time=2002.996ms
        
        # Subtest: should install globally using Arborist
            ok 1 - should match pattern provided
            ok 2 - called reify
            ok 3 - no scripts when installing globally
            ok 4 - expect falsey value
            1..4
        ok 4 - should install globally using Arborist # time=2177.88ms
        
        # Subtest: should not install invalid global package name
            ok 1 - should not install invalid package name
            1..1
        ok 5 - should not install invalid global package name # time=2636.095ms
        
        # Subtest: npm i -g npm engines check success
            ok 1 - expect truthy value
            1..1
        ok 6 - npm i -g npm engines check success # time=1706.876ms
        
        # Subtest: npm i -g npm engines check failure
            ok 1 - expect rejected Promise
            1..1
        ok 7 - npm i -g npm engines check failure # time=8530.261ms
        
        # Subtest: npm i -g npm engines check failure forced override
            ok 1 - expect truthy value
            1..1
        ok 8 - npm i -g npm engines check failure forced override # time=2033.86ms
        
        # Subtest: npm i -g npm@version engines check failure
            ok 1 - expect rejected Promise
            1..1
        ok 9 - npm i -g npm@version engines check failure # time=2214.65ms
        
        1..9
    ok 1 - exec commands # time=38065.056ms
    
    # Subtest: completion
        # Subtest: completion to folder - has a match
            ok 1 - package dir match
            1..1
        ok 1 - completion to folder - has a match # time=2312.864ms
        
        # Subtest: completion to folder - invalid dir
            ok 1 - invalid dir: no matching
            1..1
        ok 2 - completion to folder - invalid dir # time=2188.528ms
        
        # Subtest: completion to folder - no matches
            ok 1 - no name match
            1..1
        ok 3 - completion to folder - no matches # time=1943.755ms
        
        # Subtest: completion to folder - match is not a package
            ok 1 - no name match
            1..1
        ok 4 - completion to folder - match is not a package # time=1860.496ms
        
        # Subtest: completion to url
            ok 1 - should be equivalent strictly
            1..1
        ok 5 - completion to url # time=1834.749ms
        
        # Subtest: no /
            ok 1 - expect falsey value
            1..1
        ok 6 - no / # time=1743.517ms
        
        # Subtest: only /
            ok 1 - should be equivalent strictly
            1..1
        ok 7 - only / # time=1913.167ms
        
        1..7
    ok 2 - completion # time=14486.945ms
    
    # Subtest: location detection and audit
        # Subtest: audit false without package.json
            ok 1 - should be equal
            ok 2 - should be equal
            1..2
        ok 1 - audit false without package.json # time=1939.082ms
        
        # Subtest: audit true with package.json
            ok 1 - should be equal
            ok 2 - should be equal
            1..2
        ok 2 - audit true with package.json # time=2174.725ms
        
        # Subtest: audit true without package.json when set
            ok 1 - should be equal
            ok 2 - should be equal
            1..2
        ok 3 - audit true without package.json when set # time=2094.13ms
        
        # Subtest: audit true in root config without package.json
            ok 1 - should be equal
            ok 2 - should be equal
            1..2
        ok 4 - audit true in root config without package.json # time=2282.195ms
        
        # Subtest: test for warning when --global & --audit
            ok 1 - should be equal
            ok 2 - should be equal
            ok 3 - should be equal
            ok 4 - should be equal
            1..4
        ok 5 - test for warning when --global & --audit # time=1830.177ms
        
        1..5
    ok 3 - location detection and audit # time=10981.932ms
    
    1..3
    # time=63641.633ms
ok 39 - test/lib/commands/install.js # time=63641.633ms

# Subtest: test/lib/commands/link.js
    # Subtest: link to globalDir when in current working dir of pkg and no args
        ok 1 - should create a global link to current pkg
        1..1
    ok 1 - link to globalDir when in current working dir of pkg and no args # time=6757.793ms
    
    # Subtest: link ws to globalDir when workspace specified and no args
        ok 1 - should create a global link to current pkg
        1..1
    ok 2 - link ws to globalDir when workspace specified and no args # time=3651.126ms
    
    # Subtest: link global linked pkg to local nm when using args
        ok 1 - should create a local symlink to global pkg
        1..1
    ok 3 - link global linked pkg to local nm when using args # time=4223.049ms
    
    # Subtest: link global linked pkg to local workspace using args
        ok 1 - should create a local symlink to global pkg
        1..1
    ok 4 - link global linked pkg to local workspace using args # time=4963.545ms
    
    # Subtest: link pkg already in global space
        ok 1 - should not save to package.json upon linking
        ok 2 - should create a local symlink to global pkg
        1..2
    ok 5 - link pkg already in global space # time=2807.259ms
    
    # Subtest: link pkg already in global space when prefix is a symlink
        ok 1 - should not save to package.json upon linking
        ok 2 - should create a local symlink to global pkg
        1..2
    ok 6 - link pkg already in global space when prefix is a symlink # time=2585.131ms
    
    # Subtest: should not prune dependencies when linking packages
        ok 1 - should not prune any extraneous dep when running npm link
        1..1
    ok 7 - should not prune dependencies when linking packages # time=2853.144ms
    
    # Subtest: completion
        ok 1 - should list all package names available in globalDir
        1..1
    ok 8 - completion # time=2111.008ms
    
    # Subtest: --global option
        ok 1 - should throw an useful error
        1..1
    ok 9 - --global option # time=2594.351ms
    
    # Subtest: hash character in working directory path
        ok 1 - should create a global link to current pkg, even within path with hash
        1..1
    ok 10 - hash character in working directory path # time=2827.531ms
    
    # Subtest: test linked installed as symlinks
        ok 1 - linked path should by symbolic link
        ok 2 - linked package should not be installed
        1..2
    ok 11 - test linked installed as symlinks # time=2536.948ms
    
    1..11
    # time=39064.047ms
ok 40 - test/lib/commands/link.js # time=39064.047ms

# Subtest: test/lib/commands/ll.js
    # Subtest: ll
        1..3
        ok 1 - should set long config value
        ok 2 - should set a truthy value
        ok 3 - should forward args
    ok 1 - ll # time=426.73ms
    
    1..1
    # time=520.138ms
ok 41 - test/lib/commands/ll.js # time=520.138ms

# Subtest: test/lib/commands/login.js
    # Subtest: usage
        ok 1 - usage has command name in it
        1..1
    ok 1 - usage # time=4448.512ms
    
    # Subtest: legacy
        # Subtest: basic login
            ok 1 - should match pattern provided
            ok 2 - should be equivalent
            ok 3 - should only have token and un-nerfed old email
            1..3
        ok 1 - basic login # time=3040.263ms
        
        # Subtest: scoped login default registry
            ok 1 - should match pattern provided
            ok 2 - should be equivalent
            ok 3 - should be equivalent
            ok 4 - should only have token and scope:registry
            1..4
        ok 2 - scoped login default registry # time=2307.117ms
        
        # Subtest: scoped login scoped registry
            ok 1 - should match pattern provided
            ok 2 - should be equivalent
            ok 3 - should be equivalent
            ok 4 - should only have token and scope:registry
            1..4
        ok 3 - scoped login scoped registry # time=3327.027ms
        
        1..3
    ok 2 - legacy # time=8952.315ms
    
    # Subtest: web
        # Subtest: basic login
            ok 1 - expect truthy value
            ok 2 - should be equivalent
            ok 3 - should be equivalent
            1..3
        ok 1 - basic login # time=2052.987ms
        
        # Subtest: server error
            ok 1 - expect rejected Promise
            1..1
        ok 2 - server error # time=2659.854ms
        
        # Subtest: fallback
            ok 1 - should match pattern provided
            ok 2 - should be equivalent
            1..2
        ok 3 - fallback # time=2063.66ms
        
        1..3
    ok 3 - web # time=7087.715ms
    
    1..3
    # time=20792.704ms
ok 42 - test/lib/commands/login.js # time=20792.704ms

# Subtest: test/lib/commands/logout.js
    # Subtest: token logout
        ok 1 - should log message with correct registry
        ok 2 - should call npm-registry-fetch with expected values
        ok 3 - should be equal
        1..3
    ok 1 - token logout # time=6039.235ms
    
    # Subtest: token scoped logout
        ok 1 - should log message with correct registry
        ok 2 - should call npm-registry-fetch with expected values
        ok 3 - should be equal
        1..3
    ok 2 - token scoped logout # time=1682.209ms
    
    # Subtest: user/pass logout
        ok 1 - should log message with correct registry
        ok 2 - should be equal
        1..2
    ok 3 - user/pass logout # time=1875.268ms
    
    # Subtest: missing credentials
        ok 1 - should throw with expected error code
        1..1
    ok 4 - missing credentials # time=2742.24ms
    
    # Subtest: ignore invalid scoped registry config
        ok 1 - should log message with correct registry
        ok 2 - should call npm-registry-fetch with expected values
        ok 3 - should be equal
        1..3
    ok 5 - ignore invalid scoped registry config # time=2421.128ms
    
    1..5
    # time=15189.647ms
ok 43 - test/lib/commands/logout.js # time=15189.647ms

# Subtest: test/lib/commands/ls.js
    # Subtest: ls
        # Subtest: no args
            ok 1 - should output tree representation of dependencies structure
            1..1
        ok 1 - no args # time=22191.888ms
        
        # Subtest: missing package.json
            ok 1 - should output tree missing name/version of top-level package
            1..1
        ok 2 - missing package.json # time=2499.947ms
        
        # Subtest: workspace and missing optional dep
            ok 1 - should omit missing optional dep
            1..1
        ok 3 - workspace and missing optional dep # time=2628.526ms
        
        # Subtest: extraneous deps
            ok 1 - should output containing problems info
            1..1
        ok 4 - extraneous deps # time=2498.428ms
        
        # Subtest: overridden dep
            ok 1 - should contain overridden outout
            1..1
        ok 5 - overridden dep # time=2484.671ms
        
        # Subtest: overridden dep w/ color
            ok 1 - should contain overridden outout
            1..1
        ok 6 - overridden dep w/ color # time=2649.071ms
        
        # Subtest: with filter arg
            ok 1 - should output tree contaning only occurrences of filtered by package and colored output
            1..1
        ok 7 - with filter arg # time=2150.253ms
        
        # Subtest: with dot filter arg
            ok 1 - should output tree contaning only occurrences of filtered by package and colored output
            1..1
        ok 8 - with dot filter arg # time=2135.261ms
        
        # Subtest: with filter arg nested dep
            ok 1 - should output tree contaning only occurrences of filtered package and its ancestors
            1..1
        ok 9 - with filter arg nested dep # time=2100.88ms
        
        # Subtest: with multiple filter args
            ok 1 - should output tree contaning only occurrences of multiple filtered packages and their ancestors
            1..1
        ok 10 - with multiple filter args # time=2023.712ms
        
        # Subtest: with missing filter arg
            ok 1 - should output tree containing no dependencies info
            ok 2 - should exit with error code 1
            1..2
        ok 11 - with missing filter arg # time=2212.308ms
        
        # Subtest: default --depth value should be 0
            ok 1 - should output tree containing only top-level dependencies
            1..1
        ok 12 - default --depth value should be 0 # time=2259.507ms
        
        # Subtest: --depth=0
            ok 1 - should output tree containing only top-level dependencies
            1..1
        ok 13 - --depth=0 # time=2037.956ms
        
        # Subtest: --depth=1
            ok 1 - should output tree containing top-level deps and their deps only
            1..1
        ok 14 - --depth=1 # time=2149.094ms
        
        # Subtest: missing/invalid/extraneous
            1..3
            ok 1 - should have error code
            ok 2 - should log missing/invalid/extraneous errors
            ok 3 - should output tree containing missing, invalid, extraneous labels
        ok 15 - missing/invalid/extraneous # time=3262.525ms
        
        # Subtest: colored output
            ok 1 - should have error code
            ok 2 - should output tree containing color info
            1..2
        ok 16 - colored output # time=2474.524ms
        
        # Subtest: --dev
            ok 1 - should output tree containing dev deps
            1..1
        ok 17 - --dev # time=1996.808ms
        
        # Subtest: --link
            ok 1 - should output tree containing linked deps
            1..1
        ok 18 - --link # time=2252.64ms
        
        # Subtest: print deduped symlinks
            ok 1 - should output tree containing linked deps
            1..1
        ok 19 - print deduped symlinks # time=2239.151ms
        
        # Subtest: --production
            ok 1 - should output tree containing production deps
            1..1
        ok 20 - --production # time=2192.478ms
        
        # Subtest: --long
            ok 1 - should output tree info with descriptions
            1..1
        ok 21 - --long # time=1997.132ms
        
        # Subtest: --long --depth=0
            ok 1 - should output tree containing top-level deps with descriptions
            1..1
        ok 22 - --long --depth=0 # time=2165.71ms
        
        # Subtest: json read problems
            ok 1 - should throw EJSONPARSE error
            ok 2 - should print empty result
            1..2
        ok 23 - json read problems # time=2179.654ms
        
        # Subtest: empty location
            ok 1 - should print empty result
            1..1
        ok 24 - empty location # time=1838.39ms
        
        # Subtest: invalid peer dep
            ok 1 - expect rejected Promise
            ok 2 - should output tree signaling mismatching peer dep in problems
            1..2
        ok 25 - invalid peer dep # time=2294.046ms
        
        # Subtest: invalid deduped dep
            ok 1 - expect rejected Promise
            ok 2 - should output tree signaling mismatching peer dep in problems
            1..2
        ok 26 - invalid deduped dep # time=3284.133ms
        
        # Subtest: deduped missing dep
            ok 1 - should list missing dep problem
            ok 2 - should output parseable signaling missing peer dep in problems
            1..2
        ok 27 - deduped missing dep # time=2215.908ms
        
        # Subtest: unmet peer dep
            ok 1 - should have missing peer-dep error msg
            ok 2 - should output tree signaling missing peer dep in problems
            1..2
        ok 28 - unmet peer dep # time=3087.865ms
        
        # Subtest: unmet optional dep
            ok 1 - should have invalid dep error msg
            ok 2 - should output tree with empty entry for missing optional deps
            1..2
        ok 29 - unmet optional dep # time=2527.993ms
        
        # Subtest: cycle deps
            ok 1 - should print tree output containing deduped ref
            1..1
        ok 30 - cycle deps # time=1890.915ms
        
        # Subtest: cycle deps with filter args
            ok 1 - should print tree output containing deduped ref
            1..1
        ok 31 - cycle deps with filter args # time=2262.424ms
        
        # Subtest: with no args dedupe entries
            ok 1 - should print tree output containing deduped ref
            1..1
        ok 32 - with no args dedupe entries # time=2189.561ms
        
        # Subtest: with no args dedupe entries and not displaying all
            ok 1 - should print tree output containing deduped ref
            1..1
        ok 33 - with no args dedupe entries and not displaying all # time=2010.711ms
        
        # Subtest: with args and dedupe entries
            ok 1 - should print tree output containing deduped ref
            1..1
        ok 34 - with args and dedupe entries # time=1857.704ms
        
        # Subtest: with args and different order of items
            ok 1 - should print tree output containing deduped ref
            1..1
        ok 35 - with args and different order of items # time=2320.249ms
        
        # Subtest: using aliases
            ok 1 - should output tree containing aliases
            1..1
        ok 36 - using aliases # time=1884.919ms
        
        # Subtest: resolved points to git ref
            ok 1 - should output tree containing git refs
            1..1
        ok 37 - resolved points to git ref # time=1837.571ms
        
        # Subtest: broken resolved field
            ok 1 - should NOT print git refs in output tree
            1..1
        ok 38 - broken resolved field # time=1847.017ms
        
        # Subtest: from and resolved properties
            ok 1 - should not be printed in tree output
            1..1
        ok 39 - from and resolved properties # time=1774.256ms
        
        # Subtest: global
            ok 1 - should print tree and not mark top-level items extraneous
            1..1
        ok 40 - global # time=1830.772ms
        
        # Subtest: filtering by child of missing dep
            ok 1 - should print tree and not duplicate child of missing items
            1..1
        ok 41 - filtering by child of missing dep # time=1976.48ms
        
        # Subtest: loading a tree containing workspaces
            # Subtest: should list workspaces properly with default configs
                ok 1 - output
                1..1
            ok 1 - should list workspaces properly with default configs # time=2665.584ms
            
            # Subtest: should not list workspaces with --no-workspaces
                ok 1 - output
                1..1
            ok 2 - should not list workspaces with --no-workspaces # time=2227.169ms
            
            # Subtest: should list --all workspaces properly
                ok 1 - output
                1..1
            ok 3 - should list --all workspaces properly # time=2122.894ms
            
            # Subtest: should list only prod deps of workspaces
                ok 1 - output
                1..1
            ok 4 - should list only prod deps of workspaces # time=2276.182ms
            
            # Subtest: should filter single workspace
                ok 1 - output
                1..1
            ok 5 - should filter single workspace # time=2925.018ms
            
            # Subtest: should filter using workspace config
                ok 1 - output
                1..1
            ok 6 - should filter using workspace config # time=2418.582ms
            
            # Subtest: should inlude root and specified workspace
                ok 1 - output
                1..1
            ok 7 - should inlude root and specified workspace # time=2808.249ms
            
            # Subtest: should filter by parent folder workspace config
                ok 1 - output
                1..1
            ok 8 - should filter by parent folder workspace config # time=2649.084ms
            
            # Subtest: should print all tree and filter by dep within only the ws subtree
                ok 1 - output
                1..1
            ok 9 - should print all tree and filter by dep within only the ws subtree # time=2462.319ms
            
            1..9
        ok 42 - loading a tree containing workspaces # time=23569.65ms
        
        # Subtest: filter pkg arg using depth option
            # Subtest: should list a in top-level only
                ok 1 - output
                1..1
            ok 1 - should list a in top-level only # time=2381.155ms
            
            # Subtest: should print empty results msg
                ok 1 - output
                1..1
            ok 2 - should print empty results msg # time=1911.907ms
            
            # Subtest: should print expected result
                ok 1 - output
                1..1
            ok 3 - should print expected result # time=2083.681ms
            
            1..3
        ok 43 - filter pkg arg using depth option # time=6717.161ms
        
        1..43
    ok 1 - ls # time=145570.414ms
    
    # Subtest: ls --parseable
        # Subtest: no args
            ok 1 - should output parseable representation of dependencies structure
            1..1
        ok 1 - no args # time=4187.898ms
        
        # Subtest: missing package.json
            ok 1 - should output parseable missing name/version of top-level package
            1..1
        ok 2 - missing package.json # time=2004.85ms
        
        # Subtest: extraneous deps
            ok 1 - should output containing problems info
            1..1
        ok 3 - extraneous deps # time=1902.481ms
        
        # Subtest: overridden dep
            ok 1 - should contain overridden outout
            1..1
        ok 4 - overridden dep # time=1943.834ms
        
        # Subtest: with filter arg
            ok 1 - should output parseable contaning only occurrences of filtered by package
            1..1
        ok 5 - with filter arg # time=1988.019ms
        
        # Subtest: with filter arg nested dep
            ok 1 - should output parseable contaning only occurrences of filtered package
            1..1
        ok 6 - with filter arg nested dep # time=1764.342ms
        
        # Subtest: with multiple filter args
            ok 1 - should output parseable contaning only occurrences of multiple filtered packages and their ancestors
            1..1
        ok 7 - with multiple filter args # time=1915.006ms
        
        # Subtest: with missing filter arg
            ok 1 - should output parseable output containing no dependencies info
            1..1
        ok 8 - with missing filter arg # time=2136.126ms
        
        # Subtest: default --depth value should be 0
            ok 1 - should output parseable output containing only top-level dependencies
            1..1
        ok 9 - default --depth value should be 0 # time=2006.404ms
        
        # Subtest: --depth=0
            ok 1 - should output tree containing only top-level dependencies
            1..1
        ok 10 - --depth=0 # time=1909.207ms
        
        # Subtest: --depth=1
            ok 1 - should output parseable containing top-level deps and their deps only
            1..1
        ok 11 - --depth=1 # time=1991.602ms
        
        # Subtest: missing/invalid/extraneous
            ok 1 - should list dep problems
            ok 2 - should output parseable containing top-level deps and their deps only
            1..2
        ok 12 - missing/invalid/extraneous # time=2343.483ms
        
        # Subtest: --dev
            ok 1 - should output tree containing dev deps
            1..1
        ok 13 - --dev # time=2058.982ms
        
        # Subtest: --link
            ok 1 - should output tree containing linked deps
            1..1
        ok 14 - --link # time=2422.749ms
        
        # Subtest: --production
            ok 1 - should output tree containing production deps
            1..1
        ok 15 - --production # time=2438.708ms
        
        # Subtest: --long
            ok 1 - should output tree info with descriptions
            1..1
        ok 16 - --long # time=2769.5ms
        
        # Subtest: --long with extraneous deps
            ok 1 - should output long parseable output with extraneous info
            1..1
        ok 17 - --long with extraneous deps # time=2028.629ms
        
        # Subtest: --long missing/invalid/extraneous
            ok 1 - should list dep problems
            ok 2 - should output parseable result containing EXTRANEOUS/INVALID labels
            1..2
        ok 18 - --long missing/invalid/extraneous # time=2724.718ms
        
        # Subtest: --long print symlink target location
            ok 1 - should output parseable results with symlink targets
            1..1
        ok 19 - --long print symlink target location # time=2214.298ms
        
        # Subtest: --long --depth=0
            ok 1 - should output tree containing top-level deps with descriptions
            1..1
        ok 20 - --long --depth=0 # time=2428.181ms
        
        # Subtest: json read problems
            ok 1 - should throw EJSONPARSE error
            ok 2 - should print empty result
            1..2
        ok 21 - json read problems # time=2206.258ms
        
        # Subtest: empty location
            ok 1 - should print empty result
            1..1
        ok 22 - empty location # time=1842.637ms
        
        # Subtest: unmet peer dep
            ok 1 - expect rejected Promise
            ok 2 - should output parseable signaling missing peer dep in problems
            1..2
        ok 23 - unmet peer dep # time=2458.86ms
        
        # Subtest: unmet optional dep
            ok 1 - should have invalid dep error msg
            ok 2 - should output parseable with empty entry for missing optional deps
            1..2
        ok 24 - unmet optional dep # time=3591.101ms
        
        # Subtest: cycle deps
            ok 1 - should print tree output omitting deduped ref
            1..1
        ok 25 - cycle deps # time=1831.401ms
        
        # Subtest: using aliases
            ok 1 - should output tree containing aliases
            1..1
        ok 26 - using aliases # time=1863.116ms
        
        # Subtest: resolved points to git ref
            ok 1 - should output tree containing git refs
            1..1
        ok 27 - resolved points to git ref # time=1687.493ms
        
        # Subtest: from and resolved properties
            ok 1 - should not be printed in tree output
            1..1
        ok 28 - from and resolved properties # time=1914.681ms
        
        # Subtest: global
            ok 1 - should print parseable output for global deps
            1..1
        ok 29 - global # time=1966.097ms
        
        1..29
    ok 2 - ls --parseable # time=67174.82ms
    
    # Subtest: ignore missing optional deps
        # Subtest: --json
            ok 1 - expect rejected Promise
            ok 2 - ls --json problems
            1..2
        ok 1 - --json # time=2496.687ms
        
        # Subtest: --parseable
            ok 1 - expect rejected Promise
            ok 2 - ls --parseable result
            1..2
        ok 2 - --parseable # time=2414.505ms
        
        # Subtest: human output
            ok 1 - expect rejected Promise
            ok 2 - ls result
            1..2
        ok 3 - human output # time=2451.79ms
        
        1..3
    ok 3 - ignore missing optional deps # time=7771.301ms
    
    # Subtest: ls --json
        # Subtest: no args
            ok 1 - should output json representation of dependencies structure
            1..1
        ok 1 - no args # time=3282.962ms
        
        # Subtest: missing package.json
            ok 1 - should output json missing name/version of top-level package
            1..1
        ok 2 - missing package.json # time=1842.057ms
        
        # Subtest: extraneous deps
            ok 1 - should output json containing problems info
            1..1
        ok 3 - extraneous deps # time=1813.307ms
        
        # Subtest: overridden dep
            ok 1 - should be equivalent
            1..1
        ok 4 - overridden dep # time=1961.878ms
        
        # Subtest: missing deps --long
            1..3
            ok 1 - should log missing dep as error
            ok 2 - should have ELSPROBLEMS error code
            ok 3 - should output json containing problems info
        ok 5 - missing deps --long # time=2235.339ms
        
        # Subtest: with filter arg
            ok 1 - should output json contaning only occurrences of filtered by package
            ok 2 - should not exit with error code 1
            1..2
        ok 6 - with filter arg # time=1854.155ms
        
        # Subtest: with filter arg nested dep
            ok 1 - should output json contaning only occurrences of filtered by package
            ok 2 - expect falsey value
            1..2
        ok 7 - with filter arg nested dep # time=1961.02ms
        
        # Subtest: with multiple filter args
            ok 1 - should output json contaning only occurrences of multiple filtered packages and their ancestors
            1..1
        ok 8 - with multiple filter args # time=1781.965ms
        
        # Subtest: with missing filter arg
            ok 1 - should output json containing no dependencies info
            ok 2 - should exit with error code 1
            1..2
        ok 9 - with missing filter arg # time=2028.932ms
        
        # Subtest: default --depth value should now be 0
            ok 1 - should output json containing only top-level dependencies
            1..1
        ok 10 - default --depth value should now be 0 # time=2237.367ms
        
        # Subtest: --depth=0
            ok 1 - should output json containing only top-level dependencies
            1..1
        ok 11 - --depth=0 # time=2262.968ms
        
        # Subtest: --depth=1
            ok 1 - should output json containing top-level deps and their deps only
            1..1
        ok 12 - --depth=1 # time=1908.003ms
        
        # Subtest: missing/invalid/extraneous
            ok 1 - should list dep problems
            ok 2 - should output json containing top-level deps and their deps only
            1..2
        ok 13 - missing/invalid/extraneous # time=2426.728ms
        
        # Subtest: --dev
            ok 1 - should output json containing dev deps
            1..1
        ok 14 - --dev # time=2051.114ms
        
        # Subtest: --link
            ok 1 - should output json containing linked deps
            1..1
        ok 15 - --link # time=1940.367ms
        
        # Subtest: --production
            ok 1 - should output json containing production deps
            1..1
        ok 16 - --production # time=2047.867ms
        
        # Subtest: from lockfile
            ok 1 - should output json containing only prod deps
            1..1
        ok 17 - from lockfile # time=1962.994ms
        
        # Subtest: --long
            ok 1 - should output long json info
            1..1
        ok 18 - --long # time=2391.658ms
        
        # Subtest: --long --depth=0
            ok 1 - should output json containing top-level deps in long format
            1..1
        ok 19 - --long --depth=0 # time=2086.206ms
        
        # Subtest: json read problems
            ok 1 - should have missin root package.json msg
            ok 2 - should print empty json result
            1..2
        ok 20 - json read problems # time=2332.795ms
        
        # Subtest: empty location
            ok 1 - should print empty json result
            1..1
        ok 21 - empty location # time=1830.029ms
        
        # Subtest: unmet peer dep
            ok 1 - Should have ELSPROBLEMS error code
            ok 2 - should output json signaling missing peer dep in problems
            1..2
        ok 22 - unmet peer dep # time=2304.077ms
        
        # Subtest: unmet optional dep
            ok 1 - should have invalid dep error msg
            ok 2 - should output json with empty entry for missing optional deps
            1..2
        ok 23 - unmet optional dep # time=2385.2ms
        
        # Subtest: cycle deps
            ok 1 - should print json output containing deduped ref
            1..1
        ok 24 - cycle deps # time=2178.202ms
        
        # Subtest: using aliases
            ok 1 - should output json containing aliases
            1..1
        ok 25 - using aliases # time=1854.45ms
        
        # Subtest: resolved points to git ref
            ok 1 - should output json containing git refs
            1..1
        ok 26 - resolved points to git ref # time=1790.446ms
        
        # Subtest: from and resolved properties
            ok 1 - should be printed in json output
            1..1
        ok 27 - from and resolved properties # time=1863.997ms
        
        # Subtest: node.name fallback if missing root package name
            ok 1 - should use node.name as key in json result obj
            1..1
        ok 28 - node.name fallback if missing root package name # time=1929.696ms
        
        # Subtest: global
            ok 1 - should print json output for global deps
            1..1
        ok 29 - global # time=3038.996ms
        
        1..29
    ok 4 - ls --json # time=63993.37ms
    
    # Subtest: show multiple invalid reasons
        ok 1 - should list dep problems
        ok 2 - ls result
        1..2
    ok 5 - show multiple invalid reasons # time=3485.096ms
    
    # Subtest: ls --package-lock-only
        # Subtest: ls --package-lock-only --json
            # Subtest: no args
                ok 1 - should output json representation of dependencies structure
                1..1
            ok 1 - no args # time=3194.737ms
            
            # Subtest: extraneous deps
                ok 1 - should output json containing no problem info
                1..1
            ok 2 - extraneous deps # time=2252.708ms
            
            # Subtest: missing deps --long
                ok 1 - should output json containing no problems info
                1..1
            ok 3 - missing deps --long # time=2033.414ms
            
            # Subtest: with filter arg
                ok 1 - should output json contaning only occurrences of filtered by package
                ok 2 - should not set exit code
                1..2
            ok 4 - with filter arg # time=1890.937ms
            
            # Subtest: with filter arg nested dep
                ok 1 - should output json contaning only occurrences of filtered by package
                1..1
            ok 5 - with filter arg nested dep # time=2110.02ms
            
            # Subtest: with multiple filter args
                ok 1 - should output json contaning only occurrences of multiple filtered packages and their ancestors
                1..1
            ok 6 - with multiple filter args # time=2041.676ms
            
            # Subtest: with missing filter arg
                ok 1 - should output json containing no dependencies info
                ok 2 - should exit with error code 1
                1..2
            ok 7 - with missing filter arg # time=1911.933ms
            
            # Subtest: default --depth value should now be 0
                ok 1 - should output json containing only top-level dependencies
                1..1
            ok 8 - default --depth value should now be 0 # time=2016.322ms
            
            # Subtest: --depth=0
                ok 1 - should output json containing only top-level dependencies
                1..1
            ok 9 - --depth=0 # time=1850.183ms
            
            # Subtest: --depth=1
                ok 1 - should output json containing top-level deps and their deps only
                1..1
            ok 10 - --depth=1 # time=2155.82ms
            
            # Subtest: missing/invalid/extraneous
                ok 1 - should list dep problems
                ok 2 - should output json containing top-level deps and their deps only
                1..2
            ok 11 - missing/invalid/extraneous # time=2653.659ms
            
            # Subtest: from lockfile
                ok 1 - should output json containing only prod deps
                1..1
            ok 12 - from lockfile # time=1894.833ms
            
            # Subtest: using aliases
                ok 1 - should output json containing aliases
                1..1
            ok 13 - using aliases # time=2156.611ms
            
            # Subtest: resolved points to git ref
                ok 1 - should output json containing git refs
                1..1
            ok 14 - resolved points to git ref # time=2222.266ms
            
            1..14
        ok 1 - ls --package-lock-only --json # time=31463.487ms
        
        1..1
    ok 6 - ls --package-lock-only # time=31540.335ms
    
    1..6
    # time=319657.639ms
ok 44 - test/lib/commands/ls.js # time=319657.639ms

# Subtest: test/lib/commands/org.js
    # Subtest: completion
        ok 1 - completion for: npm, org
        ok 2 - completion for: npm, org, ls
        ok 3 - completion for: npm, org, add
        ok 4 - completion for: npm, org, rm
        ok 5 - completion for: npm, org, set
        ok 6 - errors for unknown subcommand
        1..6
    ok 1 - completion # time=7448.315ms
    
    # Subtest: npm org - invalid subcommand
        ok 1 - Manage orgs  Usage: npm org set orgname username [developer | admin | owner] npm org rm orgname username npm org ls orgname [<username>]  Options: [--registry <registry>] [--otp <otp>] [--json] [-p|--parseable]  alias: ogr  Run "npm help org" for more info
        1..1
    ok 2 - npm org - invalid subcommand # time=2944.182ms
    
    # Subtest: npm org add
        ok 1 - received the correct arguments
        ok 2 - printed the correct output
        1..2
    ok 3 - npm org add # time=2319.053ms
    
    # Subtest: npm org add - no org
        ok 1 - returns the correct error
        1..1
    ok 4 - npm org add - no org # time=2201.433ms
    
    # Subtest: npm org add - no user
        ok 1 - returns the correct error
        1..1
    ok 5 - npm org add - no user # time=2664.135ms
    
    # Subtest: npm org add - invalid role
        ok 1 - returns the correct error
        1..1
    ok 6 - npm org add - invalid role # time=2210.416ms
    
    # Subtest: npm org add - more users
        ok 1 - received the correct arguments
        ok 2 - printed the correct output
        1..2
    ok 7 - npm org add - more users # time=1883.273ms
    
    # Subtest: npm org add - json output
        ok 1 - received the correct arguments
        ok 2 - printed the correct output
        1..2
    ok 8 - npm org add - json output # time=2204.592ms
    
    # Subtest: npm org add - parseable output
        ok 1 - received the correct arguments
        ok 2 - printed the correct output
        1..2
    ok 9 - npm org add - parseable output # time=1838.35ms
    
    # Subtest: npm org add - silent output
        ok 1 - received the correct arguments
        ok 2 - prints no output
        1..2
    ok 10 - npm org add - silent output # time=1966.584ms
    
    # Subtest: npm org rm
        ok 1 - libnpmorg.rm received the correct args
        ok 2 - libnpmorg.ls received the correct args
        ok 3 - printed the correct output
        1..3
    ok 11 - npm org rm # time=1897.174ms
    
    # Subtest: npm org rm - no org
        ok 1 - threw the correct error
        1..1
    ok 12 - npm org rm - no org # time=2247.464ms
    
    # Subtest: npm org rm - no user
        ok 1 - threw the correct error
        1..1
    ok 13 - npm org rm - no user # time=2240.91ms
    
    # Subtest: npm org rm - one user left
        ok 1 - libnpmorg.rm received the correct args
        ok 2 - libnpmorg.ls received the correct args
        ok 3 - printed the correct output
        1..3
    ok 14 - npm org rm - one user left # time=2003.451ms
    
    # Subtest: npm org rm - json output
        ok 1 - libnpmorg.rm received the correct args
        ok 2 - libnpmorg.ls received the correct args
        ok 3 - printed the correct output
        1..3
    ok 15 - npm org rm - json output # time=2087.303ms
    
    # Subtest: npm org rm - parseable output
        ok 1 - libnpmorg.rm received the correct args
        ok 2 - libnpmorg.ls received the correct args
        ok 3 - printed the correct output
        1..3
    ok 16 - npm org rm - parseable output # time=1970.491ms
    
    # Subtest: npm org rm - silent output
        ok 1 - libnpmorg.rm received the correct args
        ok 2 - libnpmorg.ls received the correct args
        ok 3 - printed no output
        1..3
    ok 17 - npm org rm - silent output # time=1848.722ms
    
    # Subtest: npm org ls
        ok 1 - receieved the correct args
        ok 2 - contains the developer member
        ok 3 - contains the admin member
        ok 4 - contains the owner member
        1..4
    ok 18 - npm org ls # time=2577.483ms
    
    # Subtest: npm org ls - user filter
        ok 1 - receieved the correct args
        ok 2 - contains the filtered member
        ok 3 - does not contain other members
        1..3
    ok 19 - npm org ls - user filter # time=1935.99ms
    
    # Subtest: npm org ls - user filter, missing user
        ok 1 - receieved the correct args
        ok 2 - does not contain the requested member
        ok 3 - does not contain other members
        1..3
    ok 20 - npm org ls - user filter, missing user # time=2079.282ms
    
    # Subtest: npm org ls - no org
        ok 1 - throws the correct error
        1..1
    ok 21 - npm org ls - no org # time=2121.063ms
    
    # Subtest: npm org ls - json output
        ok 1 - receieved the correct args
        ok 2 - prints the correct output
        1..2
    ok 22 - npm org ls - json output # time=1789.986ms
    
    # Subtest: npm org ls - parseable output
        ok 1 - receieved the correct args
        ok 2 - printed the correct output
        1..2
    ok 23 - npm org ls - parseable output # time=1807.476ms
    
    # Subtest: npm org ls - silent output
        ok 1 - receieved the correct args
        ok 2 - printed no output
        1..2
    ok 24 - npm org ls - silent output # time=1771.194ms
    
    1..24
    # time=58489.722ms
ok 45 - test/lib/commands/org.js # time=58489.722ms

# Subtest: test/lib/commands/outdated.js
    # Subtest: should display outdated deps
        # Subtest: outdated global
            ok 1 - should be equal
            ok 2 - must match snapshot
            1..2
        ok 1 - outdated global # time=4723.967ms
        
        # Subtest: outdated
            ok 1 - should be equal
            ok 2 - must match snapshot
            1..2
        ok 2 - outdated # time=2928.565ms
        
        # Subtest: outdated --omit=dev
            ok 1 - should be equal
            ok 2 - must match snapshot
            1..2
        ok 3 - outdated --omit=dev # time=2557.845ms
        
        # Subtest: outdated --omit=dev --omit=peer
            ok 1 - should be equal
            ok 2 - must match snapshot
            1..2
        ok 4 - outdated --omit=dev --omit=peer # time=2416.168ms
        
        # Subtest: outdated --omit=prod
            ok 1 - should be equal
            ok 2 - must match snapshot
            1..2
        ok 5 - outdated --omit=prod # time=2235.66ms
        
        # Subtest: outdated --long
            ok 1 - should be equal
            ok 2 - must match snapshot
            1..2
        ok 6 - outdated --long # time=2221.907ms
        
        # Subtest: outdated --json
            ok 1 - should be equal
            ok 2 - must match snapshot
            1..2
        ok 7 - outdated --json # time=2132.949ms
        
        # Subtest: outdated --json --long
            ok 1 - should be equal
            ok 2 - must match snapshot
            1..2
        ok 8 - outdated --json --long # time=2185.894ms
        
        # Subtest: outdated --parseable
            ok 1 - should be equal
            ok 2 - must match snapshot
            1..2
        ok 9 - outdated --parseable # time=2330.911ms
        
        # Subtest: outdated --parseable --long
            ok 1 - should be equal
            ok 2 - must match snapshot
            1..2
        ok 10 - outdated --parseable --long # time=2258.413ms
        
        # Subtest: outdated --all
            ok 1 - should be equal
            ok 2 - must match snapshot
            1..2
        ok 11 - outdated --all # time=1984.586ms
        
        # Subtest: outdated specific dep
            ok 1 - should be equal
            ok 2 - must match snapshot
            1..2
        ok 12 - outdated specific dep # time=2095.206ms
        
        1..12
    ok 1 - should display outdated deps # time=31923.134ms
    
    # Subtest: should return if no outdated deps
        ok 1 - no logs
        1..1
    ok 2 - should return if no outdated deps # time=1982.231ms
    
    # Subtest: throws if error with a dep
        ok 1 - There is an error with this package.
        1..1
    ok 3 - throws if error with a dep # time=2479.019ms
    
    # Subtest: should skip missing non-prod deps
        ok 1 - no logs
        1..1
    ok 4 - should skip missing non-prod deps # time=1736.081ms
    
    # Subtest: should skip invalid pkg ranges
        ok 1 - no logs
        1..1
    ok 5 - should skip invalid pkg ranges # time=1784.39ms
    
    # Subtest: should skip git specs
        ok 1 - no logs
        1..1
    ok 6 - should skip git specs # time=1905.316ms
    
    # Subtest: workspaces
        # Subtest: should display ws outdated deps human output
            ok 1 - output
            ok 2 - should be equal
            1..2
        ok 1 - should display ws outdated deps human output # time=2180.909ms
        
        # Subtest: should display only root outdated when ws disabled
            ok 1 - output
            ok 2 - should be equal
            1..2
        ok 2 - should display only root outdated when ws disabled # time=2400.079ms
        
        # Subtest: should display ws outdated deps json output
            ok 1 - output
            ok 2 - should be equal
            1..2
        ok 3 - should display ws outdated deps json output # time=2165.508ms
        
        # Subtest: should display ws outdated deps parseable output
            ok 1 - output
            ok 2 - should be equal
            1..2
        ok 4 - should display ws outdated deps parseable output # time=2094.426ms
        
        # Subtest: should display all dependencies
            ok 1 - output
            ok 2 - should be equal
            1..2
        ok 5 - should display all dependencies # time=2181.892ms
        
        # Subtest: should highlight ws in dependend by section
            ok 1 - output
            ok 2 - should be equal
            1..2
        ok 6 - should highlight ws in dependend by section # time=2384.949ms
        
        # Subtest: should display results filtered by ws
            ok 1 - output
            ok 2 - should be equal
            1..2
        ok 7 - should display results filtered by ws # time=2485.374ms
        
        # Subtest: should display json results filtered by ws
            ok 1 - output
            ok 2 - should be equal
            1..2
        ok 8 - should display json results filtered by ws # time=2577.335ms
        
        # Subtest: should display parseable results filtered by ws
            ok 1 - output
            ok 2 - should be equal
            1..2
        ok 9 - should display parseable results filtered by ws # time=2457.482ms
        
        # Subtest: should display nested deps when filtering by ws and using --all
            ok 1 - output
            ok 2 - should be equal
            1..2
        ok 10 - should display nested deps when filtering by ws and using --all # time=2325.736ms
        
        # Subtest: should display no results if ws has no deps to display
            ok 1 - output
            ok 2 - should be equal
            1..2
        ok 11 - should display no results if ws has no deps to display # time=2674.971ms
        
        # Subtest: should display missing deps when filtering by ws
            ok 1 - output
            ok 2 - should be equal
            1..2
        ok 12 - should display missing deps when filtering by ws # time=2193.423ms
        
        1..12
    ok 7 - workspaces # time=29769.372ms
    
    # Subtest: aliases
        ok 1 - should display aliased outdated dep output
        ok 2 - should be equal
        1..2
    ok 8 - aliases # time=1908.379ms
    
    1..8
    # time=73925.155ms
ok 46 - test/lib/commands/outdated.js # time=73925.155ms

# Subtest: test/lib/commands/owner.js
    # Subtest: owner no args
        ok 1 - rejects with usage
        1..1
    ok 1 - owner no args # time=4983.2ms
    
    # Subtest: owner ls no args
        ok 1 - should match pattern provided
        1..1
    ok 2 - owner ls no args # time=2979.851ms
    
    # Subtest: local package.json has no name
        ok 1 - expect rejected Promise
        1..1
    ok 3 - local package.json has no name # time=2290.372ms
    
    # Subtest: owner ls global
        ok 1 - rejects with usage
        1..1
    ok 4 - owner ls global # time=2174.077ms
    
    # Subtest: owner ls no args no cwd package
        ok 1 - expect rejected Promise
        1..1
    ok 5 - owner ls no args no cwd package # time=1993.459ms
    
    # Subtest: owner ls fails to retrieve packument
        ok 1 - expect rejected Promise
        ok 2 - should match pattern provided
        1..2
    ok 6 - owner ls fails to retrieve packument # time=1938.469ms
    
    # Subtest: owner ls <pkg>
        ok 1 - should match pattern provided
        1..1
    ok 7 - owner ls <pkg> # time=1965.491ms
    
    # Subtest: owner ls <pkg> no maintainers
        ok 1 - should be equal
        1..1
    ok 8 - owner ls <pkg> no maintainers # time=2062.746ms
    
    # Subtest: owner add <user> <pkg>
        ok 1 - should match pattern provided
        ok 2 - should be equal
        1..2
    ok 9 - owner add <user> <pkg> # time=2258.568ms
    
    # Subtest: owner add <user> cwd package
        ok 1 - should match pattern provided
        ok 2 - should be equal
        1..2
    ok 10 - owner add <user> cwd package # time=2457.72ms
    
    # Subtest: owner add <user> <pkg> already an owner
        ok 1 - should be equal
        ok 2 - should match pattern provided
        1..2
    ok 11 - owner add <user> <pkg> already an owner # time=2355.271ms
    
    # Subtest: owner add <user> <pkg> fails to retrieve user
        ok 1 - expect rejected Promise
        ok 2 - should match pattern provided
        1..2
    ok 12 - owner add <user> <pkg> fails to retrieve user # time=1985.662ms
    
    # Subtest: owner add <user> <pkg> fails to PUT updates
        ok 1 - expect rejected Promise
        1..1
    ok 13 - owner add <user> <pkg> fails to PUT updates # time=2052.498ms
    
    # Subtest: owner add <user> <pkg> no previous maintainers property from server
        ok 1 - should match pattern provided
        ok 2 - should be equal
        1..2
    ok 14 - owner add <user> <pkg> no previous maintainers property from server # time=2751.85ms
    
    # Subtest: owner add no user
        ok 1 - expect rejected Promise
        1..1
    ok 15 - owner add no user # time=2276.669ms
    
    # Subtest: owner add <user> no pkg global
        ok 1 - expect rejected Promise
        1..1
    ok 16 - owner add <user> no pkg global # time=2067.356ms
    
    # Subtest: owner add <user> no cwd package
        ok 1 - expect rejected Promise
        1..1
    ok 17 - owner add <user> no cwd package # time=2384.961ms
    
    # Subtest: owner rm <user> <pkg>
        ok 1 - should match pattern provided
        ok 2 - should be equal
        1..2
    ok 18 - owner rm <user> <pkg> # time=1906.993ms
    
    # Subtest: owner rm <user> <pkg> not a current owner
        ok 1 - should match pattern provided
        1..1
    ok 19 - owner rm <user> <pkg> not a current owner # time=2512.539ms
    
    # Subtest: owner rm <user> cwd package
        ok 1 - should match pattern provided
        ok 2 - should be equal
        1..2
    ok 20 - owner rm <user> cwd package # time=2752.6ms
    
    # Subtest: owner rm <user> only user
        ok 1 - expect rejected Promise
        1..1
    ok 21 - owner rm <user> only user # time=2434.812ms
    
    # Subtest: owner rm no user
        ok 1 - expect rejected Promise
        1..1
    ok 22 - owner rm no user # time=2735.116ms
    
    # Subtest: owner rm no pkg global
        ok 1 - expect rejected Promise
        1..1
    ok 23 - owner rm no pkg global # time=1974.571ms
    
    # Subtest: owner rm <user> no cwd package
        ok 1 - expect rejected Promise
        1..1
    ok 24 - owner rm <user> no cwd package # time=2184.746ms
    
    # Subtest: workspaces
        # Subtest: owner no args --workspace
            ok 1 - rejects with usage
            1..1
        ok 1 - owner no args --workspace # time=2464.026ms
        
        # Subtest: owner ls implicit workspace
            ok 1 - should match pattern provided
            1..1
        ok 2 - owner ls implicit workspace # time=2344.558ms
        
        # Subtest: owner ls explicit workspace
            ok 1 - should match pattern provided
            1..1
        ok 3 - owner ls explicit workspace # time=2092.235ms
        
        # Subtest: owner ls <pkg> implicit workspace
            ok 1 - should match pattern provided
            1..1
        ok 4 - owner ls <pkg> implicit workspace # time=2423.532ms
        
        # Subtest: owner ls <pkg> explicit workspace
            ok 1 - should match pattern provided
            1..1
        ok 5 - owner ls <pkg> explicit workspace # time=1977.494ms
        
        # Subtest: owner add implicit workspace
            ok 1 - should match pattern provided
            ok 2 - should be equal
            1..2
        ok 6 - owner add implicit workspace # time=2476.746ms
        
        # Subtest: owner add --workspace
            ok 1 - should match pattern provided
            ok 2 - should be equal
            1..2
        ok 7 - owner add --workspace # time=2555.264ms
        
        # Subtest: owner rm --workspace
            ok 1 - should match pattern provided
            ok 2 - should be equal
            1..2
        ok 8 - owner rm --workspace # time=2378.395ms
        
        1..8
    ok 25 - workspaces # time=19632.77ms
    
    # Subtest: completion
        # Subtest: basic commands
            ok 1 - owner npm foo
            ok 2 - npm owner
            ok 3 - npm owner add
            ok 4 - npm owner ls
            ok 5 - npm owner rm foo
            1..5
        ok 1 - basic commands # time=2038.968ms
        
        # Subtest: completion npm owner rm
            ok 1 - should return list of current owners
            1..1
        ok 2 - completion npm owner rm # time=2109.5ms
        
        # Subtest: completion npm owner rm no cwd package
            ok 1 - should have no owners to autocomplete if not cwd package
            1..1
        ok 3 - completion npm owner rm no cwd package # time=1625.199ms
        
        # Subtest: completion npm owner rm global
            ok 1 - should have no owners to autocomplete if global
            1..1
        ok 4 - completion npm owner rm global # time=1666.654ms
        
        # Subtest: completion npm owner rm no owners found
            ok 1 - should return no owners if not found
            1..1
        ok 5 - completion npm owner rm no owners found # time=2114.205ms
        
        1..5
    ok 26 - completion # time=10252.777ms
    
    1..26
    # time=89773.624ms
ok 47 - test/lib/commands/owner.js # time=89773.624ms

# Subtest: test/lib/commands/pack.js
    # Subtest: should pack current directory with no arguments
        ok 1 - should be equivalent strictly
        ok 2 - logs pack contents
        ok 3 - expect truthy value
        1..3
    ok 1 - should pack current directory with no arguments # time=19112.81ms
    
    # Subtest: follows pack-destination config
        ok 1 - should be equivalent strictly
        ok 2 - expect truthy value
        1..2
    ok 2 - follows pack-destination config # time=2770.411ms
    
    # Subtest: should pack given directory for scoped package
        ok 1 - should be equivalent strictly
        ok 2 - expect truthy value
        1..2
    ok 3 - should pack given directory for scoped package # time=2162.165ms
    
    # Subtest: should log output as valid json
        ok 1 - outputs as json
        ok 2 - logs pack contents
        ok 3 - expect truthy value
        1..3
    ok 4 - should log output as valid json # time=2125.551ms
    
    # Subtest: should log scoped package output as valid json
        ok 1 - outputs as json
        ok 2 - logs pack contents
        ok 3 - expect truthy value
        1..3
    ok 5 - should log scoped package output as valid json # time=2034.614ms
    
    # Subtest: dry run
        ok 1 - should be equivalent strictly
        ok 2 - logs pack contents
        ok 3 - expected to throw
        1..3
    ok 6 - dry run # time=2128.644ms
    
    # Subtest: invalid packument
        ok 1 - expect rejected Promise
        ok 2 - should be equivalent strictly
        1..2
    ok 7 - invalid packument # time=2323.509ms
    
    # Subtest: workspaces
        # Subtest: all workspaces
            ok 1 - should be equivalent strictly
            1..1
        ok 1 - all workspaces # time=2878.89ms
        
        # Subtest: all workspaces, `.` first arg
            ok 1 - should be equivalent strictly
            1..1
        ok 2 - all workspaces, `.` first arg # time=2377.956ms
        
        # Subtest: one workspace
            ok 1 - should be equivalent strictly
            1..1
        ok 3 - one workspace # time=4841.1ms
        
        # Subtest: specific package
            ok 1 - should be equivalent strictly
            1..1
        ok 4 - specific package # time=3546.27ms
        
        1..4
    ok 8 - workspaces # time=14260.367ms
    
    1..8
    # time=47880.485ms
ok 48 - test/lib/commands/pack.js # time=47880.485ms

# Subtest: test/lib/commands/ping.js
    # Subtest: no details
        ok 1 - should match pattern provided
        ok 2 - should be equal
        1..2
    ok 1 - no details # time=4513.018ms
    
    # Subtest: with details
        ok 1 - should match pattern provided
        ok 2 - should match pattern provided
        1..2
    ok 2 - with details # time=2122.513ms
    
    # Subtest: valid json
        ok 1 - should match pattern provided
        ok 2 - should match pattern provided
        1..2
    ok 3 - valid json # time=2888.859ms
    
    # Subtest: invalid json
        ok 1 - should match pattern provided
        ok 2 - should match pattern provided
        1..2
    ok 4 - invalid json # time=2344.104ms
    
    1..4
    # time=12349.15ms
ok 49 - test/lib/commands/ping.js # time=12349.15ms

# Subtest: test/lib/commands/pkg.js
    # Subtest: no args
        ok 1 - should throw usage error
        1..1
    ok 1 - no args # time=7808.422ms
    
    # Subtest: no global mode
        ok 1 - should throw no global mode error
        1..1
    ok 2 - no global mode # time=1890.848ms
    
    # Subtest: get no args
        ok 1 - should print package.json content
        1..1
    ok 3 - get no args # time=1856.732ms
    
    # Subtest: get single arg
        ok 1 - should print retrieved package.json field
        1..1
    ok 4 - get single arg # time=2115.739ms
    
    # Subtest: get nested arg
        ok 1 - should print retrieved nested field
        1..1
    ok 5 - get nested arg # time=2233.101ms
    
    # Subtest: get array field
        ok 1 - should print retrieved array field
        1..1
    ok 6 - get array field # time=1663.807ms
    
    # Subtest: get array item
        ok 1 - should print retrieved array field
        1..1
    ok 7 - get array item # time=1747.508ms
    
    # Subtest: get array nested items notation
        ok 1 - should print json result containing matching results
        1..1
    ok 8 - get array nested items notation # time=2605.196ms
    
    # Subtest: set no args
        ok 1 - should throw an error if no args
        1..1
    ok 9 - set no args # time=2252.748ms
    
    # Subtest: set missing value
        ok 1 - should throw an error if missing value
        1..1
    ok 10 - set missing value # time=2030.754ms
    
    # Subtest: set missing key
        ok 1 - should throw an error if missing key
        1..1
    ok 11 - set missing key # time=2305.993ms
    
    # Subtest: set single field
        ok 1 - should add single field to package.json
        1..1
    ok 12 - set single field # time=1754.515ms
    
    # Subtest: push to array syntax
        ok 1 - should append to arrays using empty bracket syntax
        1..1
    ok 13 - push to array syntax # time=1936.986ms
    
    # Subtest: set multiple fields
        ok 1 - should add single field to package.json
        1..1
    ok 14 - set multiple fields # time=1793.98ms
    
    # Subtest: set = separate value
        ok 1 - should add single field to package.json
        1..1
    ok 15 - set = separate value # time=1925.627ms
    
    # Subtest: set --json
        ok 1 - should add boolean field to package.json
        ok 2 - should add number field to package.json
        ok 3 - should add object field to package.json
        ok 4 - should add object field to package.json
        ok 5 - should add object field to package.json
        1..5
    ok 16 - set --json # time=2011.602ms
    
    # Subtest: delete no args
        ok 1 - should throw an error if deleting no args
        1..1
    ok 17 - delete no args # time=1927.755ms
    
    # Subtest: delete invalid key
        ok 1 - should throw an error if deleting invalid args
        1..1
    ok 18 - delete invalid key # time=1871.851ms
    
    # Subtest: delete single field
        ok 1 - should delete single field from package.json
        1..1
    ok 19 - delete single field # time=2048.061ms
    
    # Subtest: delete multiple field
        ok 1 - should delete multiple fields from package.json
        1..1
    ok 20 - delete multiple field # time=1743.789ms
    
    # Subtest: delete nested field
        ok 1 - should delete nested fields from package.json
        1..1
    ok 21 - delete nested field # time=2270.65ms
    
    # Subtest: workspaces
        ok 1 - should return expected result for configured workspaces
        ok 2 - should add field to workspace a
        ok 3 - should add field to workspace b
        ok 4 - should delete version field from workspace a
        ok 5 - should delete version field from workspace b
        1..5
    ok 22 - workspaces # time=2156.665ms
    
    # Subtest: fix
        ok 1 - fixes package.json issues
        1..1
    ok 23 - fix # time=1753.226ms
    
    1..23
    # time=53379.333ms
ok 50 - test/lib/commands/pkg.js # time=53379.333ms

# Subtest: test/lib/commands/prefix.js
    # Subtest: prefix
        ok 1 - outputs npm.prefix
        1..1
    ok 1 - prefix # time=5536.998ms
    
    1..1
    # time=5859.415ms
ok 51 - test/lib/commands/prefix.js # time=5859.415ms

sh: warning: setlocale: LC_ALL: cannot change locale (sk)
sh: warning: setlocale: LC_ALL: cannot change locale (sk)
sh: warning: setlocale: LC_ALL: cannot change locale (sk)
# Subtest: test/lib/commands/profile.js
    # Subtest: no args
        ok 1 - Change settings on your registry profile  Usage: npm profile enable-2fa [auth-only|auth-and-writes] npm profile disable-2fa npm profile get [<key>] npm profile set <key> <value>  Options: [--registry <registry>] [--json] [-p|--parseable] [--otp <otp>]  Run "npm help profile" for more info
        1..1
    ok 1 - no args # time=7483.2ms
    
    # Subtest: profile get no args
        # Subtest: default output
            ok 1 - should output table with contents
            1..1
        ok 1 - default output # time=2285.176ms
        
        # Subtest: --json
            ok 1 - should output json profile result
            1..1
        ok 2 - --json # time=2205.354ms
        
        # Subtest: --parseable
            ok 1 - should output all profile info as parseable result
            1..1
        ok 3 - --parseable # time=2094.292ms
        
        # Subtest: --color
            ok 1 - should output all profile info with color result
            1..1
        ok 4 - --color # time=2507.562ms
        
        # Subtest: no tfa enabled
            ok 1 - should output expected profile values
            1..1
        ok 5 - no tfa enabled # time=2300.308ms
        
        # Subtest: unverified email
            ok 1 - should output table with contents
            1..1
        ok 6 - unverified email # time=2515.577ms
        
        # Subtest: profile has cidr_whitelist item
            ok 1 - should output table with contents
            1..1
        ok 7 - profile has cidr_whitelist item # time=1910.659ms
        
        1..7
    ok 2 - profile get no args # time=16546.378ms
    
    # Subtest: profile get <key>
        # Subtest: default output
            ok 1 - should output value result
            1..1
        ok 1 - default output # time=2617.866ms
        
        # Subtest: --json
            ok 1 - should output json profile result ignoring args filter
            1..1
        ok 2 - --json # time=1834.599ms
        
        # Subtest: --parseable
            ok 1 - should output parseable result value
            1..1
        ok 3 - --parseable # time=2061.368ms
        
        1..3
    ok 3 - profile get <key> # time=6843.72ms
    
    # Subtest: profile get multiple args
        # Subtest: default output
            ok 1 - should output all keys
            1..1
        ok 1 - default output # time=2010.978ms
        
        # Subtest: --json
            ok 1 - should output json profile result and ignore args
            1..1
        ok 2 - --json # time=1692.253ms
        
        # Subtest: --parseable
            ok 1 - should output parseable profile value results
            1..1
        ok 3 - --parseable # time=1774.038ms
        
        # Subtest: comma separated
            ok 1 - should output all keys
            1..1
        ok 4 - comma separated # time=1665.045ms
        
        1..4
    ok 4 - profile get multiple args # time=7540.847ms
    
    # Subtest: profile set <key> <value>
        # Subtest: no key
            ok 1 - should throw proper usage message
            1..1
        ok 1 - no key # time=2542.91ms
        
        # Subtest: no value
            ok 1 - should throw proper usage message
            1..1
        ok 2 - no value # time=2515.094ms
        
        # Subtest: set password
            ok 1 - should throw an error refusing to set password from args
            1..1
        ok 3 - set password # time=2069.696ms
        
        # Subtest: unwritable key
            ok 1 - should throw the unwritable key error
            1..1
        ok 4 - unwritable key # time=2532.307ms
        
        # Subtest: writable key
            # Subtest: default output
                1..2
                ok 1 - should set new value to key
                ok 2 - should output set key success msg
            ok 1 - default output # time=2645.044ms
            
            # Subtest: --json
                1..2
                ok 1 - should set new value to key
                ok 2 - should output json set key success msg
            ok 2 - --json # time=1875.434ms
            
            # Subtest: --parseable
                1..2
                ok 1 - should set new value to key
                ok 2 - should output parseable set key success msg
            ok 3 - --parseable # time=1578.203ms
            
            1..3
        ok 5 - writable key # time=6356.695ms
        
        # Subtest: write new email
            1..2
            ok 1 - should set new value to email
            ok 2 - should output set key success msg
        ok 6 - write new email # time=1982.122ms
        
        # Subtest: change password
            1..5
            ok 1 - expect truthy value
            ok 2 - expect truthy value
            ok 3 - expect truthy value
            ok 4 - should set new password
            ok 5 - should output set password success msg
        ok 7 - change password # time=1620.437ms
        
        # Subtest: password confirmation mismatch
            1..2
            ok 1 - should log password mismatch message
            ok 2 - should output set password success msg
        ok 8 - password confirmation mismatch # time=1741.89ms
        
        1..8
    ok 5 - profile set <key> <value> # time=22421.528ms
    
    # Subtest: enable-2fa
        # Subtest: invalid args
            ok 1 - should throw usage error
            1..1
        ok 1 - invalid args # time=3069.453ms
        
        # Subtest: invalid two factor auth mode
            ok 1 - should throw invalid auth mode error
            1..1
        ok 2 - invalid two factor auth mode # time=2296.047ms
        
        # Subtest: no support for --json output
            ok 1 - should throw no support msg
            1..1
        ok 3 - no support for --json output # time=2285.66ms
        
        # Subtest: no support for --parseable output
            ok 1 - should throw no support msg
            1..1
        ok 4 - no support for --parseable output # time=2133.839ms
        
        # Subtest: no bearer tokens returned by registry
            1..3
            ok 1 - should use expected registry
            ok 2 - should use password for basic auth
            ok 3 - should throw no support msg
        ok 5 - no bearer tokens returned by registry # time=1835.569ms
        
        # Subtest: from basic username/password auth
            ok 1 - should throw no support msg
            1..1
        ok 6 - from basic username/password auth # time=1974.211ms
        
        # Subtest: no auth found
            ok 1 - You need to be logged in to registry https://registry.npmjs.org/ in order to enable 2fa
            1..1
        ok 7 - no auth found # time=2230.962ms
        
        # Subtest: from basic auth, asks for otp
            1..9
            ok 1 - should use expected registry
            ok 2 - should use password for basic auth
            ok 3 - should set expected registry
            ok 4 - should set expected token
            ok 5 - should save to user config
            ok 6 - expect truthy value
            ok 7 - should ask for otp confirmation
            ok 8 - should set tfa mode
            ok 9 - should output success msg
        ok 8 - from basic auth, asks for otp # time=1754.454ms
        
        # Subtest: from token and set otp, retries on pending and verifies with qrcode
            1..4
            ok 1 - should reset 2fa
            ok 2 - should set tfa mode approprietly in follow-up call
            ok 3 - should set tfa as otp code?
            ok 4 - should output 2fa enablement success msgs
        ok 9 - from token and set otp, retries on pending and verifies with qrcode # time=1820.606ms
        
        # Subtest: from token and set otp, retrieves invalid otp
            ok 1 - should throw invalid 2fa auth url error
            1..1
        ok 10 - from token and set otp, retrieves invalid otp # time=1985.913ms
        
        # Subtest: from token auth provides --otp config arg
            ok 1 - should output success msg
            1..1
        ok 11 - from token auth provides --otp config arg # time=1853.093ms
        
        # Subtest: missing tfa from user profile
            ok 1 - should output success msg
            1..1
        ok 12 - missing tfa from user profile # time=1614.748ms
        
        # Subtest: defaults to auth-and-writes permission if no mode specified
            ok 1 - should enable 2fa with auth-and-writes permission
            1..1
        ok 13 - defaults to auth-and-writes permission if no mode specified # time=2065.613ms
        
        1..13
    ok 6 - enable-2fa # time=27840.49ms
    
    # Subtest: disable-2fa
        # Subtest: no tfa enabled
            ok 1 - should output already disalbed msg
            1..1
        ok 1 - no tfa enabled # time=1737.581ms
        
        # Subtest: requests otp
            # Subtest: default output
                1..4
                ok 1 - expect truthy value
                ok 2 - should ask for otp confirmation
                ok 3 - should send the new info for setting in profile
                ok 4 - should output already disabled msg
            ok 1 - default output # time=2112.562ms
            
            # Subtest: --json
                1..4
                ok 1 - expect truthy value
                ok 2 - should ask for otp confirmation
                ok 3 - should send the new info for setting in profile
                ok 4 - should output json already disabled msg
            ok 2 - --json # time=2167.18ms
            
            # Subtest: --parseable
                1..4
                ok 1 - expect truthy value
                ok 2 - should ask for otp confirmation
                ok 3 - should send the new info for setting in profile
                ok 4 - should output parseable already disabled msg
            ok 3 - --parseable # time=1846.433ms
            
            1..3
        ok 2 - requests otp # time=6496.741ms
        
        # Subtest: --otp config already set
            1..2
            ok 1 - should send the new info for setting in profile
            ok 2 - should output already disalbed msg
        ok 3 - --otp config already set # time=2015.184ms
        
        1..3
    ok 7 - disable-2fa # time=10539.595ms
    
    # Subtest: unknown subcommand
        ok 1 - should throw unknown cmd error
        1..1
    ok 8 - unknown subcommand # time=2522.654ms
    
    # Subtest: completion
        # Subtest: npm profile autocomplete
            ok 1 - should auto complete with subcommands
            1..1
        ok 1 - npm profile autocomplete # time=2027.507ms
        
        # Subtest: npm profile enable autocomplete
            ok 1 - should auto complete with auth types
            1..1
        ok 2 - npm profile enable autocomplete # time=1945.661ms
        
        # Subtest: npm profile <subcmd> no autocomplete
            # Subtest: disable-2fa
                ok 1 - disable-2fa should have no autocomplete
                1..1
            ok 1 - disable-2fa # time=2050.837ms
            
            # Subtest: disable-tfa
                ok 1 - disable-tfa should have no autocomplete
                1..1
            ok 2 - disable-tfa # time=1751.908ms
            
            # Subtest: get
                ok 1 - get should have no autocomplete
                1..1
            ok 3 - get # time=1884.959ms
            
            # Subtest: set
                ok 1 - set should have no autocomplete
                1..1
            ok 4 - set # time=1941.507ms
            
            1..4
        ok 3 - npm profile <subcmd> no autocomplete # time=7971.1ms
        
        # Subtest: npm profile unknown subcommand autocomplete
            ok 1 - should throw unknown cmd error
            1..1
        ok 4 - npm profile unknown subcommand autocomplete # time=1852.589ms
        
        1..4
    ok 9 - completion # time=14052.456ms
    
    1..9
    # time=116167.98ms
ok 52 - test/lib/commands/profile.js # time=116167.98ms

# Subtest: test/lib/commands/prune.js
    # Subtest: should prune using Arborist
        1..4
        ok 1 - gets options object
        ok 2 - gets path option
        ok 3 - prune is called
        ok 4 - gets arborist tree
    ok 1 - should prune using Arborist # time=5722.049ms
    
    1..1
    # time=6049.695ms
ok 53 - test/lib/commands/prune.js # time=6049.695ms

# Subtest: test/lib/commands/publish.js
    # Subtest: respects publishConfig.registry, runs appropriate scripts
        ok 1 - should match pattern provided
        ok 2 - new package version
        ok 3 - ran prepublishOnly
        ok 4 - did not run prepublish
        ok 5 - ran publish
        ok 6 - ran postpublish
        1..6
    ok 1 - respects publishConfig.registry, runs appropriate scripts # time=7714.14ms
    
    # Subtest: re-loads publishConfig.registry if added during script process
        ok 1 - should match pattern provided
        ok 2 - new package version
        1..2
    ok 2 - re-loads publishConfig.registry if added during script process # time=3129.01ms
    
    # Subtest: json
        ok 1 - must match snapshot
        ok 2 - new package json
        1..2
    ok 3 - json # time=2624.527ms
    
    # Subtest: dry-run
        ok 1 - should be equal
        ok 2 - must match snapshot
        1..2
    ok 4 - dry-run # time=2606.06ms
    
    # Subtest: shows usage with wrong set of arguments
        ok 1 - Publish a package  Usage: npm publish <package-spec>  Options: [--tag <tag>] [--access <restricted|public>] [--dry-run] [--otp <otp>] [-w|--workspace <workspace-name> [-w|--workspace <workspace-name> ...]] [-ws|--workspaces] [--include-workspace-root] [--provenance|--provenance-file <file>]  Run "npm help publish" for more info
        1..1
    ok 5 - shows usage with wrong set of arguments # time=2749.209ms
    
    # Subtest: throws when invalid tag
        ok 1 - expect rejected Promise
        1..1
    ok 6 - throws when invalid tag # time=2197.278ms
    
    # Subtest: tarball
        ok 1 - should match pattern provided
        ok 2 - must match snapshot
        ok 3 - new package json
        1..3
    ok 7 - tarball # time=3903.114ms
    
    # Subtest: no auth default registry
        ok 1 - expect rejected Promise
        1..1
    ok 8 - no auth default registry # time=2700.627ms
    
    # Subtest: no auth dry-run
        ok 1 - must match snapshot
        ok 2 - warns about auth being needed
        1..2
    ok 9 - no auth dry-run # time=2432.521ms
    
    # Subtest: no auth for configured registry
        ok 1 - expect rejected Promise
        1..1
    ok 10 - no auth for configured registry # time=2763.383ms
    
    # Subtest: no auth for scope configured registry
        ok 1 - expect rejected Promise
        1..1
    ok 11 - no auth for scope configured registry # time=3429.25ms
    
    # Subtest: has token auth for scope configured registry
        ok 1 - should match pattern provided
        ok 2 - new package version
        1..2
    ok 12 - has token auth for scope configured registry # time=2466.646ms
    
    # Subtest: has mTLS auth for scope configured registry
        ok 1 - should match pattern provided
        ok 2 - new package version
        1..2
    ok 13 - has mTLS auth for scope configured registry # time=2358.491ms
    
    # Subtest: workspaces
        # Subtest: all workspaces - no color
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - all public workspaces
            ok 5 - warns about skipped private workspace
            1..5
        ok 1 - all workspaces - no color # time=4462.199ms
        
        # Subtest: all workspaces - color
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - all public workspaces
            ok 5 - warns about skipped private workspace in color
            1..5
        ok 2 - all workspaces - color # time=3965.348ms
        
        # Subtest: one workspace - success
            ok 1 - should match pattern provided
            ok 2 - single workspace
            1..2
        ok 3 - one workspace - success # time=2627.718ms
        
        # Subtest: one workspace - failure
            ok 1 - expect rejected Promise
            ok 2 - should match pattern provided
            1..2
        ok 4 - one workspace - failure # time=2755.643ms
        
        # Subtest: invalid workspace
            ok 1 - expect rejected Promise
            1..1
        ok 5 - invalid workspace # time=2277.037ms
        
        # Subtest: json
            ok 1 - should match pattern provided
            ok 2 - should match pattern provided
            ok 3 - should match pattern provided
            ok 4 - all workspaces in json
            1..4
        ok 6 - json # time=4011.598ms
        
        1..6
    ok 14 - workspaces # time=20978.372ms
    
    # Subtest: ignore-scripts
        ok 1 - new package version
        ok 2 - did not run prepublishOnly
        ok 3 - did not run prepublish
        ok 4 - did not run publish
        ok 5 - did not run postpublish
        1..5
    ok 15 - ignore-scripts # time=2251.624ms
    
    # Subtest: _auth config default registry
        ok 1 - new package version
        1..1
    ok 16 - _auth config default registry # time=3164.197ms
    
    # Subtest: bare _auth and registry config
        ok 1 - new package version
        1..1
    ok 17 - bare _auth and registry config # time=2277.203ms
    
    # Subtest: bare _auth config scoped registry
        ok 1 - expect rejected Promise
        1..1
    ok 18 - bare _auth config scoped registry # time=2350.863ms
    
    # Subtest: scoped _auth config scoped registry
        ok 1 - new package version
        1..1
    ok 19 - scoped _auth config scoped registry # time=2404.886ms
    
    # Subtest: restricted access
        ok 1 - access is explicitly set to restricted
        ok 2 - new package version
        ok 3 - must match snapshot
        1..3
    ok 20 - restricted access # time=2407.575ms
    
    # Subtest: public access
        ok 1 - access is explicitly set to public
        ok 2 - new package version
        ok 3 - must match snapshot
        1..3
    ok 21 - public access # time=2737.779ms
    
    # Subtest: manifest
        not ok 1 - timeout!
          ---
          signal: SIGTERM
          requests:
            - type: FSReqCallback
            - type: FSReqCallback
            - type: FSReqCallback
            - type: FSReqCallback
          expired: TAP
          test: manifest
          ...
        
        1..1
        # failed 1 test
    not ok 22 - timeout!
    
    1..22
    # failed 1 of 22 tests
not ok 54 - test/lib/commands/publish.js # time=601225.775ms
  ---
  env:
    LC_ALL: sk
  file: test/lib/commands/publish.js
  timeout: 600000
  command: /usr/bin/node
  args:
    - test/lib/commands/publish.js
  stdio:
    - 0
    - pipe
    - 2
  cwd: /build/npm/src/npm-cli
  ...

# Subtest: test/lib/commands/query.js
    # Subtest: simple query
        ok 1 - should return root object and direct children
        1..1
    ok 1 - simple query # time=21275.464ms
    
    # Subtest: recursive tree
        ok 1 - should return everything in the tree, accounting for recursion
        1..1
    ok 2 - recursive tree # time=2057.03ms
    
    # Subtest: workspace query
        ok 1 - should return workspace object
        1..1
    ok 3 - workspace query # time=2897.319ms
    
    # Subtest: include-workspace-root
        ok 1 - should return workspace object and root object
        1..1
    ok 4 - include-workspace-root # time=2465.605ms
    
    # Subtest: linked node
        ok 1 - should return linked node res
        1..1
    ok 5 - linked node # time=1877.459ms
    
    # Subtest: global
        ok 1 - should return global package
        1..1
    ok 6 - global # time=1729.267ms
    
    # Subtest: package-lock-only
        # Subtest: no package lock
            ok 1 - expect rejected Promise
            1..1
        ok 1 - no package lock # time=2688.779ms
        
        # Subtest: with package lock
            ok 1 - should return valid response with only lock info
            1..1
        ok 2 - with package lock # time=2636.956ms
        
        1..2
    ok 7 - package-lock-only # time=5618.23ms
    
    1..7
    # time=38679.793ms
ok 55 - test/lib/commands/query.js # time=38679.793ms

# Subtest: test/lib/commands/rebuild.js
    # Subtest: no args
        ok 1 - expected to throw
        ok 2 - expected to throw
        ok 3 - expected to throw
        ok 4 - expected to throw
        ok 5 - expect truthy value
        ok 6 - expect truthy value
        ok 7 - expect truthy value
        ok 8 - expect truthy value
        ok 9 - should output success msg
        1..9
    ok 1 - no args # time=29203.328ms
    
    # Subtest: filter by pkg name
        ok 1 - expected to throw
        ok 2 - expected to throw
        ok 3 - should not link a bin
        ok 4 - should link filtered pkg bin
        1..4
    ok 2 - filter by pkg name # time=1922.678ms
    
    # Subtest: filter by pkg@<range>
        ok 1 - should not link b bin
        ok 2 - should link filtered pkg bin
        1..2
    ok 3 - filter by pkg@<range> # time=2626.442ms
    
    # Subtest: filter by directory
        ok 1 - expected to throw
        ok 2 - expected to throw
        ok 3 - should not link a bin
        ok 4 - should link filtered pkg bin
        1..4
    ok 4 - filter by directory # time=1866.016ms
    
    # Subtest: filter must be a semver version/range, or directory
        ok 1 - should throw type error
        1..1
    ok 5 - filter must be a semver version/range, or directory # time=2059.409ms
    
    # Subtest: global prefix
        ok 1 - expect truthy value
        ok 2 - should output success msg
        1..2
    ok 6 - global prefix # time=1884.395ms
    
    1..6
    # time=40205.993ms
ok 56 - test/lib/commands/rebuild.js # time=40205.993ms

# Subtest: test/lib/commands/repo.js
    # Subtest: open repo urls
        ok 1 - opened https://github.com/foo/hostedgit
        ok 2 - opened https://github.com/foo/hostedgitat
        ok 3 - opened https://github.com/foo/hostedssh
        ok 4 - opened https://github.com/foo/hostedgitssh
        ok 5 - opened https://github.com/foo/hostedgithttp
        ok 6 - opened https://github.com/foo/hostedgithttps
        ok 7 - opened https://github.com/foo/hostedgitobj
        ok 8 - opened https://github.com/foo/hostedgitatobj
        ok 9 - opened https://github.com/foo/hostedsshobj
        ok 10 - opened https://github.com/foo/hostedgitsshobj
        ok 11 - opened https://github.com/foo/hostedgithttpobj
        ok 12 - opened https://github.com/foo/hostedgithttpsobj
        ok 13 - opened https://gothib.com/foo/unhostedgit
        ok 14 - opened https://gothib.com/foo/unhostedssh
        ok 15 - opened https://gothib.com/foo/unhostedgitssh
        ok 16 - opened http://gothib.com/foo/unhostedgithttp
        ok 17 - opened https://gothib.com/foo/unhostedgithttps
        ok 18 - opened https://gothib.com/foo/unhostedgitobj
        ok 19 - opened https://gothib.com/foo/unhostedsshobj
        ok 20 - opened https://gothib.com/foo/unhostedgitsshobj
        ok 21 - opened http://gothib.com/foo/unhostedgithttpobj
        ok 22 - opened https://gothib.com/foo/unhostedgithttpsobj
        ok 23 - opened https://github.com/foo/test-repo-with-directory/tree/HEAD/some/directory
        ok 24 - opened https://example.com/thispkg
        1..24
    ok 1 - open repo urls # time=14779.979ms
    
    # Subtest: fail if cannot figure out repo url
        ok 1 - expect rejected Promise
        ok 2 - expect rejected Promise
        ok 3 - expect rejected Promise
        ok 4 - expect rejected Promise
        1..4
    ok 2 - fail if cannot figure out repo url # time=2405.647ms
    
    # Subtest: open default package if none specified
        ok 1 - opened expected url
        1..1
    ok 3 - open default package if none specified # time=1739.337ms
    
    # Subtest: workspaces
        # Subtest: include workspace root
            ok 1 - opened two valid repo urls
            1..1
        ok 1 - include workspace root # time=3139.757ms
        
        # Subtest: all workspaces
            ok 1 - opened two valid repo urls
            1..1
        ok 2 - all workspaces # time=2979.231ms
        
        # Subtest: one workspace
            ok 1 - opened one requested repo urls
            1..1
        ok 3 - one workspace # time=3790.911ms
        
        # Subtest: invalid workspace
            ok 1 - expect rejected Promise
            ok 2 - opened no repo urls
            1..2
        ok 4 - invalid workspace # time=2897.735ms
        
        # Subtest: package arg and workspace
            ok 1 - opened url for package arg, not workspace
            1..1
        ok 5 - package arg and workspace # time=2405.428ms
        
        1..5
    ok 4 - workspaces # time=15880.378ms
    
    1..4
    # time=35569.648ms
ok 57 - test/lib/commands/repo.js # time=35569.648ms

# Subtest: test/lib/commands/restart.js
    # Subtest: should run restart script from package.json
        ok 1 - script ran
        1..1
    ok 1 - should run restart script from package.json # time=10447.953ms
    
    1..1
    # time=10931.203ms
ok 58 - test/lib/commands/restart.js # time=10931.203ms

# Subtest: test/lib/commands/root.js
    # Subtest: prefix
        ok 1 - outputs npm.dir
        1..1
    ok 1 - prefix # time=6950.398ms
    
    1..1
    # time=7228.552ms
ok 59 - test/lib/commands/root.js # time=7228.552ms

# Subtest: test/lib/commands/run-script.js
    # Subtest: completion
        # Subtest: already have a script name
            ok 1 - should be equal
            1..1
        ok 1 - already have a script name # time=7601.248ms
        
        # Subtest: no package.json
            ok 1 - should be equivalent strictly
            1..1
        ok 2 - no package.json # time=2197.77ms
        
        # Subtest: has package.json, no scripts
            ok 1 - should be equivalent strictly
            1..1
        ok 3 - has package.json, no scripts # time=2235.065ms
        
        # Subtest: has package.json, with scripts
            ok 1 - should be equivalent strictly
            1..1
        ok 4 - has package.json, with scripts # time=2961.793ms
        
        # Subtest: fish shell
            ok 1 - should be equivalent strictly
            1..1
        ok 5 - fish shell # time=2824.227ms
        
        1..5
    ok 1 - completion # time=18497.771ms
    
    # Subtest: fail if no package.json
        ok 1 - expect rejected Promise
        ok 2 - expect rejected Promise
        1..2
    ok 2 - fail if no package.json # time=2175.408ms
    
    # Subtest: default env, start, and restart scripts
        # Subtest: start
            ok 1 - should match pattern provided
            1..1
        ok 1 - start # time=176.361ms
        
        # Subtest: env
            ok 1 - should match pattern provided
            1..1
        ok 2 - env # time=69.451ms
        
        # Subtest: restart
            ok 1 - should match pattern provided
            1..1
        ok 3 - restart # time=67.843ms
        
        1..3
    ok 3 - default env, start, and restart scripts # time=2544.614ms
    
    # Subtest: default windows env
        ok 1 - should match pattern provided
        1..1
    ok 4 - default windows env # time=2106.592ms
    
    # Subtest: non-default env script
        # Subtest: env
            ok 1 - should match pattern provided
            1..1
        ok 1 - env # time=65.422ms
        
        1..1
    ok 5 - non-default env script # time=2447.832ms
    
    # Subtest: non-default env script windows
        ok 1 - should match pattern provided
        1..1
    ok 6 - non-default env script windows # time=1901.397ms
    
    # Subtest: try to run missing script
        # Subtest: errors
            # Subtest: no suggestions
                ok 1 - Missing script: "notevenclose"
                1..1
            ok 1 - no suggestions # time=817.341ms
            
            # Subtest: script suggestions
                ok 1 - expect rejected Promise
                ok 2 - expect rejected Promise
                1..2
            ok 2 - script suggestions # time=426.605ms
            
            # Subtest: bin suggestions
                ok 1 - expect rejected Promise
                ok 2 - expect rejected Promise
                1..2
            ok 3 - bin suggestions # time=351.205ms
            
            1..3
        ok 1 - errors # time=3916.887ms
        
        # Subtest: with --if-present
            ok 1 - did not try to run anything
            1..1
        ok 2 - with --if-present # time=3437.271ms
        
        1..2
    ok 7 - try to run missing script # time=7535.383ms
    
    # Subtest: run pre/post hooks
        ok 1 - should match pattern provided
        1..1
    ok 8 - run pre/post hooks # time=3658.11ms
    
    # Subtest: skip pre/post hooks when using ignoreScripts
        ok 1 - should be equivalent
        1..1
    ok 9 - skip pre/post hooks when using ignoreScripts # time=3395.535ms
    
    # Subtest: run silent
        ok 1 - should match pattern provided
        1..1
    ok 10 - run silent # time=3200.788ms
    
    # Subtest: list scripts
        # Subtest: no args
            ok 1 - basic report
            1..1
        ok 1 - no args # time=2160.479ms
        
        # Subtest: silent
            ok 1 - should be equivalent strictly
            1..1
        ok 2 - silent # time=3787.032ms
        
        # Subtest: warn json
            ok 1 - json report
            1..1
        ok 3 - warn json # time=2316.559ms
        
        # Subtest: parseable
            ok 1 - should be equivalent strictly
            1..1
        ok 4 - parseable # time=2764.525ms
        
        1..4
    ok 11 - list scripts # time=11396.743ms
    
    # Subtest: list scripts when no scripts
        ok 1 - nothing to report
        1..1
    ok 12 - list scripts when no scripts # time=2076.134ms
    
    # Subtest: list scripts, only commands
        ok 1 - should be equivalent strictly
        1..1
    ok 13 - list scripts, only commands # time=2273.54ms
    
    # Subtest: list scripts, only non-commands
        ok 1 - should be equivalent strictly
        1..1
    ok 14 - list scripts, only non-commands # time=1701.636ms
    
    # Subtest: workspaces
        # Subtest: list all scripts
            ok 1 - should be equivalent strictly
            1..1
        ok 1 - list all scripts # time=3088.445ms
        
        # Subtest: list regular scripts, filtered by name
            ok 1 - should be equivalent strictly
            1..1
        ok 2 - list regular scripts, filtered by name # time=2156.761ms
        
        # Subtest: list regular scripts, filtered by path
            ok 1 - should be equivalent strictly
            1..1
        ok 3 - list regular scripts, filtered by path # time=3343.567ms
        
        # Subtest: list regular scripts, filtered by parent folder
            ok 1 - should be equivalent strictly
            1..1
        ok 4 - list regular scripts, filtered by parent folder # time=2917.793ms
        
        # Subtest: list all scripts with colors
            ok 1 - should be equivalent strictly
            1..1
        ok 5 - list all scripts with colors # time=2476.474ms
        
        # Subtest: list all scripts --json
            ok 1 - should be equivalent strictly
            1..1
        ok 6 - list all scripts --json # time=2350.767ms
        
        # Subtest: list all scripts --parseable
            ok 1 - should be equivalent strictly
            1..1
        ok 7 - list all scripts --parseable # time=2798.295ms
        
        # Subtest: list no scripts --loglevel=silent
            ok 1 - should be equivalent strictly
            1..1
        ok 8 - list no scripts --loglevel=silent # time=2669.848ms
        
        # Subtest: run scripts across all workspaces
            ok 1 - should match pattern provided
            1..1
        ok 9 - run scripts across all workspaces # time=2765.456ms
        
        # Subtest: missing scripts in all workspaces
            ok 1 - should match pattern provided
            ok 2 - should log error msgs for each workspace script
            1..2
        ok 10 - missing scripts in all workspaces # time=3435.227ms
        
        # Subtest: missing scripts in some workspaces
            ok 1 - should match pattern provided
            ok 2 - should log error msgs for each workspace script
            1..2
        ok 11 - missing scripts in some workspaces # time=3811.165ms
        
        # Subtest: no workspaces when filtering by user args
            ok 1 - should throw error msg
            1..1
        ok 12 - no workspaces when filtering by user args # time=2900.277ms
        
        # Subtest: no workspaces
            ok 1 - should throw error msg
            1..1
        ok 13 - no workspaces # time=2200.317ms
        
        # Subtest: single failed workspace run
            ok 1 - should log error msgs for each workspace script
            1..1
        ok 14 - single failed workspace run # time=2255.707ms
        
        # Subtest: failed workspace run with succeeded runs
            ok 1 - should log error msgs for each workspace script
            ok 2 - should match pattern provided
            1..2
        ok 15 - failed workspace run with succeeded runs # time=2439.515ms
        
        1..15
    ok 15 - workspaces # time=43174.51ms
    
    1..15
    # time=108797.782ms
ok 60 - test/lib/commands/run-script.js # time=108797.782ms

# Subtest: test/lib/commands/sbom.js
    # Subtest: sbom
        # Subtest: basic sbom - spdx
            ok 1 - must match snapshot
            1..1
        ok 1 - basic sbom - spdx # time=23555.222ms
        
        # Subtest: basic sbom - cyclonedx
            ok 1 - must match snapshot
            1..1
        ok 2 - basic sbom - cyclonedx # time=3107.229ms
        
        # Subtest: --omit dev
            ok 1 - must match snapshot
            1..1
        ok 3 - --omit dev # time=2606.31ms
        
        # Subtest: --omit optional
            ok 1 - must match snapshot
            1..1
        ok 4 - --omit optional # time=2379.21ms
        
        # Subtest: --omit peer
            ok 1 - must match snapshot
            1..1
        ok 5 - --omit peer # time=2713.68ms
        
        # Subtest: missing format
            ok 1 - should throw error
            ok 2 - must match snapshot
            1..2
        ok 6 - missing format # time=3091.125ms
        
        # Subtest: invalid dep
            ok 1 - should list dep problems
            1..1
        ok 7 - invalid dep # time=2548.279ms
        
        # Subtest: missing dep
            ok 1 - should list dep problems
            1..1
        ok 8 - missing dep # time=2400.827ms
        
        # Subtest: missing (optional) dep
            ok 1 - must match snapshot
            1..1
        ok 9 - missing (optional) dep # time=2223.084ms
        
        # Subtest: extraneous dep
            ok 1 - must match snapshot
            1..1
        ok 10 - extraneous dep # time=2324.055ms
        
        # Subtest: lock file only
            ok 1 - must match snapshot
            1..1
        ok 11 - lock file only # time=2058.651ms
        
        # Subtest: lock file only - missing lock file
            ok 1 - should throw error
            ok 2 - must match snapshot
            1..2
        ok 12 - lock file only - missing lock file # time=2557.511ms
        
        # Subtest: loading a tree containing workspaces
            # Subtest: should list workspaces properly with default configs
                ok 1 - must match snapshot
                1..1
            ok 1 - should list workspaces properly with default configs # time=3337.096ms
            
            # Subtest: should not list workspaces with --no-workspaces
                ok 1 - must match snapshot
                1..1
            ok 2 - should not list workspaces with --no-workspaces # time=3386.179ms
            
            # Subtest: should filter worksapces with --workspace
                ok 1 - must match snapshot
                1..1
            ok 3 - should filter worksapces with --workspace # time=3170.086ms
            
            # Subtest: should filter workspaces with multiple --workspace flags
                ok 1 - must match snapshot
                1..1
            ok 4 - should filter workspaces with multiple --workspace flags # time=4687.201ms
            
            1..4
        ok 13 - loading a tree containing workspaces # time=15276.314ms
        
        1..13
    ok 1 - sbom # time=68197.177ms
    
    1..1
    # time=68247.541ms
ok 61 - test/lib/commands/sbom.js # time=68247.541ms

# Subtest: test/lib/commands/search.js
    # Subtest: no args
        ok 1 - should throw usage instructions
        1..1
    ok 1 - no args # time=5396.295ms
    
    # Subtest: search <name> text
        ok 1 - should have expected search results
        1..1
    ok 2 - search <name> text # time=4694.618ms
    
    # Subtest: search <name> --json
        ok 1 - should have expected search results as json
        1..1
    ok 3 - search <name> --json # time=2688.619ms
    
    # Subtest: search <name> --parseable
        ok 1 - should have expected search results as parseable
        1..1
    ok 4 - search <name> --parseable # time=2224.512ms
    
    # Subtest: search <name> --color
        ok 1 - should have expected search results with color
        1..1
    ok 5 - search <name> --color # time=2170.878ms
    
    # Subtest: search /<name>/--color
        ok 1 - should have expected search results with color
        1..1
    ok 6 - search /<name>/--color # time=2577.687ms
    
    # Subtest: search <name>
        ok 1 - should have filtered expected search results
        1..1
    ok 7 - search <name> # time=1928.491ms
    
    # Subtest: empty search results
        ok 1 - should have expected search results
        1..1
    ok 8 - empty search results # time=2173.672ms
    
    # Subtest: empty search results --json
        ok 1 - should have expected empty square brackets
        1..1
    ok 9 - empty search results --json # time=1708.411ms
    
    # Subtest: search api response error
        ok 1 - should throw response error
        1..1
    ok 10 - search api response error # time=1871.269ms
    
    # Subtest: search exclude string
        ok 1 - results should not have libnpmversion
        1..1
    ok 11 - search exclude string # time=2543.681ms
    
    # Subtest: search exclude username with upper case letters
        ok 1 - results should not have nlf
        1..1
    ok 12 - search exclude username with upper case letters # time=2563.765ms
    
    # Subtest: search exclude regex
        ok 1 - results should not have libnpmversion
        1..1
    ok 13 - search exclude regex # time=2444.78ms
    
    # Subtest: search exclude forward slash
        ok 1 - results should not have libnpmversion
        1..1
    ok 14 - search exclude forward slash # time=2090.462ms
    
    1..14
    # time=39415.622ms
ok 62 - test/lib/commands/search.js # time=39415.622ms

# Subtest: test/lib/commands/set.js
    # Subtest: no args
        ok 1 - prints usage
        1..1
    ok 1 - no args # time=7235.98ms
    
    # Subtest: test-config-item
        ok 1 - original config is set from npmrc
        ok 2 - config is not already new value
        ok 3 - outputs nothing
        ok 4 - config is set to new value
        ok 5 - npmrc is written with new value
        1..5
    ok 2 - test-config-item # time=2218.159ms
    
    1..2
    # time=9821.587ms
ok 63 - test/lib/commands/set.js # time=9821.587ms

# Subtest: test/lib/commands/shrinkwrap.js
    # Subtest: with nothing
        # Subtest: ancient
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 1 - ancient # time=21097.491ms
        
        # Subtest: ancient upgrade
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 2 - ancient upgrade # time=2328.002ms
        
        1..2
    ok 1 - with nothing # time=23875.44ms
    
    # Subtest: with package-lock.json
        # Subtest: ancient
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 1 - ancient # time=2315.528ms
        
        # Subtest: ancient upgrade
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 2 - ancient upgrade # time=2216.668ms
        
        # Subtest: existing
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 3 - existing # time=1874.635ms
        
        # Subtest: existing upgrade
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 4 - existing upgrade # time=2050.094ms
        
        # Subtest: existing downgrade
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 5 - existing downgrade # time=1842.175ms
        
        1..5
    ok 2 - with package-lock.json # time=10850.555ms
    
    # Subtest: with npm-shrinkwrap.json
        # Subtest: ancient
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 1 - ancient # time=1756.463ms
        
        # Subtest: ancient upgrade
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 2 - ancient upgrade # time=1984.441ms
        
        # Subtest: existing
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 3 - existing # time=1818.609ms
        
        # Subtest: existing upgrade
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 4 - existing upgrade # time=2734.98ms
        
        # Subtest: existing downgrade
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 5 - existing downgrade # time=1942.865ms
        
        1..5
    ok 3 - with npm-shrinkwrap.json # time=10750.472ms
    
    # Subtest: with hidden lockfile
        # Subtest: ancient
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 1 - ancient # time=1678.773ms
        
        # Subtest: ancient upgrade
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 2 - ancient upgrade # time=1639.474ms
        
        # Subtest: existing
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 3 - existing # time=1674.501ms
        
        # Subtest: existing upgrade
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 4 - existing upgrade # time=1609.429ms
        
        # Subtest: existing downgrade
            ok 1 - package-lock is always deleted
            ok 2 - no warnings
            ok 3 - should match pattern provided
            ok 4 - must match snapshot
            1..4
        ok 5 - existing downgrade # time=1639.516ms
        
        1..5
    ok 4 - with hidden lockfile # time=8689.819ms
    
    # Subtest: throws in global mode
        ok 1 - expect rejected Promise
        1..1
    ok 5 - throws in global mode # time=2210.581ms
    
    1..5
    # time=56589.319ms
ok 64 - test/lib/commands/shrinkwrap.js # time=56589.319ms

# Subtest: test/lib/commands/star.js
    # Subtest: no args
        ok 1 - should throw usage error
        1..1
    ok 1 - no args # time=5315.12ms
    
    # Subtest: first person to star a package unicode:false
        ok 1 - should output starred package msg
        1..1
    ok 2 - first person to star a package unicode:false # time=2976.998ms
    
    # Subtest: second person to star a package unicode:true
        ok 1 - should output starred package msg
        1..1
    ok 3 - second person to star a package unicode:true # time=3126.74ms
    
    1..3
    # time=11959.24ms
ok 65 - test/lib/commands/star.js # time=11959.24ms

# Subtest: test/lib/commands/stars.js
    # Subtest: no args
        1..3
        ok 1 - should fetch from expected uri
        ok 2 - should match logged in username
        ok 3 - should output a list of starred packages
    ok 1 - no args # time=6117.495ms
    
    # Subtest: npm star <user>
        1..3
        ok 1 - should fetch from expected uri
        ok 2 - should match username
        ok 3 - should output expected list of starred packages
    ok 2 - npm star <user> # time=1847.28ms
    
    # Subtest: unauthorized request
        ok 1 - should throw unauthorized request msg
        ok 2 - should warn auth required msg
        ok 3 - should have empty output
        1..3
    ok 3 - unauthorized request # time=1922.628ms
    
    # Subtest: unexpected error
        ok 1 - should throw unexpected error message
        ok 2 - no logs
        1..2
    ok 4 - unexpected error # time=2055.215ms
    
    # Subtest: no pkg starred
        ok 1 - should warn no starred packages msg
        1..1
    ok 5 - no pkg starred # time=1547.026ms
    
    1..5
    # time=14123.936ms
ok 66 - test/lib/commands/stars.js # time=14123.936ms

# Subtest: test/lib/commands/start.js
    # Subtest: should run start script from package.json
        ok 1 - script ran
        1..1
    ok 1 - should run start script from package.json # time=6700.504ms
    
    1..1
    # time=6992.057ms
ok 67 - test/lib/commands/start.js # time=6992.057ms

# Subtest: test/lib/commands/stop.js
    # Subtest: should run stop script from package.json
        ok 1 - script ran
        1..1
    ok 1 - should run stop script from package.json # time=6351.229ms
    
    1..1
    # time=6587.139ms
ok 68 - test/lib/commands/stop.js # time=6587.139ms

# Subtest: test/lib/commands/team.js
    # Subtest: no args
        ok 1 - should throw usage instructions
        1..1
    ok 1 - no args # time=7363.904ms
    
    # Subtest: team add <scope:team> <user>
        # Subtest: default output
            ok 1 - should output success result for add user
            1..1
        ok 1 - default output # time=2330.637ms
        
        # Subtest: --parseable
            ok 1 - should output success result for parseable add user
            1..1
        ok 2 - --parseable # time=1975.177ms
        
        # Subtest: --json
            ok 1 - should output success result for add user json
            1..1
        ok 3 - --json # time=2218.79ms
        
        # Subtest: --silent
            ok 1 - should not output success if silent
            1..1
        ok 4 - --silent # time=1811.645ms
        
        1..4
    ok 2 - team add <scope:team> <user> # time=8786.804ms
    
    # Subtest: team create <scope:team>
        # Subtest: default output
            ok 1 - should output success result for create team
            1..1
        ok 1 - default output # time=2352.312ms
        
        # Subtest: --parseable
            ok 1 - should output parseable success result for create team
            1..1
        ok 2 - --parseable # time=1760.274ms
        
        # Subtest: --json
            ok 1 - should output success result for create team
            1..1
        ok 3 - --json # time=1809.618ms
        
        # Subtest: --silent
            ok 1 - should not output create success if silent
            1..1
        ok 4 - --silent # time=1794.029ms
        
        1..4
    ok 3 - team create <scope:team> # time=8069.462ms
    
    # Subtest: team destroy <scope:team>
        # Subtest: default output
            ok 1 - should output success result for destroy team
            1..1
        ok 1 - default output # time=1781.443ms
        
        # Subtest: --parseable
            ok 1 - should output parseable result for destroy team
            1..1
        ok 2 - --parseable # time=1699.242ms
        
        # Subtest: --json
            ok 1 - should output parseable result for destroy team
            1..1
        ok 3 - --json # time=1836.74ms
        
        # Subtest: --silent
            ok 1 - should not output destroy if silent
            1..1
        ok 4 - --silent # time=1591.408ms
        
        1..4
    ok 4 - team destroy <scope:team> # time=7445.185ms
    
    # Subtest: team ls <scope>
        # Subtest: default output
            ok 1 - should list teams for a given scope
            1..1
        ok 1 - default output # time=2005.311ms
        
        # Subtest: --parseable
            ok 1 - should list teams for a parseable scope
            1..1
        ok 2 - --parseable # time=1742.268ms
        
        # Subtest: --json
            ok 1 - should json list teams for a scope json
            1..1
        ok 3 - --json # time=1835.094ms
        
        # Subtest: --silent
            ok 1 - should not list teams if silent
            1..1
        ok 4 - --silent # time=2604.337ms
        
        # Subtest: no teams
            ok 1 - should list no teams for a given scope
            1..1
        ok 5 - no teams # time=1662.263ms
        
        # Subtest: single team
            ok 1 - should list single team for a given scope
            1..1
        ok 6 - single team # time=1768.55ms
        
        1..6
    ok 5 - team ls <scope> # time=12064.837ms
    
    # Subtest: team ls <scope:team>
        # Subtest: default output
            ok 1 - should list users for a given scope:team
            1..1
        ok 1 - default output # time=2256.401ms
        
        # Subtest: --parseable
            ok 1 - should list users for a parseable scope:team
            1..1
        ok 2 - --parseable # time=1795.061ms
        
        # Subtest: --json
            ok 1 - should list users for a scope:team json
            1..1
        ok 3 - --json # time=1649.429ms
        
        # Subtest: --silent
            ok 1 - should not output users if silent
            1..1
        ok 4 - --silent # time=1702.284ms
        
        # Subtest: no users
            ok 1 - should list no users for a given scope
            1..1
        ok 5 - no users # time=1717.263ms
        
        # Subtest: single user
            ok 1 - should list single user for a given scope
            1..1
        ok 6 - single user # time=1703.588ms
        
        1..6
    ok 6 - team ls <scope:team> # time=11298.153ms
    
    # Subtest: team rm <scope:team> <user>
        # Subtest: default output
            ok 1 - should output success result for remove user
            1..1
        ok 1 - default output # time=1747.851ms
        
        # Subtest: --parseable
            ok 1 - should output parseable result for remove user
            1..1
        ok 2 - --parseable # time=1601.368ms
        
        # Subtest: --json
            ok 1 - should output json result for remove user
            1..1
        ok 3 - --json # time=1742.226ms
        
        # Subtest: --silent
            ok 1 - should not output rm result if silent
            1..1
        ok 4 - --silent # time=1919.815ms
        
        1..4
    ok 7 - team rm <scope:team> <user> # time=7311.28ms
    
    # Subtest: completion
        # Subtest: npm team autocomplete
            ok 1 - should auto complete with subcommands
            1..1
        ok 1 - npm team autocomplete # time=92.135ms
        
        # Subtest: npm team <subcommand> autocomplete
            ok 1 - should not autocomplete create subcommand
            ok 2 - should not autocomplete destroy subcommand
            ok 3 - should not autocomplete add subcommand
            ok 4 - should not autocomplete rm subcommand
            ok 5 - should not autocomplete ls subcommand
            1..5
        ok 2 - npm team <subcommand> autocomplete # time=56.305ms
        
        # Subtest: npm team unknown subcommand autocomplete
            ok 1 - should throw a a not recognized error
            1..1
        ok 3 - npm team unknown subcommand autocomplete # time=32.332ms
        
        1..3
    ok 8 - completion # time=1733.257ms
    
    1..8
    # time=64813.842ms
ok 69 - test/lib/commands/team.js # time=64813.842ms

# Subtest: test/lib/commands/test.js
    # Subtest: should run test script from package.json
        ok 1 - script ran
        1..1
    ok 1 - should run test script from package.json # time=6664.459ms
    
    1..1
    # time=6879.898ms
ok 70 - test/lib/commands/test.js # time=6879.898ms

# Subtest: test/lib/commands/token.js
    # Subtest: completion
        ok 1 - npm token
        ok 2 - npm token list
        ok 3 - npm token revoke
        ok 4 - npm token create
        ok 5 - expect rejected Promise
        1..5
    ok 1 - completion # time=7352.599ms
    
    # Subtest: token foobar
        ok 1 - expect rejected Promise
        1..1
    ok 2 - token foobar # time=2811.207ms
    
    # Subtest: token list
        ok 1 - requests correct registry
        ok 2 - should be equivalent
        ok 3 - includes the trimmed key
        ok 4 - includes the trimmed token
        ok 5 - includes the trimmed creation timestamp
        ok 6 - includes the "no" string for readonly state
        ok 7 - includes the trimmed key
        ok 8 - includes the trimmed token
        ok 9 - includes the trimmed creation timestamp
        ok 10 - includes the "no" string for readonly state
        ok 11 - includes the cidr whitelist
        1..11
    ok 3 - token list # time=3402.35ms
    
    # Subtest: token list json output
        ok 1 - requests correct registry
        ok 2 - passes the correct auth
        ok 3 - prints the json parsed tokens
        1..3
    ok 4 - token list json output # time=2985.367ms
    
    # Subtest: token list parseable output
        ok 1 - requests correct registry
        ok 2 - passes the correct auth
        ok 3 - prints header
        ok 4 - prints token info
        ok 5 - prints token info
        1..5
    ok 5 - token list parseable output # time=2472.464ms
    
    # Subtest: token revoke
        ok 1 - requests correct registry
        ok 2 - passes the correct empty auth
        ok 3 - deletes the correct token
        ok 4 - should be equal
        1..4
    ok 6 - token revoke # time=2088.977ms
    
    # Subtest: token revoke multiple tokens
        ok 1 - requests correct registry
        ok 2 - deletes the correct token
        ok 3 - deletes the correct token
        ok 4 - should be equal
        1..4
    ok 7 - token revoke multiple tokens # time=1686.549ms
    
    # Subtest: token revoke json output
        ok 1 - requests correct registry
        ok 2 - deletes the correct token
        ok 3 - logs the token as json
        1..3
    ok 8 - token revoke json output # time=2105.482ms
    
    # Subtest: token revoke parseable output
        ok 1 - requests correct registry
        ok 2 - deletes the correct token
        ok 3 - logs the token as a string
        1..3
    ok 9 - token revoke parseable output # time=2036.86ms
    
    # Subtest: token revoke by token
        ok 1 - requests correct registry
        ok 2 - passes through user input
        ok 3 - should be equal
        1..3
    ok 10 - token revoke by token # time=1993.103ms
    
    # Subtest: token revoke requires an id
        ok 1 - expect rejected Promise
        1..1
    ok 11 - token revoke requires an id # time=2413.073ms
    
    # Subtest: token revoke ambiguous id errors
        ok 1 - requests correct registry
        ok 2 - expect rejected Promise
        1..2
    ok 12 - token revoke ambiguous id errors # time=2322.634ms
    
    # Subtest: token revoke unknown id errors
        ok 1 - requests correct registry
        ok 2 - expect rejected Promise
        1..2
    ok 13 - token revoke unknown id errors # time=2066.447ms
    
    # Subtest: token create
        ok 1 - requests correct registry
        ok 2 - should be equal
        ok 3 - should be equal
        ok 4 - defaults to empty array
        ok 5 - should match pattern provided
        ok 6 - prints the whole token
        ok 7 - should match pattern provided
        ok 8 - prints the correct timestamp
        ok 9 - should match pattern provided
        ok 10 - prints the readonly flag
        ok 11 - should match pattern provided
        1..11
    ok 14 - token create # time=2070.615ms
    
    # Subtest: token create json output
        ok 1 - requests correct registry
        ok 2 - should be equal
        ok 3 - should be equal
        ok 4 - defaults to empty array
        1..4
    ok 15 - token create json output # time=1812.273ms
    
    # Subtest: token create parseable output
        ok 1 - requests correct registry
        ok 2 - should be equal
        ok 3 - should be equal
        ok 4 - defaults to empty array
        ok 5 - prints the token
        ok 6 - prints the created timestamp
        ok 7 - prints the readonly flag
        ok 8 - prints the cidr whitelist
        1..8
    ok 16 - token create parseable output # time=1814.141ms
    
    # Subtest: token create ipv6 cidr
        ok 1 - requests correct registry
        ok 2 - returns correct error
        1..2
    ok 17 - token create ipv6 cidr # time=1944.457ms
    
    # Subtest: token create invalid cidr
        ok 1 - requests correct registry
        ok 2 - returns correct error
        1..2
    ok 18 - token create invalid cidr # time=1871.468ms
    
    1..18
    # time=47261.275ms
ok 71 - test/lib/commands/token.js # time=47261.275ms

# Subtest: test/lib/commands/uninstall.js
    # Subtest: remove single installed lib
        ok 1 - expect truthy value
        ok 2 - should have removed package from npm
        1..2
    ok 1 - remove single installed lib # time=21618.47ms
    
    # Subtest: remove multiple installed libs
        ok 1 - expect truthy value
        ok 2 - expect truthy value
        ok 3 - should have removed a package from nm
        ok 4 - should have removed b package from nm
        1..4
    ok 2 - remove multiple installed libs # time=2374.077ms
    
    # Subtest: no args local
        ok 1 - should throw package name required error
        1..1
    ok 3 - no args local # time=3300.103ms
    
    # Subtest: no args global
        ok 1 - expect truthy value
        ok 2 - should have removed global nm symlink
        1..2
    ok 4 - no args global # time=2330.507ms
    
    # Subtest: no args global but no package.json
        ok 1 - expect rejected Promise
        1..1
    ok 5 - no args global but no package.json # time=1866.555ms
    
    # Subtest: non ENOENT error reading from localPrefix package.json
        ok 1 - should throw non ENOENT error
        1..1
    ok 6 - non ENOENT error reading from localPrefix package.json # time=1884.517ms
    
    1..6
    # time=34065.552ms
ok 72 - test/lib/commands/uninstall.js # time=34065.552ms

# Subtest: test/lib/commands/unpublish.js
    # Subtest: no args --force success
        ok 1 - should be equal
        1..1
    ok 1 - no args --force success # time=5697.535ms
    
    # Subtest: no args --force missing package.json
        ok 1 - should throw usage instructions on missing package.json
        1..1
    ok 2 - no args --force missing package.json # time=3151.546ms
    
    # Subtest: no args --force error reading package.json
        ok 1 - should throw error from reading package.json
        1..1
    ok 3 - no args --force error reading package.json # time=1910.334ms
    
    # Subtest: no args entire project
        ok 1 - expect rejected Promise
        1..1
    ok 4 - no args entire project # time=2183.332ms
    
    # Subtest: too many args
        ok 1 - should throw usage instructions if too many args
        1..1
    ok 5 - too many args # time=1893.223ms
    
    # Subtest: unpublish <pkg>@version not the last version
        ok 1 - should be equal
        1..1
    ok 6 - unpublish <pkg>@version not the last version # time=2686.507ms
    
    # Subtest: unpublish <pkg>@version last version
        ok 1 - expect rejected Promise
        1..1
    ok 7 - unpublish <pkg>@version last version # time=2181.684ms
    
    # Subtest: no version found in package.json
        ok 1 - should be equal
        1..1
    ok 8 - no version found in package.json # time=2307.733ms
    
    # Subtest: unpublish <pkg> --force no version set
        ok 1 - should be equal
        1..1
    ok 9 - unpublish <pkg> --force no version set # time=2910.714ms
    
    # Subtest: silent
        ok 1 - should be equal
        1..1
    ok 10 - silent # time=2985.674ms
    
    # Subtest: workspaces
        # Subtest: no force
            ok 1 - expect rejected Promise
            1..1
        ok 1 - no force # time=2354.614ms
        
        # Subtest: all workspaces --force
            ok 1 - should be equal
            1..1
        ok 2 - all workspaces --force # time=3209.288ms
        
        # Subtest: one workspace --force
            ok 1 - should be equal
            1..1
        ok 3 - one workspace --force # time=2530.344ms
        
        1..3
    ok 11 - workspaces # time=8544.486ms
    
    # Subtest: dryRun with spec
        ok 1 - should be equal
        1..1
    ok 12 - dryRun with spec # time=2981.292ms
    
    # Subtest: dryRun with no args
        ok 1 - should be equal
        1..1
    ok 13 - dryRun with no args # time=1798.839ms
    
    # Subtest: publishConfig no spec
        ok 1 - should be equal
        1..1
    ok 14 - publishConfig no spec # time=2142.411ms
    
    # Subtest: publishConfig with spec
        ok 1 - should be equal
        1..1
    ok 15 - publishConfig with spec # time=2391.743ms
    
    # Subtest: scoped registry config
        1..0
    ok 16 - scoped registry config # time=2270.644ms
    
    # Subtest: completion
        # Subtest: completing with multiple versions from the registry
            ok 1 - npm unpublish
            1..1
        ok 1 - completing with multiple versions from the registry # time=502.529ms
        
        # Subtest: no versions retrieved
            ok 1 - should autocomplete package name only
            1..1
        ok 2 - no versions retrieved # time=639.749ms
        
        # Subtest: packages starting with same letters
            ok 1 - npm unpublish
            1..1
        ok 3 - packages starting with same letters # time=428.096ms
        
        # Subtest: no packages retrieved
            ok 1 - should have no autocompletion
            1..1
        ok 4 - no packages retrieved # time=361.313ms
        
        # Subtest: no pkg name to complete
            ok 1 - should autocomplete with available package names from user
            1..1
        ok 5 - no pkg name to complete # time=368.939ms
        
        # Subtest: logged out user
            ok 1 - npm unpublish
            1..1
        ok 6 - logged out user # time=137.705ms
        
        # Subtest: too many args
            ok 1 - npm unpublish foo
            1..1
        ok 7 - too many args # time=7.207ms
        
        1..7
    ok 17 - completion # time=4425.921ms
    
    1..17
    # time=53876.636ms
ok 73 - test/lib/commands/unpublish.js # time=53876.636ms

# Subtest: test/lib/commands/unstar.js
    # Subtest: no args
        ok 1 - should throw usage error
        1..1
    ok 1 - no args # time=4827.167ms
    
    # Subtest: unstar a package unicode:false
        ok 1 - should output unstarred package msg
        1..1
    ok 2 - unstar a package unicode:false # time=3920.015ms
    
    # Subtest: unstar a package unicode:true
        ok 1 - should output unstarred package msg
        1..1
    ok 3 - unstar a package unicode:true # time=2707.948ms
    
    1..3
    # time=11901.132ms
ok 74 - test/lib/commands/unstar.js # time=11901.132ms

# Subtest: test/lib/commands/update.js
    # Subtest: no args
        ok 1 - path
        ok 2 - should default to save=false
        ok 3 - workspaces
        ok 4 - should update all deps
        ok 5 - should be equal
        1..5
    ok 1 - no args # time=7452.054ms
    
    # Subtest: with args
        ok 1 - save
        ok 2 - ipt
        1..2
    ok 2 - with args # time=1917.943ms
    
    # Subtest: update --depth=<number>
        ok 1 - should print expected title
        ok 2 - should print expected warning message
        1..2
    ok 3 - update --depth=<number> # time=1848.051ms
    
    # Subtest: update --global
        ok 1 - should match pattern provided
        ok 2 - expect truthy value
        1..2
    ok 4 - update --global # time=1774.451ms
    
    1..4
    # time=13471.069ms
ok 75 - test/lib/commands/update.js # time=13471.069ms

# Subtest: test/lib/commands/version.js
    # Subtest: node@1
        # Subtest: no args
            ok 1 - should output expected values for various versions in npm
            1..1
        ok 1 - no args # time=19809.156ms
        
        # Subtest: too many args
            ok 1 - should throw usage instructions error
            1..1
        ok 2 - too many args # time=2939.913ms
        
        # Subtest: completion
            ok 1 - npm version
            ok 2 - npm version major
            1..2
        ok 3 - completion # time=2473.105ms
        
        # Subtest: failure reading package.json
            ok 1 - should not have package name on returning object
            1..1
        ok 4 - failure reading package.json # time=2456.569ms
        
        1..4
    ok 1 - node@1 # time=28133.305ms
    
    # Subtest: empty versions
        # Subtest: --json option
            ok 1 - should return json stringified result
            1..1
        ok 1 - --json option # time=2110.369ms
        
        # Subtest: with one arg
            ok 1 - outputs the new version prefixed by the tagVersionPrefix
            1..1
        ok 2 - with one arg # time=1950.712ms
        
        # Subtest: workspaces
            # Subtest: no args, all workspaces
                ok 1 - outputs includes main package and workspace versions
                1..1
            ok 1 - no args, all workspaces # time=2426.977ms
            
            # Subtest: no args, single workspaces
                ok 1 - outputs includes main package and requested workspace versions
                1..1
            ok 2 - no args, single workspaces # time=2249.34ms
            
            # Subtest: no args, all workspaces, workspace with missing name or version
                ok 1 - outputs includes main package and valid workspace versions
                1..1
            ok 3 - no args, all workspaces, workspace with missing name or version # time=2472.915ms
            
            # Subtest: with one arg, all workspaces
                ok 1 - outputs the new version for only the workspaces prefixed by the tagVersionPrefix
                ok 2 - must match snapshot
                1..2
            ok 4 - with one arg, all workspaces # time=4074.639ms
            
            # Subtest: with one arg, all workspaces, saves package.json
                ok 1 - outputs the new version for only the workspaces prefixed by the tagVersionPrefix
                ok 2 - must match snapshot
                1..2
            ok 5 - with one arg, all workspaces, saves package.json # time=3094.714ms
            
            # Subtest: too many args
                ok 1 - should throw usage instructions error
                1..1
            ok 6 - too many args # time=2519.855ms
            
            # Subtest: no workspaces-update
                ok 1 - outputs the new version for only the workspaces prefixed by the tagVersionPrefix
                ok 2 - should not have a lockfile since have not reified
                1..2
            ok 7 - no workspaces-update # time=2045.037ms
            
            1..7
        ok 3 - workspaces # time=19516.798ms
        
        1..3
    ok 2 - empty versions # time=23855.865ms
    
    1..2
    # time=52044.948ms
ok 76 - test/lib/commands/version.js # time=52044.948ms

# Subtest: test/lib/commands/view.js
    # Subtest: package from git
        ok 1 - must match snapshot
        1..1
    ok 1 - package from git # time=7126.473ms
    
    # Subtest: deprecated package with license, bugs, repository and other fields
        ok 1 - must match snapshot
        1..1
    ok 2 - deprecated package with license, bugs, repository and other fields # time=2324.571ms
    
    # Subtest: deprecated package with unicode
        ok 1 - must match snapshot
        1..1
    ok 3 - deprecated package with unicode # time=2660.994ms
    
    # Subtest: package with more than 25 deps
        ok 1 - must match snapshot
        1..1
    ok 4 - package with more than 25 deps # time=2849.223ms
    
    # Subtest: package with maintainers info as object
        ok 1 - must match snapshot
        1..1
    ok 5 - package with maintainers info as object # time=2114.728ms
    
    # Subtest: package with homepage
        ok 1 - must match snapshot
        1..1
    ok 6 - package with homepage # time=1909.32ms
    
    # Subtest: package with no versions
        ok 1 - no info to display
        1..1
    ok 7 - package with no versions # time=2100.435ms
    
    # Subtest: package with no repo or homepage
        ok 1 - must match snapshot
        1..1
    ok 8 - package with no repo or homepage # time=2298.606ms
    
    # Subtest: package with semver range
        ok 1 - must match snapshot
        1..1
    ok 9 - package with semver range # time=2181.918ms
    
    # Subtest: package with no modified time
        ok 1 - must match snapshot
        1..1
    ok 10 - package with no modified time # time=2263.444ms
    
    # Subtest: package with --json and semver range
        ok 1 - must match snapshot
        1..1
    ok 11 - package with --json and semver range # time=2528.292ms
    
    # Subtest: package with --json and no versions
        ok 1 - no info to display
        1..1
    ok 12 - package with --json and no versions # time=1973.458ms
    
    # Subtest: package in cwd
        # Subtest: specific version
            ok 1 - must match snapshot
            1..1
        ok 1 - specific version # time=2231.215ms
        
        # Subtest: non-specific version
            ok 1 - must match snapshot
            1..1
        ok 2 - non-specific version # time=1826.607ms
        
        # Subtest: directory
            ok 1 - must match snapshot
            1..1
        ok 3 - directory # time=2027.09ms
        
        1..3
    ok 13 - package in cwd # time=6378.133ms
    
    # Subtest: specific field names
        # Subtest: readme
            ok 1 - must match snapshot
            1..1
        ok 1 - readme # time=414.191ms
        
        # Subtest: several fields
            ok 1 - must match snapshot
            1..1
        ok 2 - several fields # time=38.051ms
        
        # Subtest: several fields with several versions
            ok 1 - must match snapshot
            1..1
        ok 3 - several fields with several versions # time=31.584ms
        
        # Subtest: nested field with brackets
            ok 1 - must match snapshot
            1..1
        ok 4 - nested field with brackets # time=21.763ms
        
        # Subtest: maintainers with email
            ok 1 - must match snapshot
            1..1
        ok 5 - maintainers with email # time=36.139ms
        
        # Subtest: maintainers with url
            ok 1 - must match snapshot
            1..1
        ok 6 - maintainers with url # time=22.028ms
        
        # Subtest: unknown nested field 
            ok 1 - no info to display
            1..1
        ok 7 - unknown nested field # time=21.983ms
        
        # Subtest: array field - 1 element
            ok 1 - must match snapshot
            1..1
        ok 8 - array field - 1 element # time=25.347ms
        
        # Subtest: array field - 2 elements
            ok 1 - must match snapshot
            1..1
        ok 9 - array field - 2 elements # time=21.817ms
        
        1..9
    ok 14 - specific field names # time=2560.123ms
    
    # Subtest: throw error if global mode
        ok 1 - expect rejected Promise
        1..1
    ok 15 - throw error if global mode # time=4162.528ms
    
    # Subtest: throw ENOENT error if package.json missing
        ok 1 - expect rejected Promise
        1..1
    ok 16 - throw ENOENT error if package.json missing # time=1923.189ms
    
    # Subtest: throw error if package.json has no name
        ok 1 - expect rejected Promise
        1..1
    ok 17 - throw error if package.json has no name # time=2722.654ms
    
    # Subtest: throws when unpublished
        ok 1 - expect rejected Promise
        1..1
    ok 18 - throws when unpublished # time=2128.794ms
    
    # Subtest: throws when version not matched
        ok 1 - expect rejected Promise
        1..1
    ok 19 - throws when version not matched # time=2163.718ms
    
    # Subtest: workspaces
        # Subtest: all workspaces
            ok 1 - must match snapshot
            1..1
        ok 1 - all workspaces # time=3021.377ms
        
        # Subtest: one specific workspace
            ok 1 - must match snapshot
            1..1
        ok 2 - one specific workspace # time=2268.43ms
        
        # Subtest: all workspaces --json
            ok 1 - must match snapshot
            1..1
        ok 3 - all workspaces --json # time=2230.168ms
        
        # Subtest: all workspaces single field
            ok 1 - must match snapshot
            1..1
        ok 4 - all workspaces single field # time=1981.101ms
        
        # Subtest: all workspaces nonexistent field
            ok 1 - must match snapshot
            1..1
        ok 5 - all workspaces nonexistent field # time=2322.225ms
        
        # Subtest: all workspaces nonexistent field --json
            ok 1 - must match snapshot
            1..1
        ok 6 - all workspaces nonexistent field --json # time=2215.209ms
        
        # Subtest: all workspaces single field --json
            ok 1 - must match snapshot
            1..1
        ok 7 - all workspaces single field --json # time=1928.968ms
        
        # Subtest: single workspace --json
            ok 1 - must match snapshot
            1..1
        ok 8 - single workspace --json # time=1873.252ms
        
        # Subtest: remote package name
            ok 1 - must match snapshot
            ok 2 - should have warning of ignoring workspaces
            1..2
        ok 9 - remote package name # time=1944.177ms
        
        1..9
    ok 20 - workspaces # time=20388.096ms
    
    # Subtest: completion
        ok 1 - returns back fields
        1..1
    ok 21 - completion # time=1838.177ms
    
    # Subtest: no package completion
        ok 1 - there is no package completion
        1..1
    ok 22 - no package completion # time=1965.092ms
    
    1..22
    # time=80641.164ms
ok 77 - test/lib/commands/view.js # time=80641.164ms

# Subtest: test/lib/commands/whoami.js
    # Subtest: npm whoami
        ok 1 - should print username
        1..1
    ok 1 - npm whoami # time=5498.922ms
    
    # Subtest: npm whoami --json
        ok 1 - should print username
        1..1
    ok 2 - npm whoami --json # time=2228.179ms
    
    # Subtest: npm whoami using mTLS
        ok 1 - should print username
        1..1
    ok 3 - npm whoami using mTLS # time=2734.92ms
    
    # Subtest: credentials from token
        ok 1 - should print username
        1..1
    ok 4 - credentials from token # time=1726.39ms
    
    # Subtest: not logged in
        ok 1 - expect rejected Promise
        1..1
    ok 5 - not logged in # time=2823.087ms
    
    # Subtest: non-string username in response
        ok 1 - expect rejected Promise
        ok 2 - expect truthy value
        1..2
    ok 6 - non-string username in response # time=2717.812ms
    
    1..6
    # time=18586.098ms
ok 78 - test/lib/commands/whoami.js # time=18586.098ms

# Subtest: test/lib/es6/validate-engines.js
    # Subtest: validate engines
        ok 1 - should be equal
        ok 2 - should be equal
        ok 3 - should be equal
        ok 4 - should be equal
        ok 5 - should match pattern provided
        ok 6 - should be equal
        ok 7 - should be equal
        1..7
    ok 1 - validate engines # time=290.033ms
    
    1..1
    # time=448.941ms
ok 79 - test/lib/es6/validate-engines.js # time=448.941ms

# Subtest: test/lib/utils/audit-error.js
    # Subtest: no error, not audit command
        ok 1 - no error
        ok 2 - no error
        ok 3 - install output
        ok 4 - install output
        ok 5 - no warnings
        1..5
    ok 1 - no error, not audit command # time=19312.278ms
    
    # Subtest: error, not audit command
        ok 1 - had error
        ok 2 - no error
        ok 3 - install output
        ok 4 - install output
        ok 5 - no warnings
        1..5
    ok 2 - error, not audit command # time=2604.63ms
    
    # Subtest: error, audit command, not json
        ok 1 - should be equal
        ok 2 - throws error
        ok 3 - some output
        ok 4 - some warnings
        1..4
    ok 3 - error, audit command, not json # time=2778.252ms
    
    # Subtest: error, audit command, json
        ok 1 - should be equal
        ok 2 - throws error
        ok 3 - some output
        ok 4 - some warnings
        1..4
    ok 4 - error, audit command, json # time=2623.46ms
    
    1..4
    # time=27687.092ms
ok 80 - test/lib/utils/audit-error.js # time=27687.092ms

# Subtest: test/lib/utils/did-you-mean.js
    # Subtest: did-you-mean
        # Subtest: with package.json
            # Subtest: nistall
                ok 1 - should match pattern provided
                1..1
            ok 1 - nistall # time=14036.413ms
            
            # Subtest: sttest
                ok 1 - should match pattern provided
                ok 2 - should match pattern provided
                1..2
            ok 2 - sttest # time=289.374ms
            
            # Subtest: npz
                ok 1 - should match pattern provided
                1..1
            ok 3 - npz # time=99.86ms
            
            # Subtest: qwuijbo
                ok 1 - should match pattern provided
                1..1
            ok 4 - qwuijbo # time=115.612ms
            
            1..4
        ok 1 - with package.json # time=14750.992ms
        
        # Subtest: with no package.json
            # Subtest: nistall
                ok 1 - should match pattern provided
                1..1
            ok 1 - nistall # time=32.69ms
            
            1..1
        ok 2 - with no package.json # time=95.696ms
        
        # Subtest: missing bin and script properties
            ok 1 - should match pattern provided
            1..1
        ok 3 - missing bin and script properties # time=44.586ms
        
        1..3
    ok 1 - did-you-mean # time=15153.501ms
    
    1..1
    # time=15211.719ms
ok 81 - test/lib/utils/did-you-mean.js # time=15211.719ms

# Subtest: test/lib/utils/display.js
    # Subtest: setup
        ok 1 - should be equal
        ok 2 - should be equal
        ok 3 - should be equal
        ok 4 - should be equal
        ok 5 - should be equal
        ok 6 - should be equal
        1..6
    ok 1 - setup # time=499.048ms
    
    # Subtest: can log
        ok 1 - should match pattern provided
        ok 2 - should match pattern provided
        ok 3 - should match pattern provided
        1..3
    ok 2 - can log # time=352.429ms
    
    # Subtest: handles log throwing
        ok 1 - should match pattern provided
        1..1
    ok 3 - handles log throwing # time=218.003ms
    
    1..3
    # time=1170.466ms
ok 82 - test/lib/utils/display.js # time=1170.466ms

# Subtest: test/lib/utils/error-message.js
    # Subtest: just simple messages
        ok 1 - must match snapshot
        ok 2 - must match snapshot
        ok 3 - must match snapshot
        ok 4 - must match snapshot
        ok 5 - must match snapshot
        ok 6 - must match snapshot
        ok 7 - must match snapshot
        ok 8 - must match snapshot
        ok 9 - must match snapshot
        ok 10 - must match snapshot
        ok 11 - must match snapshot
        ok 12 - must match snapshot
        ok 13 - must match snapshot
        ok 14 - must match snapshot
        ok 15 - must match snapshot
        ok 16 - must match snapshot
        ok 17 - must match snapshot
        ok 18 - must match snapshot
        ok 19 - must match snapshot
        ok 20 - must match snapshot
        ok 21 - must match snapshot
        ok 22 - must match snapshot
        ok 23 - must match snapshot
        1..23
    ok 1 - just simple messages # time=19928.169ms
    
    # Subtest: replace message/stack sensistive info
        ok 1 - must match snapshot
        1..1
    ok 2 - replace message/stack sensistive info # time=3141.883ms
    
    # Subtest: bad engine without config loaded
        ok 1 - must match snapshot
        1..1
    ok 3 - bad engine without config loaded # time=1521.715ms
    
    # Subtest: enoent without a file
        ok 1 - must match snapshot
        1..1
    ok 4 - enoent without a file # time=1930.7ms
    
    # Subtest: enolock without a command
        ok 1 - must match snapshot
        1..1
    ok 5 - enolock without a command # time=1864.658ms
    
    # Subtest: default message
        ok 1 - must match snapshot
        ok 2 - must match snapshot
        ok 3 - must match snapshot
        1..3
    ok 6 - default message # time=2144.187ms
    
    # Subtest: args are cleaned
        ok 1 - must match snapshot
        1..1
    ok 7 - args are cleaned # time=1745.714ms
    
    # Subtest: eacces/eperm
        # Subtest: {"windows":true,"loaded":true,"cachePath":true,"cacheDest":true}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 1 - {"windows":true,"loaded":true,"cachePath":true,"cacheDest":true} # time=2573.968ms
        
        # Subtest: {"windows":true,"loaded":true,"cachePath":true,"cacheDest":false}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 2 - {"windows":true,"loaded":true,"cachePath":true,"cacheDest":false} # time=2290.677ms
        
        # Subtest: {"windows":true,"loaded":true,"cachePath":false,"cacheDest":true}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 3 - {"windows":true,"loaded":true,"cachePath":false,"cacheDest":true} # time=1862.665ms
        
        # Subtest: {"windows":true,"loaded":true,"cachePath":false,"cacheDest":false}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 4 - {"windows":true,"loaded":true,"cachePath":false,"cacheDest":false} # time=2161.24ms
        
        # Subtest: {"windows":true,"loaded":false,"cachePath":true,"cacheDest":true}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 5 - {"windows":true,"loaded":false,"cachePath":true,"cacheDest":true} # time=1520.517ms
        
        # Subtest: {"windows":true,"loaded":false,"cachePath":true,"cacheDest":false}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 6 - {"windows":true,"loaded":false,"cachePath":true,"cacheDest":false} # time=1961.836ms
        
        # Subtest: {"windows":true,"loaded":false,"cachePath":false,"cacheDest":true}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 7 - {"windows":true,"loaded":false,"cachePath":false,"cacheDest":true} # time=1588.846ms
        
        # Subtest: {"windows":true,"loaded":false,"cachePath":false,"cacheDest":false}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 8 - {"windows":true,"loaded":false,"cachePath":false,"cacheDest":false} # time=1465.964ms
        
        # Subtest: {"windows":false,"loaded":true,"cachePath":true,"cacheDest":true}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 9 - {"windows":false,"loaded":true,"cachePath":true,"cacheDest":true} # time=1957.079ms
        
        # Subtest: {"windows":false,"loaded":true,"cachePath":true,"cacheDest":false}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 10 - {"windows":false,"loaded":true,"cachePath":true,"cacheDest":false} # time=1769.156ms
        
        # Subtest: {"windows":false,"loaded":true,"cachePath":false,"cacheDest":true}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 11 - {"windows":false,"loaded":true,"cachePath":false,"cacheDest":true} # time=1671.392ms
        
        # Subtest: {"windows":false,"loaded":true,"cachePath":false,"cacheDest":false}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 12 - {"windows":false,"loaded":true,"cachePath":false,"cacheDest":false} # time=1716.539ms
        
        # Subtest: {"windows":false,"loaded":false,"cachePath":true,"cacheDest":true}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 13 - {"windows":false,"loaded":false,"cachePath":true,"cacheDest":true} # time=1567.692ms
        
        # Subtest: {"windows":false,"loaded":false,"cachePath":true,"cacheDest":false}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 14 - {"windows":false,"loaded":false,"cachePath":true,"cacheDest":false} # time=1463.621ms
        
        # Subtest: {"windows":false,"loaded":false,"cachePath":false,"cacheDest":true}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 15 - {"windows":false,"loaded":false,"cachePath":false,"cacheDest":true} # time=1547.303ms
        
        # Subtest: {"windows":false,"loaded":false,"cachePath":false,"cacheDest":false}
            ok 1 - must match snapshot
            ok 2 - must match snapshot
            1..2
        ok 16 - {"windows":false,"loaded":false,"cachePath":false,"cacheDest":false} # time=1362.407ms
        
        1..16
    ok 8 - eacces/eperm # time=29873.304ms
    
    # Subtest: json parse
        # Subtest: merge conflict in package.json
            ok 1 - must match snapshot
            1..1
        ok 1 - merge conflict in package.json # time=2070.062ms
        
        # Subtest: just regular bad json in package.json
            ok 1 - must match snapshot
            1..1
        ok 2 - just regular bad json in package.json # time=2117.808ms
        
        # Subtest: json somewhere else
            ok 1 - must match snapshot
            1..1
        ok 3 - json somewhere else # time=1868.169ms
        
        1..3
    ok 9 - json parse # time=6412.86ms
    
    # Subtest: eotp/e401
        # Subtest: 401, no auth headers
            ok 1 - must match snapshot
            1..1
        ok 1 - 401, no auth headers # time=58.755ms
        
        # Subtest: 401, no message
            ok 1 - must match snapshot
            1..1
        ok 2 - 401, no message # time=12.391ms
        
        # Subtest: one-time pass challenge code
            ok 1 - must match snapshot
            1..1
        ok 3 - one-time pass challenge code # time=29.42ms
        
        # Subtest: one-time pass challenge message
            ok 1 - must match snapshot
            1..1
        ok 4 - one-time pass challenge message # time=73.993ms
        
        # Subtest: www-authenticate challenges
            1..4
            # Subtest: Bearer realm=do, charset="UTF-8", challenge="yourself"
                ok 1 - must match snapshot
                1..1
            ok 1 - Bearer realm=do, charset="UTF-8", challenge="yourself" # time=39.078ms
            
            # Subtest: Basic realm=by, charset="UTF-8", challenge="your friends"
                ok 1 - must match snapshot
                1..1
            ok 2 - Basic realm=by, charset="UTF-8", challenge="your friends" # time=41.145ms
            
            # Subtest: PickACardAnyCard realm=friday, charset="UTF-8"
                ok 1 - must match snapshot
                1..1
            ok 3 - PickACardAnyCard realm=friday, charset="UTF-8" # time=30.851ms
            
            # Subtest: WashYourHands, charset="UTF-8"
                ok 1 - must match snapshot
                1..1
            ok 4 - WashYourHands, charset="UTF-8" # time=30.955ms
            
        ok 5 - www-authenticate challenges # time=486.661ms
        
        1..5
    ok 10 - eotp/e401 # time=2546.563ms
    
    # Subtest: 404
        # Subtest: no package id
            ok 1 - must match snapshot
            1..1
        ok 1 - no package id # time=54.352ms
        
        # Subtest: you should publish it
            ok 1 - must match snapshot
            1..1
        ok 2 - you should publish it # time=38.377ms
        
        # Subtest: name with warning
            ok 1 - must match snapshot
            1..1
        ok 3 - name with warning # time=84.177ms
        
        # Subtest: name with error
            ok 1 - must match snapshot
            1..1
        ok 4 - name with error # time=30.707ms
        
        # Subtest: cleans sensitive info from package id
            ok 1 - must match snapshot
            1..1
        ok 5 - cleans sensitive info from package id # time=44.476ms
        
        1..5
    ok 11 - 404 # time=2121.198ms
    
    # Subtest: bad platform
        # Subtest: string os/arch
            ok 1 - must match snapshot
            1..1
        ok 1 - string os/arch # time=58.675ms
        
        # Subtest: array os/arch
            ok 1 - must match snapshot
            1..1
        ok 2 - array os/arch # time=36.129ms
        
        # Subtest: omits keys with no required value
            ok 1 - must match snapshot
            ok 2 - omits cpu from message
            ok 3 - omits libc from message
            1..3
        ok 3 - omits keys with no required value # time=117.618ms
        
        1..3
    ok 12 - bad platform # time=2001.859ms
    
    # Subtest: explain ERESOLVE errors
        ok 1 - must match snapshot
        ok 2 - should be equal
        ok 3 - should match pattern provided
        ok 4 - color chalk level is not 0
        ok 5 - colorless chalk level is 0
        1..5
    ok 13 - explain ERESOLVE errors # time=1651.152ms
    
    1..13
    # time=77720.42ms
ok 83 - test/lib/utils/error-message.js # time=77720.42ms

sh: warning: setlocale: LC_ALL: cannot change locale (sk)
# Subtest: test/lib/utils/exit-handler.js
    # Subtest: handles unknown error with logs and debug file
        ok 1 - should be equal
        ok 2 - log appears in debug file
        ok 3 - log appears in debug file
        ok 4 - log appears in debug file
        ok 5 - log appears in debug file
        ok 6 - log appears in debug file
        ok 7 - log appears in debug file
        ok 8 - log appears in debug file
        ok 9 - log appears in debug file
        ok 10 - log appears in debug file
        ok 11 - log appears in debug file
        ok 12 - log appears in debug file
        ok 13 - log appears in debug file
        ok 14 - log appears in debug file
        ok 15 - log appears in debug file
        ok 16 - log appears in debug file
        ok 17 - log appears in debug file
        ok 18 - log appears in debug file
        ok 19 - log appears in debug file
        ok 20 - log appears in debug file
        ok 21 - log appears in debug file
        ok 22 - log appears in debug file
        ok 23 - log appears in debug file
        ok 24 - log appears in debug file
        ok 25 - log appears in debug file
        ok 26 - log appears in debug file
        ok 27 - log appears in debug file
        ok 28 - log appears in debug file
        ok 29 - log appears in debug file
        ok 30 - log appears in debug file
        ok 31 - log appears in debug file
        ok 32 - log appears in debug file
        ok 33 - log appears in debug file
        ok 34 - log appears in debug file
        ok 35 - log appears in debug file
        ok 36 - log appears in debug file
        ok 37 - log appears in debug file
        ok 38 - log appears in debug file
        ok 39 - log appears in debug file
        ok 40 - log appears in debug file
        ok 41 - log appears in debug file
        ok 42 - should be equal
        ok 43 - should match pattern provided
        ok 44 - should match pattern provided
        ok 45 - should match pattern provided
        ok 46 - should match pattern provided
        ok 47 - logs
        ok 48 - debug file contents
        1..48
    ok 1 - handles unknown error with logs and debug file # time=6598.293ms
    
    # Subtest: exit handler never called - loglevel silent
        ok 1 - should match pattern provided
        ok 2 - logs one empty string to console.error
        1..2
    ok 2 - exit handler never called - loglevel silent # time=2133.126ms
    
    # Subtest: exit handler never called - loglevel notice
        ok 1 - should be equal
        ok 2 - should match pattern provided
        ok 3 - logs two empty strings to console.error
        1..3
    ok 3 - exit handler never called - loglevel notice # time=1926.458ms
    
    # Subtest: exit handler never called - no npm
        ok 1 - should be equal
        ok 2 - should match pattern provided
        ok 3 - logs one empty string to console.error
        1..3
    ok 4 - exit handler never called - no npm # time=1412.69ms
    
    # Subtest: exit handler called - no npm
        ok 1 - should be equal
        ok 2 - should match pattern provided
        1..2
    ok 5 - exit handler called - no npm # time=2114.957ms
    
    # Subtest: exit handler called - no npm with error
        ok 1 - should be equal
        ok 2 - should match pattern provided
        1..2
    ok 6 - exit handler called - no npm with error # time=1427.684ms
    
    # Subtest: exit handler called - no npm with error without stack
        ok 1 - should be equal
        ok 2 - should match pattern provided
        1..2
    ok 7 - exit handler called - no npm with error without stack # time=1181.098ms
    
    # Subtest: console.log output using --json
        ok 1 - should be equal
        ok 2 - should output expected json output
        1..2
    ok 8 - console.log output using --json # time=1990.042ms
    
    # Subtest: merges output buffers errors with --json
        ok 1 - should be equal
        ok 2 - should output expected json output
        1..2
    ok 9 - merges output buffers errors with --json # time=1829.32ms
    
    # Subtest: output buffer without json
        ok 1 - should be equal
        ok 2 - should output expected output
        ok 3 - should match pattern provided
        1..3
    ok 10 - output buffer without json # time=1837.029ms
    
    # Subtest: throw a non-error obj
        ok 1 - should be equal
        ok 2 - should match pattern provided
        1..2
    ok 11 - throw a non-error obj # time=1650.808ms
    
    # Subtest: throw a string error
        ok 1 - should be equal
        ok 2 - should match pattern provided
        1..2
    ok 12 - throw a string error # time=1880.806ms
    
    # Subtest: update notification
        ok 1 - should match pattern provided
        1..1
    ok 13 - update notification # time=1658.653ms
    
    # Subtest: npm.config not ready
        ok 1 - should be equal
        ok 2 - should exit with config error msg
        ok 3 - should exit with config error msg
        1..3
    ok 14 - npm.config not ready # time=1729.054ms
    
    # Subtest: no logs dir
        ok 1 - should match pattern provided
        1..1
    ok 15 - no logs dir # time=1814.707ms
    
    # Subtest: timers fail to write
        ok 1 - should match pattern provided
        1..1
    ok 16 - timers fail to write # time=1845.891ms
    
    # Subtest: log files fail to write
        ok 1 - should match pattern provided
        1..1
    ok 17 - log files fail to write # time=1734.312ms
    
    # Subtest: files from error message
        ok 1 - should match pattern provided
        ok 2 - should match pattern provided
        ok 3 - should match pattern provided
        1..3
    ok 18 - files from error message # time=1647.121ms
    
    # Subtest: files from error message with error
        ok 1 - should match pattern provided
        1..1
    ok 19 - files from error message with error # time=1836.062ms
    
    # Subtest: timing with no error
        ok 1 - should be equal
        ok 2 - should match pattern provided
        ok 3 - should match pattern provided
        ok 4 - should match pattern provided
        ok 5 - should be equivalent strictly
        ok 6 - should match pattern provided
        1..6
    ok 20 - timing with no error # time=1769.478ms
    
    # Subtest: unfinished timers
        ok 1 - should be equal
        ok 2 - should match pattern provided
        ok 3 - should match pattern provided
        1..3
    ok 21 - unfinished timers # time=1795.359ms
    
    # Subtest: uses code from errno
        ok 1 - should be equal
        ok 2 - should match pattern provided
        1..2
    ok 22 - uses code from errno # time=1597.933ms
    
    # Subtest: uses code from number
        ok 1 - should be equal
        ok 2 - should match pattern provided
        1..2
    ok 23 - uses code from number # time=1548.528ms
    
    # Subtest: uses all err special properties
        ok 1 - should be equal
        ok 2 - all special keys get logged
        1..2
    ok 24 - uses all err special properties # time=1721.555ms
    
    # Subtest: verbose logs replace info on err props
        ok 1 - should be equal
        ok 2 - all special keys get replaced
        1..2
    ok 25 - verbose logs replace info on err props # time=1954.96ms
    
    # Subtest: call exitHandler with no error
        ok 1 - should be equal
        ok 2 - should match pattern provided
        1..2
    ok 26 - call exitHandler with no error # time=1750.343ms
    
    # Subtest: defaults to log error msg if stack is missing when unloaded
        ok 1 - should be equal
        ok 2 - should use error msg
        ok 3 - should match pattern provided
        1..3
    ok 27 - defaults to log error msg if stack is missing when unloaded # time=1585.006ms
    
    # Subtest: exits uncleanly when only emitting exit event
        ok 1 - should match pattern provided
        ok 2 - exitCode coerced to 1
        1..2
    ok 28 - exits uncleanly when only emitting exit event # time=1624.447ms
    
    # Subtest: do no fancy handling for shellouts
        # Subtest: shellout with a numeric error code
            ok 1 - got expected exit code
            ok 2 - no noisy warnings
            1..2
        ok 1 - shellout with a numeric error code # time=155.903ms
        
        # Subtest: shellout without a numeric error code (something in npm)
            ok 1 - got expected exit code
            ok 2 - bring the noise
            1..2
        ok 2 - shellout without a numeric error code (something in npm) # time=56.75ms
        
        # Subtest: shellout with code=0 (extra weird?)
            ok 1 - got expected exit code
            ok 2 - bring the noise
            1..2
        ok 3 - shellout with code=0 (extra weird?) # time=47.861ms
        
        1..3
    ok 29 - do no fancy handling for shellouts # time=18230.387ms
    
    1..29
    # time=74348.526ms
ok 84 - test/lib/utils/exit-handler.js # time=74348.526ms

# Subtest: test/lib/utils/explain-dep.js
    # Subtest: basic
        # Subtest: prodDep
            ok 1 - print color
            ok 2 - print nocolor
            ok 3 - explain color deep
            ok 4 - explain nocolor shallow
            1..4
        ok 1 - prodDep # time=162.321ms
        
        # Subtest: deepDev
            ok 1 - print color
            ok 2 - print nocolor
            ok 3 - explain color deep
            ok 4 - explain nocolor shallow
            1..4
        ok 2 - deepDev # time=75.287ms
        
        # Subtest: optional
            ok 1 - print color
            ok 2 - print nocolor
            ok 3 - explain color deep
            ok 4 - explain nocolor shallow
            1..4
        ok 3 - optional # time=49.912ms
        
        # Subtest: peer
            ok 1 - print color
            ok 2 - print nocolor
            ok 3 - explain color deep
            ok 4 - explain nocolor shallow
            1..4
        ok 4 - peer # time=33.06ms
        
        # Subtest: bundled
            ok 1 - print color
            ok 2 - print nocolor
            ok 3 - explain color deep
            ok 4 - explain nocolor shallow
            1..4
        ok 5 - bundled # time=37.241ms
        
        # Subtest: extraneous
            ok 1 - print color
            ok 2 - print nocolor
            ok 3 - explain color deep
            ok 4 - explain nocolor shallow
            1..4
        ok 6 - extraneous # time=19.34ms
        
        # Subtest: overridden
            ok 1 - print color
            ok 2 - print nocolor
            ok 3 - explain color deep
            ok 4 - explain nocolor shallow
            1..4
        ok 7 - overridden # time=27.961ms
        
        # Subtest: manyDeps
            ok 1 - print color
            ok 2 - print nocolor
            ok 3 - explain color deep
            ok 4 - explain nocolor shallow
            1..4
        ok 8 - manyDeps # time=30.554ms
        
        # Subtest: workspaces
            ok 1 - print color
            ok 2 - print nocolor
            ok 3 - explain color deep
            ok 4 - explain nocolor shallow
            1..4
        ok 9 - workspaces # time=19.364ms
        
        ok 10 - ellipses test one
        ok 11 - ellipses test two
        1..11
    ok 1 - basic # time=1159.384ms
    
    1..1
    # time=1240.566ms
ok 85 - test/lib/utils/explain-dep.js # time=1240.566ms

# Subtest: test/lib/utils/explain-eresolve.js
    # Subtest: basic
        # Subtest: cycleNested
            ok 1 - report with color
            ok 2 - report from color
            ok 3 - report with no color
            ok 4 - same report written for object
            ok 5 - explain with color, depth of 2
            ok 6 - explain with no color, depth of 6
            1..6
        ok 1 - cycleNested # time=216.282ms
        
        # Subtest: withShrinkwrap
            ok 1 - report with color
            ok 2 - report from color
            ok 3 - report with no color
            ok 4 - same report written for object
            ok 5 - explain with color, depth of 2
            ok 6 - explain with no color, depth of 6
            1..6
        ok 2 - withShrinkwrap # time=62.327ms
        
        # Subtest: chain-conflict
            ok 1 - report with color
            ok 2 - report from color
            ok 3 - report with no color
            ok 4 - same report written for object
            ok 5 - explain with color, depth of 2
            ok 6 - explain with no color, depth of 6
            1..6
        ok 3 - chain-conflict # time=47.831ms
        
        # Subtest: gatsby
            ok 1 - report with color
            ok 2 - report from color
            ok 3 - report with no color
            ok 4 - same report written for object
            ok 5 - explain with color, depth of 2
            ok 6 - explain with no color, depth of 6
            1..6
        ok 4 - gatsby # time=43.189ms
        
        # Subtest: no current node, but has current edge
            ok 1 - report with color
            ok 2 - report from color
            ok 3 - report with no color
            ok 4 - same report written for object
            ok 5 - explain with color, depth of 2
            ok 6 - explain with no color, depth of 6
            1..6
        ok 5 - no current node, but has current edge # time=31.336ms
        
        # Subtest: no current node, no current edge, idk
            ok 1 - report with color
            ok 2 - report from color
            ok 3 - report with no color
            ok 4 - same report written for object
            ok 5 - explain with color, depth of 2
            ok 6 - explain with no color, depth of 6
            1..6
        ok 6 - no current node, no current edge, idk # time=39.94ms
        
        # Subtest: eslint-plugin case
            ok 1 - report with color
            ok 2 - report from color
            ok 3 - report with no color
            ok 4 - same report written for object
            ok 5 - explain with color, depth of 2
            ok 6 - explain with no color, depth of 6
            1..6
        ok 7 - eslint-plugin case # time=106.093ms
        
        1..7
    ok 1 - basic # time=1208.989ms
    
    1..1
    # time=1302.226ms
ok 86 - test/lib/utils/explain-eresolve.js # time=1302.226ms

# Subtest: test/lib/utils/log-file.js
    # Subtest: init
        ok 1 - total log files
        ok 2 - max logs per file
        ok 3 - 1
        ok 4 - all logs end with newline
        ok 5 - should be equivalent strictly
        1..5
    ok 1 - init # time=1930.866ms
    
    # Subtest: max files per process
        ok 1 - total log files
        ok 2 - should match pattern provided
        1..2
    ok 2 - max files per process # time=753.154ms
    
    # Subtest: stream error
        ok 1 - total log files
        1..1
    ok 3 - stream error # time=356.449ms
    
    # Subtest: initial stream error
        ok 1 - total log files
        1..1
    ok 4 - initial stream error # time=613.553ms
    
    # Subtest: turns off
        ok 1 - should match pattern provided
        1..1
    ok 5 - turns off # time=326.915ms
    
    # Subtest: cleans logs
        ok 1 - should be equal
        1..1
    ok 6 - cleans logs # time=520.229ms
    
    # Subtest: doesnt clean current log by default
        ok 1 - should match pattern provided
        1..1
    ok 7 - doesnt clean current log by default # time=324.384ms
    
    # Subtest: negative logs max
        ok 1 - should be equal
        1..1
    ok 8 - negative logs max # time=295.081ms
    
    # Subtest: doesnt need to clean
        ok 1 - should be equal
        1..1
    ok 9 - doesnt need to clean # time=472.16ms
    
    # Subtest: glob error
        ok 1 - should be equal
        ok 2 - should match pattern provided
        1..2
    ok 10 - glob error # time=816.17ms
    
    # Subtest: do not log cleaning errors when logging is disabled
        ok 1 - should be equal
        1..1
    ok 11 - do not log cleaning errors when logging is disabled # time=164.99ms
    
    # Subtest: cleans old style logs too
        ok 1 - should be equal
        1..1
    ok 12 - cleans old style logs too # time=368.121ms
    
    # Subtest: rimraf error
        ok 1 - should be equal
        ok 2 - should match pattern provided
        1..2
    ok 13 - rimraf error # time=601.401ms
    
    # Subtest: delete log file while open
        ok 1 - should match pattern provided
        ok 2 - logs arent written after error
        1..2
    ok 14 - delete log file while open # time=470.785ms
    
    # Subtest: snapshot
        ok 1 - must match snapshot
        1..1
    ok 15 - snapshot # time=343.579ms
    
    1..15
    # time=9256.631ms
ok 87 - test/lib/utils/log-file.js # time=9256.631ms

# Subtest: test/lib/utils/log-shim.js
    # Subtest: has properties
        ok 1 - should match pattern provided
        ok 2 - should match pattern provided
        1..2
    ok 1 - has properties # time=3264.123ms
    
    # Subtest: works with npmlog/proclog proxy
        ok 1 - can get a property
        ok 2 - can get a property after update on npmlog
        ok 3 - can get a property after update on shim
        ok 4 - can call method on shim to call npmlog
        ok 5 - can call method on proclog
        ok 6 - only includes levels from npmlog
        ok 7 - cant set getters properies
        1..7
    ok 2 - works with npmlog/proclog proxy # time=241.77ms
    
    # Subtest: works with npmlog/proclog proxy
        ok 1 - expected to not throw
        ok 2 - expected to not throw
        ok 3 - expected to not throw
        ok 4 - expected to not throw
        ok 5 - expected to not throw
        ok 6 - expected to not throw
        ok 7 - expected to not throw
        ok 8 - expected to not throw
        ok 9 - expected to not throw
        1..9
    ok 3 - works with npmlog/proclog proxy # time=168.255ms
    
    1..3
    # time=3873.49ms
ok 88 - test/lib/utils/log-shim.js # time=3873.49ms

# Subtest: test/lib/utils/open-url-prompt.js
    # Subtest: does not open a url in non-interactive environments
        ok 1 - did not open
        ok 2 - did not open
        1..2
    ok 1 - does not open a url in non-interactive environments # time=4306.988ms
    
    # Subtest: opens a url
        ok 1 - opened the given url
        ok 2 - passed command as null (the default)
        ok 3 - must match snapshot
        1..3
    ok 2 - opens a url # time=1788.794ms
    
    # Subtest: opens a url with browser string
        ok 1 - opened the given url
        ok 2 - passed command as null (the default)
        1..2
    ok 3 - opens a url with browser string # time=1674.996ms
    
    # Subtest: prints json output
        ok 1 - must match snapshot
        1..1
    ok 4 - prints json output # time=1599.609ms
    
    # Subtest: returns error for non-https url
        ok 1 - got the correct error
        ok 2 - did not open
        ok 3 - did not open
        ok 4 - printed no output
        1..4
    ok 5 - returns error for non-https url # time=2193.373ms
    
    # Subtest: does not open url if canceled
        ok 1 - did not open
        ok 2 - did not open
        1..2
    ok 6 - does not open url if canceled # time=1582.028ms
    
    # Subtest: returns error when opener errors
        ok 1 - got the correct error
        ok 2 - did not open
        1..2
    ok 7 - returns error when opener errors # time=1809.392ms
    
    # Subtest: throws "canceled" error on SIGINT
        ok 1 - message is canceled
        1..1
    ok 8 - throws "canceled" error on SIGINT # time=1742.132ms
    
    1..8
    # time=17643.187ms
ok 89 - test/lib/utils/open-url-prompt.js # time=17643.187ms

# Subtest: test/lib/utils/open-url.js
    # Subtest: opens a url
        ok 1 - opened the given url
        ok 2 - passed command as null (the default)
        ok 3 - printed no output
        1..3
    ok 1 - opens a url # time=4382.602ms
    
    # Subtest: returns error for non-https url
        ok 1 - got the correct error
        ok 2 - did not open
        ok 3 - did not open
        ok 4 - printed no output
        1..4
    ok 2 - returns error for non-https url # time=1737.575ms
    
    # Subtest: returns error for file url
        ok 1 - got the correct error
        ok 2 - did not open
        ok 3 - did not open
        ok 4 - printed no output
        1..4
    ok 3 - returns error for file url # time=1982.147ms
    
    # Subtest: file url allowed if explicitly asked for
        ok 1 - opened the given url
        ok 2 - passed command as null (the default)
        ok 3 - printed no output
        1..3
    ok 4 - file url allowed if explicitly asked for # time=1655.723ms
    
    # Subtest: returns error for non-parseable url
        ok 1 - got the correct error
        ok 2 - did not open
        ok 3 - did not open
        ok 4 - printed no output
        1..4
    ok 5 - returns error for non-parseable url # time=1939.614ms
    
    # Subtest: encodes non-URL-safe characters in url provided
        ok 1 - opened the encoded url
        ok 2 - passed command as null (the default)
        ok 3 - printed no output
        1..3
    ok 6 - encodes non-URL-safe characters in url provided # time=1629.827ms
    
    # Subtest: opens a url with the given browser
        ok 1 - opened the given url
        ok 2 - passed the given browser as command
        ok 3 - printed no output
        1..3
    ok 7 - opens a url with the given browser # time=1374.631ms
    
    # Subtest: prints where to go when browser is disabled
        ok 1 - did not open
        ok 2 - did not open
        ok 3 - printed expected message
        1..3
    ok 8 - prints where to go when browser is disabled # time=1726.811ms
    
    # Subtest: prints where to go when browser is disabled and json is enabled
        ok 1 - did not open
        ok 2 - did not open
        ok 3 - printed expected message
        1..3
    ok 9 - prints where to go when browser is disabled and json is enabled # time=1463.545ms
    
    # Subtest: prints where to go when given browser does not exist
        ok 1 - tried to open the correct url
        ok 2 - tried to use the correct browser
        ok 3 - printed expected message
        1..3
    ok 10 - prints where to go when given browser does not exist # time=1541.93ms
    
    # Subtest: handles unknown opener error
        ok 1 - got the correct error
        1..1
    ok 11 - handles unknown opener error # time=2375.481ms
    
    1..11
    # time=22778.922ms
ok 90 - test/lib/utils/open-url.js # time=22778.922ms

# Subtest: test/lib/utils/otplease.js
    # Subtest: returns function results on success
        ok 1 - should be equal
        1..1
    ok 1 - returns function results on success # time=5177.173ms
    
    # Subtest: returns function results on otp success
        ok 1 - should be equal
        1..1
    ok 2 - returns function results on otp success # time=1738.777ms
    
    # Subtest: prompts for otp for EOTP
        ok 1 - should be equivalent strictly
        1..1
    ok 3 - prompts for otp for EOTP # time=1914.151ms
    
    # Subtest: returns function results on webauth success
        ok 1 - should be equal
        1..1
    ok 4 - returns function results on webauth success # time=1653.964ms
    
    # Subtest: prompts for otp for 401
        ok 1 - should be equivalent strictly
        1..1
    ok 5 - prompts for otp for 401 # time=1621.452ms
    
    # Subtest: does not prompt for non-otp errors
        ok 1 - rejects with the original error
        1..1
    ok 6 - does not prompt for non-otp errors # time=1493.943ms
    
    # Subtest: does not prompt if stdin or stdout is not a tty
        ok 1 - rejects with the original error
        1..1
    ok 7 - does not prompt if stdin or stdout is not a tty # time=1965.345ms
    
    1..7
    # time=16398.595ms
ok 91 - test/lib/utils/otplease.js # time=16398.595ms

# Subtest: test/lib/utils/pulse-till-done.js
    # Subtest: pulses (with promise)
        ok 1 - returned the resolved promise
        1..1
    ok 1 - pulses (with promise) # time=274.689ms
    
    1..1
    # time=339.657ms
ok 92 - test/lib/utils/pulse-till-done.js # time=339.657ms

# Subtest: test/lib/utils/queryable.js
    # Subtest: retrieve single nested property
        ok 1 - should retrieve property value when querying for dot-sep name
        1..1
    ok 1 - retrieve single nested property # time=546.344ms
    
    # Subtest: query
        ok 1 - should retrieve property values when querying for multiple dot-sep names
        ok 2 - should retrieve property from nested array items
        ok 3 - should retrieve property from deep nested array items
        ok 4 - should retrieve single level property value
        ok 5 - should automatically expand arrays
        ok 6 - should automatically expand multiple arrays
        ok 7 - should return arrays
        ok 8 - should return single item
        ok 9 - should return undefined
        ok 10 - should return undefined also
        ok 11 - should throw if using empty brackets notation
        ok 12 - should throw if using nested empty brackets notation
        ok 13 - should return an object with results in an empty key
        1..13
    ok 2 - query # time=245.576ms
    
    # Subtest: missing key
        ok 1 - should retrieve no results
        1..1
    ok 3 - missing key # time=12.047ms
    
    # Subtest: no data object
        ok 1 - should throw ENOQUERYABLEOBJ error
        ok 2 - should throw ENOQUERYABLEOBJ error
        1..2
    ok 4 - no data object # time=22.008ms
    
    # Subtest: get values
        ok 1 - should retrieve value
        ok 2 - should return undefined
        1..2
    ok 5 - get values # time=18.847ms
    
    # Subtest: set property values
        ok 1 - should add new property and its assigned value
        ok 2 - should be able to set square brackets props
        ok 3 - should be able to nest square brackets props
        ok 4 - should be able to nest multiple square brackets props
        ok 5 - should be able to use dot-sep notation after square bracket props
        ok 6 - should be able to have multiple, separated, square brackets props
        ok 7 - many many times...
        ok 8 - should throw if trying to override a literal value with an object
        ok 9 - should allow overriding literal values when using force option
        ok 10 - should add new props to qq object
        ok 11 - should add new props to a previously existing object
        ok 12 - should append new props added to object later
        ok 13 - should append new props added to object later
        1..13
    ok 6 - set property values # time=300.12ms
    
    # Subtest: set arrays
        ok 1 - should be able to set items in an array using index references
        ok 2 - should be able to set a previously missing item to an array
        ok 3 - should be able to append more items to an array
        ok 4 - should be able to override array items
        ok 5 - should throw if trying to override an array literal item with an obj
        ok 6 - should be able to override an array string item with an obj
        ok 7 - should be able to append more items to an array
        ok 8 - should be able to override property of an obj inside an array
        ok 9 - should append as many arrays as necessary
        ok 10 - should append as many arrays as necessary
        ok 11 - should be able to set a value to null
        ok 12 - should be able to replace a null value with properties
        ok 13 - should be able to append to array using empty bracket notation
        ok 14 - should be able to append objects to array using empty bracket notation
        ok 15 - should be able to append more objects to array using empty brackets
        ok 16 - should be able to append to array using empty brackets in nested objs
        ok 17 - should be able to append to array using empty brackets in nested objs
        ok 18 - should throw an override error
        ok 19 - should be able to override arrays with objects when using force=true
        ok 20 - should be able to create new array with item when using force=true
        ok 21 - should be able to append items to arrays when using force=true
        ok 22 - should be able to append items with empty items
        ok 23 - should be able to replace empty items in an array
        ok 24 - should be able to replace empty items in an array
        ok 25 - should throw error if using empty square bracket in an non-array item
        ok 26 - should be able add indexes as props when finding an object
        ok 27 - should be able add numeric props to an obj
        1..27
    ok 7 - set arrays # time=309.487ms
    
    # Subtest: delete values
        ok 1 - should delete queried item
        ok 2 - should delete nested items
        ok 3 - should delete array item
        ok 4 - should delete array item
        1..4
    ok 8 - delete values # time=35.486ms
    
    # Subtest: logger
        ok 1 - should retrieve expected data
        1..1
    ok 9 - logger # time=49.989ms
    
    # Subtest: bracket lovers
        ok 1 - should be able to set top-level props using square brackets notation
        ok 2 - should bypass square bracket in top-level properties
        ok 3 - any top-level item can not be parsed with square bracket notation
        1..3
    ok 10 - bracket lovers # time=24.32ms
    
    1..10
    # time=1746.132ms
ok 93 - test/lib/utils/queryable.js # time=1746.132ms

# Subtest: test/lib/utils/read-user-info.js
    # Subtest: otp
        ok 1 - received the otp
        1..1
    ok 1 - otp # time=379.082ms
    
    # Subtest: password
        ok 1 - received the password
        ok 2 - got the correct options
        1..2
    ok 2 - password # time=151.874ms
    
    # Subtest: username
        ok 1 - received the username
        1..1
    ok 3 - username # time=27.087ms
    
    # Subtest: username - invalid warns and retries
        ok 1 - received the username
        ok 2 - should be equal
        1..2
    ok 4 - username - invalid warns and retries # time=24.508ms
    
    # Subtest: email
        ok 1 - received the email
        1..1
    ok 5 - email # time=14.337ms
    
    # Subtest: email - invalid warns and retries
        ok 1 - received the email
        ok 2 - should be equal
        1..2
    ok 6 - email - invalid warns and retries # time=17.854ms
    
    1..6
    # time=825.716ms
ok 94 - test/lib/utils/read-user-info.js # time=825.716ms

# Subtest: test/lib/utils/reify-finish.js
    # Subtest: ok by default
        ok 1 - should be equivalent
        ok 2 - should be equivalent strictly
        1..2
    ok 1 - ok by default # time=4061.181ms
    
    # Subtest: should not write if no global npm module
        ok 1 - should be equivalent
        ok 2 - should be equivalent strictly
        1..2
    ok 2 - should not write if no global npm module # time=1584.892ms
    
    # Subtest: should not write if builtin conf had load error
        ok 1 - should be equivalent
        ok 2 - should be equivalent strictly
        1..2
    ok 3 - should not write if builtin conf had load error # time=1908.215ms
    
    # Subtest: should write if everything above passes
        ok 1 - should be equivalent
        ok 2 - should be equivalent strictly
        ok 3 - should be equal
        1..3
    ok 4 - should write if everything above passes # time=2013.311ms
    
    1..4
    # time=9993.762ms
ok 95 - test/lib/utils/reify-finish.js # time=9993.762ms

# Subtest: test/lib/utils/reify-output.js
    # Subtest: missing info
        ok 1 - should not print fund message if missing info
        1..1
    ok 1 - missing info # time=3292.077ms
    
    # Subtest: even more missing info
        ok 1 - should not print fund message if missing info
        1..1
    ok 2 - even more missing info # time=1432.063ms
    
    # Subtest: single package
        ok 1 - should print single package message
        1..1
    ok 3 - single package # time=1542.181ms
    
    # Subtest: no message when funding config is false
        ok 1 - should not print funding info
        1..1
    ok 4 - no message when funding config is false # time=2202.598ms
    
    # Subtest: print appropriate message for many packages
        ok 1 - should print single package message
        1..1
    ok 5 - print appropriate message for many packages # time=1332.299ms
    
    # Subtest: showing and not showing audit report
        # Subtest: no output when silent
            ok 1 - should not get output when silent
            1..1
        ok 1 - no output when silent # time=1547.403ms
        
        # Subtest: output when not silent
            ok 1 - got audit report
            1..1
        ok 2 - output when not silent # time=1393.282ms
        
        # Subtest: json=true
            # Subtest: set exit code when cmd is audit
                ok 1 - set exit code
                1..1
            ok 1 - set exit code when cmd is audit # time=3116.564ms
            
            # Subtest: do not set exit code when cmd is install
                ok 1 - did not set exit code
                1..1
            ok 2 - do not set exit code when cmd is install # time=2028.299ms
            
            1..2
        ok 3 - json=true # time=5485.102ms
        
        # Subtest: json=false
            # Subtest: set exit code when cmd is audit
                ok 1 - set exit code
                1..1
            ok 1 - set exit code when cmd is audit # time=2731.043ms
            
            # Subtest: do not set exit code when cmd is install
                ok 1 - did not set exit code
                1..1
            ok 2 - do not set exit code when cmd is install # time=1941.096ms
            
            1..2
        ok 4 - json=false # time=4854.547ms
        
        1..4
    ok 6 - showing and not showing audit report # time=13544.96ms
    
    # Subtest: packages changed message
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":0,"audited":0,"json":true}
            1..1
        ok 1 # time=2058.928ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":0,"audited":0,"json":false}
            1..1
        ok 2 # time=1892.535ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":0,"audited":1,"json":true}
            1..1
        ok 3 # time=1942.444ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":0,"audited":1,"json":false}
            1..1
        ok 4 # time=1812.031ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":0,"audited":2,"json":true}
            1..1
        ok 5 # time=2664.765ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":0,"audited":2,"json":false}
            1..1
        ok 6 # time=2870.265ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":1,"audited":0,"json":true}
            1..1
        ok 7 # time=1980.511ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":1,"audited":0,"json":false}
            1..1
        ok 8 # time=2068.693ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":1,"audited":1,"json":true}
            1..1
        ok 9 # time=1654.63ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":1,"audited":1,"json":false}
            1..1
        ok 10 # time=2046.839ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":1,"audited":2,"json":true}
            1..1
        ok 11 # time=2626.58ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":1,"audited":2,"json":false}
            1..1
        ok 12 # time=2199.643ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":2,"audited":0,"json":true}
            1..1
        ok 13 # time=1712.675ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":2,"audited":0,"json":false}
            1..1
        ok 14 # time=2258.461ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":2,"audited":1,"json":true}
            1..1
        ok 15 # time=2010.291ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":2,"audited":1,"json":false}
            1..1
        ok 16 # time=2286.562ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":2,"audited":2,"json":true}
            1..1
        ok 17 # time=1808.654ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":2,"audited":2,"json":false}
            1..1
        ok 18 # time=1760.11ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":0,"audited":0,"json":true}
            1..1
        ok 19 # time=2400.269ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":0,"audited":0,"json":false}
            1..1
        ok 20 # time=1734.924ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":0,"audited":1,"json":true}
            1..1
        ok 21 # time=2148.557ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":0,"audited":1,"json":false}
            1..1
        ok 22 # time=2128.105ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":0,"audited":2,"json":true}
            1..1
        ok 23 # time=2928.748ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":0,"audited":2,"json":false}
            1..1
        ok 24 # time=1768.984ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":1,"audited":0,"json":true}
            1..1
        ok 25 # time=2050.991ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":1,"audited":0,"json":false}
            1..1
        ok 26 # time=1815.835ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":1,"audited":1,"json":true}
            1..1
        ok 27 # time=1807.276ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":1,"audited":1,"json":false}
            1..1
        ok 28 # time=1957.686ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":1,"audited":2,"json":true}
            1..1
        ok 29 # time=1817.078ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":1,"audited":2,"json":false}
            1..1
        ok 30 # time=1668.082ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":2,"audited":0,"json":true}
            1..1
        ok 31 # time=1945.516ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":2,"audited":0,"json":false}
            1..1
        ok 32 # time=1907.849ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":2,"audited":1,"json":true}
            1..1
        ok 33 # time=2031.173ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":2,"audited":1,"json":false}
            1..1
        ok 34 # time=1776.356ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":2,"audited":2,"json":true}
            1..1
        ok 35 # time=2286.271ms
        
        # Subtest
            ok 1 - {"added":0,"removed":1,"changed":2,"audited":2,"json":false}
            1..1
        ok 36 # time=1820.027ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":0,"audited":0,"json":true}
            1..1
        ok 37 # time=1830.709ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":0,"audited":0,"json":false}
            1..1
        ok 38 # time=1801.589ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":0,"audited":1,"json":true}
            1..1
        ok 39 # time=1784.749ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":0,"audited":1,"json":false}
            1..1
        ok 40 # time=1931.625ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":0,"audited":2,"json":true}
            1..1
        ok 41 # time=2039.997ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":0,"audited":2,"json":false}
            1..1
        ok 42 # time=1948.968ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":1,"audited":0,"json":true}
            1..1
        ok 43 # time=2315.705ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":1,"audited":0,"json":false}
            1..1
        ok 44 # time=2486.455ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":1,"audited":1,"json":true}
            1..1
        ok 45 # time=1783.046ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":1,"audited":1,"json":false}
            1..1
        ok 46 # time=1917.64ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":1,"audited":2,"json":true}
            1..1
        ok 47 # time=2054.295ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":1,"audited":2,"json":false}
            1..1
        ok 48 # time=1748.288ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":2,"audited":0,"json":true}
            1..1
        ok 49 # time=1816.66ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":2,"audited":0,"json":false}
            1..1
        ok 50 # time=1749.71ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":2,"audited":1,"json":true}
            1..1
        ok 51 # time=1829.497ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":2,"audited":1,"json":false}
            1..1
        ok 52 # time=2011.147ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":2,"audited":2,"json":true}
            1..1
        ok 53 # time=2763.02ms
        
        # Subtest
            ok 1 - {"added":0,"removed":2,"changed":2,"audited":2,"json":false}
            1..1
        ok 54 # time=1840.848ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":0,"audited":0,"json":true}
            1..1
        ok 55 # time=1812.034ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":0,"audited":0,"json":false}
            1..1
        ok 56 # time=2011.722ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":0,"audited":1,"json":true}
            1..1
        ok 57 # time=1867.686ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":0,"audited":1,"json":false}
            1..1
        ok 58 # time=1797.292ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":0,"audited":2,"json":true}
            1..1
        ok 59 # time=1709.063ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":0,"audited":2,"json":false}
            1..1
        ok 60 # time=1937.155ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":1,"audited":0,"json":true}
            1..1
        ok 61 # time=1941.13ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":1,"audited":0,"json":false}
            1..1
        ok 62 # time=1765.389ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":1,"audited":1,"json":true}
            1..1
        ok 63 # time=1774.197ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":1,"audited":1,"json":false}
            1..1
        ok 64 # time=2200.683ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":1,"audited":2,"json":true}
            1..1
        ok 65 # time=1817.828ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":1,"audited":2,"json":false}
            1..1
        ok 66 # time=1944.139ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":2,"audited":0,"json":true}
            1..1
        ok 67 # time=1782.65ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":2,"audited":0,"json":false}
            1..1
        ok 68 # time=1889.617ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":2,"audited":1,"json":true}
            1..1
        ok 69 # time=1599.306ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":2,"audited":1,"json":false}
            1..1
        ok 70 # time=1835.217ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":2,"audited":2,"json":true}
            1..1
        ok 71 # time=1731.135ms
        
        # Subtest
            ok 1 - {"added":1,"removed":0,"changed":2,"audited":2,"json":false}
            1..1
        ok 72 # time=2175.82ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":0,"audited":0,"json":true}
            1..1
        ok 73 # time=1798.722ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":0,"audited":0,"json":false}
            1..1
        ok 74 # time=2281.549ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":0,"audited":1,"json":true}
            1..1
        ok 75 # time=2025.324ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":0,"audited":1,"json":false}
            1..1
        ok 76 # time=1821.567ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":0,"audited":2,"json":true}
            1..1
        ok 77 # time=1914.423ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":0,"audited":2,"json":false}
            1..1
        ok 78 # time=1889.381ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":1,"audited":0,"json":true}
            1..1
        ok 79 # time=2210.715ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":1,"audited":0,"json":false}
            1..1
        ok 80 # time=1870.123ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":1,"audited":1,"json":true}
            1..1
        ok 81 # time=1770.492ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":1,"audited":1,"json":false}
            1..1
        ok 82 # time=1765.03ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":1,"audited":2,"json":true}
            1..1
        ok 83 # time=1886.957ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":1,"audited":2,"json":false}
            1..1
        ok 84 # time=2466.898ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":2,"audited":0,"json":true}
            1..1
        ok 85 # time=1896.203ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":2,"audited":0,"json":false}
            1..1
        ok 86 # time=1841.256ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":2,"audited":1,"json":true}
            1..1
        ok 87 # time=1721.11ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":2,"audited":1,"json":false}
            1..1
        ok 88 # time=1801.829ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":2,"audited":2,"json":true}
            1..1
        ok 89 # time=1960.053ms
        
        # Subtest
            ok 1 - {"added":1,"removed":1,"changed":2,"audited":2,"json":false}
            1..1
        ok 90 # time=1740.034ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":0,"audited":0,"json":true}
            1..1
        ok 91 # time=2230.342ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":0,"audited":0,"json":false}
            1..1
        ok 92 # time=1814.118ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":0,"audited":1,"json":true}
            1..1
        ok 93 # time=1812.206ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":0,"audited":1,"json":false}
            1..1
        ok 94 # time=1782.342ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":0,"audited":2,"json":true}
            1..1
        ok 95 # time=1875.673ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":0,"audited":2,"json":false}
            1..1
        ok 96 # time=1912.849ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":1,"audited":0,"json":true}
            1..1
        ok 97 # time=1624.207ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":1,"audited":0,"json":false}
            1..1
        ok 98 # time=1883.08ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":1,"audited":1,"json":true}
            1..1
        ok 99 # time=2324.747ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":1,"audited":1,"json":false}
            1..1
        ok 100 # time=2293.472ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":1,"audited":2,"json":true}
            1..1
        ok 101 # time=1772.291ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":1,"audited":2,"json":false}
            1..1
        ok 102 # time=1973.175ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":2,"audited":0,"json":true}
            1..1
        ok 103 # time=1818.859ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":2,"audited":0,"json":false}
            1..1
        ok 104 # time=1882.777ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":2,"audited":1,"json":true}
            1..1
        ok 105 # time=1863.638ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":2,"audited":1,"json":false}
            1..1
        ok 106 # time=2736.082ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":2,"audited":2,"json":true}
            1..1
        ok 107 # time=1771.993ms
        
        # Subtest
            ok 1 - {"added":1,"removed":2,"changed":2,"audited":2,"json":false}
            1..1
        ok 108 # time=2069.049ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":0,"audited":0,"json":true}
            1..1
        ok 109 # time=2247.506ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":0,"audited":0,"json":false}
            1..1
        ok 110 # time=1834.283ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":0,"audited":1,"json":true}
            1..1
        ok 111 # time=1849.086ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":0,"audited":1,"json":false}
            1..1
        ok 112 # time=1834.73ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":0,"audited":2,"json":true}
            1..1
        ok 113 # time=2119.37ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":0,"audited":2,"json":false}
            1..1
        ok 114 # time=1752.281ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":1,"audited":0,"json":true}
            1..1
        ok 115 # time=2084.241ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":1,"audited":0,"json":false}
            1..1
        ok 116 # time=1748.133ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":1,"audited":1,"json":true}
            1..1
        ok 117 # time=1816.943ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":1,"audited":1,"json":false}
            1..1
        ok 118 # time=1634.6ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":1,"audited":2,"json":true}
            1..1
        ok 119 # time=1959.348ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":1,"audited":2,"json":false}
            1..1
        ok 120 # time=2455.664ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":2,"audited":0,"json":true}
            1..1
        ok 121 # time=2140.546ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":2,"audited":0,"json":false}
            1..1
        ok 122 # time=1821.951ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":2,"audited":1,"json":true}
            1..1
        ok 123 # time=1803.863ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":2,"audited":1,"json":false}
            1..1
        ok 124 # time=1651.09ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":2,"audited":2,"json":true}
            1..1
        ok 125 # time=1750.248ms
        
        # Subtest
            ok 1 - {"added":2,"removed":0,"changed":2,"audited":2,"json":false}
            1..1
        ok 126 # time=1731.895ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":0,"audited":0,"json":true}
            1..1
        ok 127 # time=1854.52ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":0,"audited":0,"json":false}
            1..1
        ok 128 # time=2348.173ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":0,"audited":1,"json":true}
            1..1
        ok 129 # time=1695.802ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":0,"audited":1,"json":false}
            1..1
        ok 130 # time=1991.62ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":0,"audited":2,"json":true}
            1..1
        ok 131 # time=2013.072ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":0,"audited":2,"json":false}
            1..1
        ok 132 # time=2418.985ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":1,"audited":0,"json":true}
            1..1
        ok 133 # time=3480.614ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":1,"audited":0,"json":false}
            1..1
        ok 134 # time=2446.049ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":1,"audited":1,"json":true}
            1..1
        ok 135 # time=1959.548ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":1,"audited":1,"json":false}
            1..1
        ok 136 # time=1941.573ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":1,"audited":2,"json":true}
            1..1
        ok 137 # time=1795.608ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":1,"audited":2,"json":false}
            1..1
        ok 138 # time=2136.433ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":2,"audited":0,"json":true}
            1..1
        ok 139 # time=1805.48ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":2,"audited":0,"json":false}
            1..1
        ok 140 # time=1823.398ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":2,"audited":1,"json":true}
            1..1
        ok 141 # time=2125.524ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":2,"audited":1,"json":false}
            1..1
        ok 142 # time=2141.698ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":2,"audited":2,"json":true}
            1..1
        ok 143 # time=2531.084ms
        
        # Subtest
            ok 1 - {"added":2,"removed":1,"changed":2,"audited":2,"json":false}
            1..1
        ok 144 # time=1934.098ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":0,"audited":0,"json":true}
            1..1
        ok 145 # time=1823ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":0,"audited":0,"json":false}
            1..1
        ok 146 # time=1746.97ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":0,"audited":1,"json":true}
            1..1
        ok 147 # time=1837.158ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":0,"audited":1,"json":false}
            1..1
        ok 148 # time=1700.624ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":0,"audited":2,"json":true}
            1..1
        ok 149 # time=1998.061ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":0,"audited":2,"json":false}
            1..1
        ok 150 # time=2035.228ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":1,"audited":0,"json":true}
            1..1
        ok 151 # time=1790.141ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":1,"audited":0,"json":false}
            1..1
        ok 152 # time=1954.047ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":1,"audited":1,"json":true}
            1..1
        ok 153 # time=1782.437ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":1,"audited":1,"json":false}
            1..1
        ok 154 # time=1642.237ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":1,"audited":2,"json":true}
            1..1
        ok 155 # time=1859.508ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":1,"audited":2,"json":false}
            1..1
        ok 156 # time=1904.743ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":2,"audited":0,"json":true}
            1..1
        ok 157 # time=1827.831ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":2,"audited":0,"json":false}
            1..1
        ok 158 # time=2136.531ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":2,"audited":1,"json":true}
            1..1
        ok 159 # time=2206.962ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":2,"audited":1,"json":false}
            1..1
        ok 160 # time=1927.113ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":2,"audited":2,"json":true}
            1..1
        ok 161 # time=1926.423ms
        
        # Subtest
            ok 1 - {"added":2,"removed":2,"changed":2,"audited":2,"json":false}
            1..1
        ok 162 # time=1894.582ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":0,"audited":2,"json":true}
            1..1
        ok 163 # time=2044.83ms
        
        # Subtest
            ok 1 - {"added":0,"removed":0,"changed":0,"audited":2,"json":false}
            1..1
        ok 164 # time=2777.61ms
        
        1..164
    ok 7 - packages changed message # time=341165.596ms
    
    # Subtest: added packages should be looked up within returned tree
        # Subtest: has added pkg in inventory
            ok 1 - must match snapshot
            1..1
        ok 1 - has added pkg in inventory # time=1665.319ms
        
        # Subtest: missing added pkg in inventory
            ok 1 - must match snapshot
            1..1
        ok 2 - missing added pkg in inventory # time=1349.023ms
        
        1..2
    ok 8 - added packages should be looked up within returned tree # time=3319.975ms
    
    1..8
    # time=368420.347ms
ok 96 - test/lib/utils/reify-output.js # time=368420.347ms

# Subtest: test/lib/utils/replace-info.js
    ok 1 - should return undefined item
    ok 2 - should return null
    ok 3 - should return numbers
    ok 4 - should return same string with only separators
    ok 5 - should return empty string
    ok 6 - should replace single item
    ok 7 - should replace single item token
    ok 8 - should not replace single item with no password
    ok 9 - should not replace single item with no password with multiple items
    ok 10 - should replace multiple items on a string
    ok 11 - should replace single item within a phrase
    ok 12 - should replace single item within a phrase separated by =
    ok 13 - should replace items in an array
    ok 14 - should replace items in an array with equals
    ok 15 - should ignore invalid items of array
    1..15
    # time=204.79ms
ok 97 - test/lib/utils/replace-info.js # time=204.79ms

# Subtest: test/lib/utils/sbom-cyclonedx.js
    # Subtest: single node - application package type
        ok 1 - must match snapshot
        1..1
    ok 1 - single node - application package type # time=267.299ms
    
    # Subtest: single node - package lock only
        ok 1 - must match snapshot
        1..1
    ok 2 - single node - package lock only # time=34.941ms
    
    # Subtest: single node - optional 
        ok 1 - must match snapshot
        1..1
    ok 3 - single node - optional # time=25.628ms
    
    # Subtest: single node - with description
        ok 1 - must match snapshot
        1..1
    ok 4 - single node - with description # time=24.741ms
    
    # Subtest: single node - with author object
        ok 1 - must match snapshot
        1..1
    ok 5 - single node - with author object # time=18.805ms
    
    # Subtest: single node - with integrity
        ok 1 - must match snapshot
        1..1
    ok 6 - single node - with integrity # time=32.603ms
    
    # Subtest: single node - development
        ok 1 - must match snapshot
        1..1
    ok 7 - single node - development # time=30.242ms
    
    # Subtest: single node - extraneous
        ok 1 - must match snapshot
        1..1
    ok 8 - single node - extraneous # time=15.221ms
    
    # Subtest: single node - bundled
        ok 1 - must match snapshot
        1..1
    ok 9 - single node - bundled # time=24.215ms
    
    # Subtest: single node - private
        ok 1 - must match snapshot
        1..1
    ok 10 - single node - private # time=67.117ms
    
    # Subtest: single node - with repository url
        ok 1 - must match snapshot
        1..1
    ok 11 - single node - with repository url # time=31.883ms
    
    # Subtest: single node - with homepage
        ok 1 - must match snapshot
        1..1
    ok 12 - single node - with homepage # time=34.978ms
    
    # Subtest: single node - with issue tracker
        ok 1 - must match snapshot
        1..1
    ok 13 - single node - with issue tracker # time=27.919ms
    
    # Subtest: single node - with distribution url
        ok 1 - must match snapshot
        1..1
    ok 14 - single node - with distribution url # time=36.383ms
    
    # Subtest: single node - with single license
        ok 1 - must match snapshot
        1..1
    ok 15 - single node - with single license # time=31.901ms
    
    # Subtest: single node - with license expression
        ok 1 - must match snapshot
        1..1
    ok 16 - single node - with license expression # time=30.136ms
    
    # Subtest: single node - from git url
        ok 1 - must match snapshot
        1..1
    ok 17 - single node - from git url # time=41.6ms
    
    # Subtest: single node - no package info
        ok 1 - must match snapshot
        1..1
    ok 18 - single node - no package info # time=14.349ms
    
    # Subtest: node - with deps
        ok 1 - must match snapshot
        1..1
    ok 19 - node - with deps # time=75.711ms
    
    # Subtest: schema validation
        ok 1 - expect truthy value
        ok 2 - expect truthy value
        ok 3 - expect truthy value
        ok 4 - expect truthy value
        ok 5 - expect truthy value
        ok 6 - expect truthy value
        ok 7 - expect truthy value
        ok 8 - expect truthy value
        ok 9 - expect truthy value
        ok 10 - expect truthy value
        ok 11 - expect truthy value
        ok 12 - expect truthy value
        ok 13 - expect truthy value
        ok 14 - expect truthy value
        ok 15 - expect truthy value
        ok 16 - expect truthy value
        ok 17 - expect truthy value
        ok 18 - expect truthy value
        ok 19 - expect truthy value
        1..19
    ok 20 - schema validation # time=10303.43ms
    
    1..20
    # time=12136.994ms
ok 98 - test/lib/utils/sbom-cyclonedx.js # time=12136.994ms

# Subtest: test/lib/utils/sbom-spdx.js
    # Subtest: single node - application package type
        ok 1 - must match snapshot
        1..1
    ok 1 - single node - application package type # time=261.181ms
    
    # Subtest: single node - with description
        ok 1 - must match snapshot
        1..1
    ok 2 - single node - with description # time=31.263ms
    
    # Subtest: single node - with distribution url
        ok 1 - must match snapshot
        1..1
    ok 3 - single node - with distribution url # time=45.934ms
    
    # Subtest: single node - with homepage
        ok 1 - must match snapshot
        1..1
    ok 4 - single node - with homepage # time=47.564ms
    
    # Subtest: single node - with integrity
        ok 1 - must match snapshot
        1..1
    ok 5 - single node - with integrity # time=47.056ms
    
    # Subtest: single node - from git url
        ok 1 - must match snapshot
        1..1
    ok 6 - single node - from git url # time=42.838ms
    
    # Subtest: single node - linked
        ok 1 - must match snapshot
        1..1
    ok 7 - single node - linked # time=60.466ms
    
    # Subtest: node - with deps
        ok 1 - must match snapshot
        1..1
    ok 8 - node - with deps # time=87.646ms
    
    # Subtest: schema validation
        ok 1 - expect truthy value
        ok 2 - expect truthy value
        ok 3 - expect truthy value
        ok 4 - expect truthy value
        ok 5 - expect truthy value
        ok 6 - expect truthy value
        ok 7 - expect truthy value
        ok 8 - expect truthy value
        1..8
    ok 9 - schema validation # time=3716.339ms
    
    1..9
    # time=4878.067ms
ok 99 - test/lib/utils/sbom-spdx.js # time=4878.067ms

# Subtest: test/lib/utils/tar.js
    # Subtest: should log tarball contents
        ok 1 - must match snapshot
        1..1
    ok 1 - should log tarball contents # time=1909.217ms
    
    # Subtest: should log tarball contents of a scoped package
        ok 1 - must match snapshot
        1..1
    ok 2 - should log tarball contents of a scoped package # time=850.518ms
    
    # Subtest: should log tarball contents with unicode
        ok 1 - defaults to proc-log
        ok 2 - defaults to proc-log
        ok 3 - defaults to proc-log
        ok 4 - defaults to proc-log
        ok 5 - defaults to proc-log
        ok 6 - defaults to proc-log
        1..6
    ok 3 - should log tarball contents with unicode # time=290.736ms
    
    # Subtest: should getContents of a tarball
        ok 1 - contents are correct
        1..1
    ok 4 - should getContents of a tarball # time=544.267ms
    
    1..4
    # time=3879.5ms
ok 100 - test/lib/utils/tar.js # time=3879.5ms

# Subtest: test/lib/utils/timers.js
    # Subtest: getters
        ok 1 - should match pattern provided
        ok 2 - should match pattern provided
        1..2
    ok 1 - getters # time=919.378ms
    
    # Subtest: listens/stops on process
        ok 1 - should match pattern provided
        ok 2 - should match pattern provided
        ok 3 - expect falsey value
        1..3
    ok 2 - listens/stops on process # time=208.031ms
    
    # Subtest: convenience time method
        ok 1 - should match pattern provided
        1..1
    ok 3 - convenience time method # time=191.594ms
    
    # Subtest: initial timer
        ok 1 - should match pattern provided
        1..1
    ok 4 - initial timer # time=235.522ms
    
    # Subtest: initial listener
        ok 1 - should be equal
        ok 2 - should match pattern provided
        1..2
    ok 5 - initial listener # time=281.285ms
    
    # Subtest: finish unstarted timer
        ok 1 - should match pattern provided
        1..1
    ok 6 - finish unstarted timer # time=148.403ms
    
    # Subtest: writes file
        ok 1 - should match pattern provided
        1..1
    ok 7 - writes file # time=175.176ms
    
    # Subtest: fails to write file
        ok 1 - should match pattern provided
        ok 2 - should be equal
        1..2
    ok 8 - fails to write file # time=180.385ms
    
    # Subtest: no dir and no file
        ok 1 - should be equivalent strictly
        ok 2 - should be equal
        1..2
    ok 9 - no dir and no file # time=188.883ms
    
    1..9
    # time=2795.372ms
ok 101 - test/lib/utils/timers.js # time=2795.372ms

# Subtest: test/lib/utils/update-notifier.js
    # Subtest: does not notify by default
        ok 1 - should not be equal
        ok 2 - should be equal
        1..2
    ok 1 - does not notify by default # time=5899.555ms
    
    # Subtest: situations in which we do not notify
        # Subtest: nothing to do if notifier disabled
            ok 1 - should be equal
            ok 2 - no requests for manifests
            1..2
        ok 1 - nothing to do if notifier disabled # time=2418.382ms
        
        # Subtest: do not suggest update if already updating
            ok 1 - should be equal
            ok 2 - no requests for manifests
            1..2
        ok 2 - do not suggest update if already updating # time=16159.012ms
        
        # Subtest: do not suggest update if already updating with spec
            ok 1 - should be equal
            ok 2 - no requests for manifests
            1..2
        ok 3 - do not suggest update if already updating with spec # time=2551.802ms
        
        # Subtest: do not update if same as latest
            ok 1 - should be equal
            ok 2 - requested latest version
            1..2
        ok 4 - do not update if same as latest # time=1874.486ms
        
        # Subtest: check if stat errors (here for coverage)
            ok 1 - should be equal
            ok 2 - requested latest version
            1..2
        ok 5 - check if stat errors (here for coverage) # time=1860.679ms
        
        # Subtest: ok if write errors (here for coverage)
            ok 1 - should be equal
            ok 2 - requested latest version
            1..2
        ok 6 - ok if write errors (here for coverage) # time=1910.814ms
        
        # Subtest: ignore pacote failures (here for coverage)
            ok 1 - should be equal
            ok 2 - requested latest version
            1..2
        ok 7 - ignore pacote failures (here for coverage) # time=1905.376ms
        
        # Subtest: do not update if newer than latest, but same as next
            ok 1 - should be equal
            ok 2 - requested latest and next versions
            1..2
        ok 8 - do not update if newer than latest, but same as next # time=2169.477ms
        
        # Subtest: do not update if on the latest beta
            ok 1 - should be equal
            ok 2 - requested latest and next versions
            1..2
        ok 9 - do not update if on the latest beta # time=1887.842ms
        
        # Subtest: do not update in CI
            ok 1 - should be equal
            ok 2 - no requests for manifests
            1..2
        ok 10 - do not update in CI # time=1828.619ms
        
        # Subtest: only check weekly for GA releases
            ok 1 - should be equal
            ok 2 - no requests for manifests
            1..2
        ok 11 - only check weekly for GA releases # time=1851.195ms
        
        # Subtest: only check daily for betas
            ok 1 - should be equal
            ok 2 - no requests for manifests
            1..2
        ok 12 - only check daily for betas # time=2101.284ms
        
        1..12
    ok 2 - situations in which we do not notify # time=39645.877ms
    
    # Subtest: notification situations
        # Subtest: 124.0.0-beta.0 - color=false
            ok 1 - must match snapshot
            ok 2 - should be equivalent strictly
            1..2
        ok 1 - 124.0.0-beta.0 - color=false # time=1828.97ms
        
        # Subtest: 124.0.0-beta.0 - color=always
            ok 1 - must match snapshot
            ok 2 - should be equivalent strictly
            1..2
        ok 2 - 124.0.0-beta.0 - color=always # time=1709.768ms
        
        # Subtest: 123.421.69 - color=false
            ok 1 - must match snapshot
            ok 2 - should be equivalent strictly
            1..2
        ok 3 - 123.421.69 - color=false # time=1848.765ms
        
        # Subtest: 123.421.69 - color=always
            ok 1 - must match snapshot
            ok 2 - should be equivalent strictly
            1..2
        ok 4 - 123.421.69 - color=always # time=1985.975ms
        
        # Subtest: 123.420.70 - color=false
            ok 1 - must match snapshot
            ok 2 - should be equivalent strictly
            1..2
        ok 5 - 123.420.70 - color=false # time=1707.241ms
        
        # Subtest: 123.420.70 - color=always
            ok 1 - must match snapshot
            ok 2 - should be equivalent strictly
            1..2
        ok 6 - 123.420.70 - color=always # time=1741.106ms
        
        # Subtest: 123.420.68 - color=false
            ok 1 - must match snapshot
            ok 2 - should be equivalent strictly
            1..2
        ok 7 - 123.420.68 - color=false # time=1886.54ms
        
        # Subtest: 123.420.68 - color=always
            ok 1 - must match snapshot
            ok 2 - should be equivalent strictly
            1..2
        ok 8 - 123.420.68 - color=always # time=2002.622ms
        
        # Subtest: 123.419.69 - color=false
            ok 1 - must match snapshot
            ok 2 - should be equivalent strictly
            1..2
        ok 9 - 123.419.69 - color=false # time=1640.585ms
        
        # Subtest: 123.419.69 - color=always
            ok 1 - must match snapshot
            ok 2 - should be equivalent strictly
            1..2
        ok 10 - 123.419.69 - color=always # time=1702.704ms
        
        # Subtest: 122.420.69 - color=false
            ok 1 - must match snapshot
            ok 2 - should be equivalent strictly
            1..2
        ok 11 - 122.420.69 - color=false # time=1755.14ms
        
        # Subtest: 122.420.69 - color=always
            ok 1 - must match snapshot
            ok 2 - should be equivalent strictly
            1..2
        ok 12 - 122.420.69 - color=always # time=1678.05ms
        
        1..12
    ok 3 - notification situations # time=22728.457ms
    
    1..3
    # time=68598.335ms
ok 102 - test/lib/utils/update-notifier.js # time=68598.335ms

# Subtest: test/lib/utils/validate-lockfile.js
    # Subtest: identical inventory for both idealTree and virtualTree
        ok 1 - should have no errors on identical inventories
        1..1
    ok 1 - identical inventory for both idealTree and virtualTree # time=501.091ms
    
    # Subtest: extra inventory items on idealTree
        ok 1 - should have missing entries error
        1..1
    ok 2 - extra inventory items on idealTree # time=23.681ms
    
    # Subtest: extra inventory items on virtualTree
        ok 1 - should have no errors if finding virtualTree extra items
        1..1
    ok 3 - extra inventory items on virtualTree # time=20.177ms
    
    # Subtest: mismatching versions on inventory
        ok 1 - should have errors for each mismatching version
        1..1
    ok 4 - mismatching versions on inventory # time=21.327ms
    
    # Subtest: missing virtualTree inventory
        ok 1 - should have errors for each mismatching version
        1..1
    ok 5 - missing virtualTree inventory # time=15.508ms
    
    1..5
    # time=706.779ms
ok 103 - test/lib/utils/validate-lockfile.js # time=706.779ms

# Subtest: test/lib/utils/web-auth.js
    # Subtest: returns token on success
        ok 1 - should be equal
        1..1
    ok 1 - returns token on success # time=119.681ms
    
    # Subtest: closes opener when auth check finishes
        ok 1 - should be equal
        1..1
    ok 2 - closes opener when auth check finishes # time=23.491ms
    
    1..2
    # time=337.857ms
ok 104 - test/lib/utils/web-auth.js # time=337.857ms

# Subtest: test/lib/workspaces/get-workspaces.js
    # Subtest: filter by package name
        ok 1 - should filter by package name
        1..1
    ok 1 - filter by package name # time=1157.346ms
    
    # Subtest: include workspace root
        ok 1 - include rootspace root
        1..1
    ok 2 - include workspace root # time=271.924ms
    
    # Subtest: filter by package directory
        ok 1 - should filter by package directory
        1..1
    ok 3 - filter by package directory # time=220.866ms
    
    # Subtest: filter by rel package directory
        ok 1 - should filter by rel package directory
        1..1
    ok 4 - filter by rel package directory # time=298.059ms
    
    # Subtest: filter by absolute package directory
        ok 1 - should filter by absolute package directory
        1..1
    ok 5 - filter by absolute package directory # time=312.733ms
    
    # Subtest: filter by parent directory name
        ok 1 - should filter by parent directory name
        1..1
    ok 6 - filter by parent directory name # time=173.656ms
    
    # Subtest: filter by parent directory path
        ok 1 - should filter by parent directory path
        1..1
    ok 7 - filter by parent directory path # time=240.928ms
    
    # Subtest: filter by absolute parent directory path
        ok 1 - should filter by absolute parent directory path
        1..1
    ok 8 - filter by absolute parent directory path # time=318.167ms
    
    # Subtest: no filter set
        ok 1 - should return all workspaces if no filter set
        1..1
    ok 9 - no filter set # time=250.923ms
    
    # Subtest: missing workspace
        ok 1 - should throw no workspaces found error
        1..1
    ok 10 - missing workspace # time=298.059ms
    
    # Subtest: no workspaces configured
        ok 1 - should throw no workspaces found error
        1..1
    ok 11 - no workspaces configured # time=50.925ms
    
    1..11
    # time=3991.651ms
ok 105 - test/lib/workspaces/get-workspaces.js # time=3991.651ms

# Subtest: test/lib/utils/completion/installed-deep.js
    # Subtest: get list of package names
        ok 1 - should return list of package names and global flag
        1..1
    ok 1 - get list of package names # time=18271.223ms
    
    # Subtest: get list of package names as global
        ok 1 - should return list of global packages with no extra flags
        1..1
    ok 2 - get list of package names as global # time=1784.618ms
    
    # Subtest: limit depth
        ok 1 - should print only packages up to the specified depth
        1..1
    ok 3 - limit depth # time=2256.533ms
    
    # Subtest: limit depth as global
        ok 1 - should reorder so that packages above that level depth goes last
        1..1
    ok 4 - limit depth as global # time=1662.7ms
    
    1..4
    # time=24675.897ms
ok 106 - test/lib/utils/completion/installed-deep.js # time=24675.897ms

# Subtest: test/lib/utils/completion/installed-shallow.js
    # Subtest: global not set, include globals with -g
        ok 1 - should be equivalent strictly
        1..1
    ok 1 - global not set, include globals with -g # time=3077.541ms
    
    # Subtest: global set, include globals and not locals
        ok 1 - should be equivalent strictly
        1..1
    ok 2 - global set, include globals and not locals # time=1226.396ms
    
    # Subtest: more than 3 items in argv, skip it
        ok 1 - should be equivalent strictly
        1..1
    ok 3 - more than 3 items in argv, skip it # time=1196.846ms
    
    1..3
    # time=5757.687ms
ok 107 - test/lib/utils/completion/installed-shallow.js # time=5757.687ms

1..107
# failed 1 of 107 tests
# time=4276111.001ms
ERROR: Coverage for lines (98.68%) does not meet global threshold (100%)
ERROR: Coverage for functions (99.5%) does not meet global threshold (100%)
ERROR: Coverage for branches (98.3%) does not meet global threshold (100%)
ERROR: Coverage for statements (98.69%) does not meet global threshold (100%)
------------------------------|---------|----------|---------|---------|-------------------
File                          | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
------------------------------|---------|----------|---------|---------|-------------------
All files                     |   98.69 |     98.3 |    99.5 |   98.68 |                   
 npm-cli                      |     100 |      100 |     100 |     100 |                   
  index.js                    |     100 |      100 |     100 |     100 |                   
 npm-cli/bin                  |     100 |      100 |     100 |     100 |                   
  npm-cli.js                  |     100 |      100 |     100 |     100 |                   
  npx-cli.js                  |     100 |      100 |     100 |     100 |                   
 npm-cli/lib                  |     100 |      100 |     100 |     100 |                   
  arborist-cmd.js             |     100 |      100 |     100 |     100 |                   
  base-command.js             |     100 |      100 |     100 |     100 |                   
  cli-entry.js                |     100 |      100 |     100 |     100 |                   
  cli.js                      |     100 |      100 |     100 |     100 |                   
  lifecycle-cmd.js            |     100 |      100 |     100 |     100 |                   
  npm.js                      |     100 |      100 |     100 |     100 |                   
  package-url-cmd.js          |     100 |      100 |     100 |     100 |                   
 npm-cli/lib/commands         |   98.08 |    97.49 |   99.17 |   98.06 |                   
  access.js                   |     100 |      100 |     100 |     100 |                   
  adduser.js                  |     100 |      100 |     100 |     100 |                   
  audit.js                    |     100 |      100 |     100 |     100 |                   
  bugs.js                     |     100 |      100 |     100 |     100 |                   
  cache.js                    |     100 |      100 |     100 |     100 |                   
  ci.js                       |     100 |      100 |     100 |     100 |                   
  completion.js               |     100 |      100 |     100 |     100 |                   
  config.js                   |     100 |      100 |     100 |     100 |                   
  dedupe.js                   |     100 |      100 |     100 |     100 |                   
  deprecate.js                |     100 |      100 |     100 |     100 |                   
  diff.js                     |     100 |      100 |     100 |     100 |                   
  dist-tag.js                 |     100 |      100 |     100 |     100 |                   
  docs.js                     |     100 |      100 |     100 |     100 |                   
  doctor.js                   |     100 |      100 |     100 |     100 |                   
  edit.js                     |     100 |      100 |     100 |     100 |                   
  exec.js                     |     100 |      100 |     100 |     100 |                   
  explain.js                  |     100 |      100 |     100 |     100 |                   
  explore.js                  |     100 |      100 |     100 |     100 |                   
  find-dupes.js               |     100 |      100 |     100 |     100 |                   
  fund.js                     |     100 |      100 |     100 |     100 |                   
  get.js                      |     100 |      100 |     100 |     100 |                   
  help-search.js              |     100 |      100 |     100 |     100 |                   
  help.js                     |     100 |      100 |     100 |     100 |                   
  hook.js                     |     100 |      100 |     100 |     100 |                   
  init.js                     |     100 |      100 |     100 |     100 |                   
  install.js                  |     100 |      100 |     100 |     100 |                   
  link.js                     |     100 |      100 |     100 |     100 |                   
  ll.js                       |     100 |      100 |     100 |     100 |                   
  login.js                    |     100 |      100 |     100 |     100 |                   
  logout.js                   |     100 |      100 |     100 |     100 |                   
  ls.js                       |     100 |      100 |     100 |     100 |                   
  org.js                      |     100 |      100 |     100 |     100 |                   
  outdated.js                 |     100 |      100 |     100 |     100 |                   
  owner.js                    |     100 |      100 |     100 |     100 |                   
  pack.js                     |     100 |      100 |     100 |     100 |                   
  ping.js                     |     100 |      100 |     100 |     100 |                   
  pkg.js                      |     100 |      100 |     100 |     100 |                   
  prefix.js                   |     100 |      100 |     100 |     100 |                   
  profile.js                  |     100 |      100 |     100 |     100 |                   
  prune.js                    |     100 |      100 |     100 |     100 |                   
  publish.js                  |   20.79 |        0 |       0 |      21 | 41-222            
  query.js                    |     100 |      100 |     100 |     100 |                   
  rebuild.js                  |     100 |      100 |     100 |     100 |                   
  repo.js                     |     100 |      100 |     100 |     100 |                   
  restart.js                  |     100 |      100 |     100 |     100 |                   
  root.js                     |     100 |      100 |     100 |     100 |                   
  run-script.js               |     100 |      100 |     100 |     100 |                   
  sbom.js                     |     100 |      100 |     100 |     100 |                   
  search.js                   |     100 |      100 |     100 |     100 |                   
  set.js                      |     100 |      100 |     100 |     100 |                   
  shrinkwrap.js               |     100 |      100 |     100 |     100 |                   
  star.js                     |     100 |      100 |     100 |     100 |                   
  stars.js                    |     100 |      100 |     100 |     100 |                   
  start.js                    |     100 |      100 |     100 |     100 |                   
  stop.js                     |     100 |      100 |     100 |     100 |                   
  team.js                     |     100 |      100 |     100 |     100 |                   
  test.js                     |     100 |      100 |     100 |     100 |                   
  token.js                    |     100 |      100 |     100 |     100 |                   
  uninstall.js                |     100 |      100 |     100 |     100 |                   
  unpublish.js                |     100 |      100 |     100 |     100 |                   
  unstar.js                   |     100 |      100 |     100 |     100 |                   
  update.js                   |     100 |      100 |     100 |     100 |                   
  version.js                  |     100 |      100 |     100 |     100 |                   
  view.js                     |     100 |      100 |     100 |     100 |                   
  whoami.js                   |     100 |      100 |     100 |     100 |                   
 npm-cli/lib/es6              |     100 |      100 |     100 |     100 |                   
  validate-engines.js         |     100 |      100 |     100 |     100 |                   
 npm-cli/lib/utils            |     100 |      100 |     100 |     100 |                   
  audit-error.js              |     100 |      100 |     100 |     100 |                   
  auth.js                     |     100 |      100 |     100 |     100 |                   
  cmd-list.js                 |     100 |      100 |     100 |     100 |                   
  did-you-mean.js             |     100 |      100 |     100 |     100 |                   
  display.js                  |     100 |      100 |     100 |     100 |                   
  error-message.js            |     100 |      100 |     100 |     100 |                   
  exit-handler.js             |     100 |      100 |     100 |     100 |                   
  explain-dep.js              |     100 |      100 |     100 |     100 |                   
  explain-eresolve.js         |     100 |      100 |     100 |     100 |                   
  format-bytes.js             |     100 |      100 |     100 |     100 |                   
  format-search-stream.js     |     100 |      100 |     100 |     100 |                   
  get-identity.js             |     100 |      100 |     100 |     100 |                   
  is-windows.js               |     100 |      100 |     100 |     100 |                   
  log-file.js                 |     100 |      100 |     100 |     100 |                   
  log-shim.js                 |     100 |      100 |     100 |     100 |                   
  npm-usage.js                |     100 |      100 |     100 |     100 |                   
  open-url-prompt.js          |     100 |      100 |     100 |     100 |                   
  open-url.js                 |     100 |      100 |     100 |     100 |                   
  otplease.js                 |     100 |      100 |     100 |     100 |                   
  ping.js                     |     100 |      100 |     100 |     100 |                   
  pulse-till-done.js          |     100 |      100 |     100 |     100 |                   
  queryable.js                |     100 |      100 |     100 |     100 |                   
  read-user-info.js           |     100 |      100 |     100 |     100 |                   
  reify-finish.js             |     100 |      100 |     100 |     100 |                   
  reify-output.js             |     100 |      100 |     100 |     100 |                   
  replace-info.js             |     100 |      100 |     100 |     100 |                   
  sbom-cyclonedx.js           |     100 |      100 |     100 |     100 |                   
  sbom-spdx.js                |     100 |      100 |     100 |     100 |                   
  tar.js                      |     100 |      100 |     100 |     100 |                   
  timers.js                   |     100 |      100 |     100 |     100 |                   
  update-notifier.js          |     100 |      100 |     100 |     100 |                   
  validate-lockfile.js        |     100 |      100 |     100 |     100 |                   
  web-auth.js                 |     100 |      100 |     100 |     100 |                   
 npm-cli/lib/utils/completion |     100 |      100 |     100 |     100 |                   
  installed-deep.js           |     100 |      100 |     100 |     100 |                   
  installed-shallow.js        |     100 |      100 |     100 |     100 |                   
 npm-cli/lib/workspaces       |     100 |      100 |     100 |     100 |                   
  get-workspaces.js           |     100 |      100 |     100 |     100 |                   
  update-workspaces.js        |     100 |      100 |     100 |     100 |                   
------------------------------|---------|----------|---------|---------|-------------------
[1m[31m==> ERROR:[m[1m A failure occurred in check().[m
[1m    Aborting...[m
[1m[31m==> ERROR:[m[1m Build failed, check /var/lib/archbuild/extra-riscv64/root1/build[m
receiving incremental file list
npm-10.2.0-1-riscv64-build.log
npm-10.2.0-1-riscv64-check.log

sent 62 bytes  received 60,872 bytes  121,868.00 bytes/sec
total size is 459,988  speedup is 7.55
