1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723 |
+ cd hare
+ cp configs/linux.mk config.mk
+ make -j2 check
HAREC .cache/rt.ssa
HAREC .cache/types.ssa
HAREC .cache/sort_cmp.ssa
HAREC .cache/endian.ssa
HAREC .cache/format_elf.ssa
QBE .cache/types.s
QBE .cache/sort_cmp.s
HAREC .cache/crypto_math.ssa
QBE .cache/endian.s
QBE .cache/format_elf.s
AS .cache/types.o
AS .cache/sort_cmp.o
QBE .cache/crypto_math.s
AS .cache/endian.o
AS .cache/format_elf.o
AS .cache/crypto_math.o
QBE .cache/rt.s
HAREC .cache/bytes.ssa
HAREC .cache/errors.ssa
HAREC .cache/math.ssa
HAREC .cache/linux.ssa
QBE .cache/bytes.s
QBE .cache/errors.s
QBE .cache/math.s
QBE .cache/linux.s
HAREC .cache/sort.ssa
AS .cache/rt.o
AS .cache/bytes.o
HAREC .cache/encoding_utf8.ssa
AS .cache/errors.o
HAREC .cache/io.ssa
AS .cache/math.o
AS .cache/linux.o
QBE .cache/sort.s
QBE .cache/encoding_utf8.s
QBE .cache/io.s
HAREC .cache/types_c.ssa
AS .cache/sort.o
AS .cache/encoding_utf8.o
HAREC .cache/strings.ssa
HAREC .cache/hash.ssa
QBE .cache/types_c.s
AS .cache/io.o
QBE .cache/hash.s
AS .cache/types_c.o
HAREC .cache/linux_vdso.ssa
QBE .cache/strings.s
AS .cache/hash.o
HAREC .cache/crypto_sha256.ssa
HAREC .cache/memio.ssa
HAREC .cache/path.ssa
QBE .cache/linux_vdso.s
AS .cache/strings.o
HAREC .cache/ascii.ssa
HAREC .cache/bufio.ssa
QBE .cache/crypto_sha256.s
QBE .cache/memio.s
QBE .cache/path.s
AS .cache/linux_vdso.o
HAREC .cache/time.ssa
QBE .cache/ascii.s
QBE .cache/bufio.s
AS .cache/crypto_sha256.o
AS .cache/memio.o
AS .cache/path.o
QBE .cache/time.s
HAREC .cache/strconv.ssa
HAREC .cache/shlex.ssa
AS .cache/ascii.o
AS .cache/bufio.o
AS .cache/time.o
HAREC .cache/fs.ssa
QBE .cache/shlex.s
QBE .cache/strconv.s
AS .cache/shlex.o
QBE .cache/fs.s
AS .cache/fs.o
HAREC .cache/os.ssa
HAREC .cache/unix.ssa
AS .cache/strconv.o
QBE .cache/unix.s
QBE .cache/os.s
AS .cache/unix.o
HAREC .cache/unix_signal.ssa
HAREC .cache/fmt.ssa
QBE .cache/unix_signal.s
AS .cache/os.o
AS .cache/unix_signal.o
QBE .cache/fmt.s
HAREC .cache/encoding_hex.ssa
HAREC .cache/hare_lex.ssa
HAREC .cache/os_exec.ssa
HAREC .cache/dirs.ssa
HAREC .cache/getopt.ssa
AS .cache/fmt.o
QBE .cache/encoding_hex.s
QBE .cache/hare_lex.s
QBE .cache/os_exec.s
QBE .cache/dirs.s
QBE .cache/getopt.s
AS .cache/encoding_hex.o
HAREC .cache/hare_ast.ssa
AS .cache/os_exec.o
HAREC .cache/unix_tty.ssa
AS .cache/dirs.o
AS .cache/getopt.o
AS .cache/hare_lex.o
QBE .cache/hare_ast.s
QBE .cache/unix_tty.s
AS .cache/hare_ast.o
HAREC .cache/hare_parse.ssa
HAREC .cache/hare_unparse.ssa
AS .cache/unix_tty.o
QBE .cache/hare_parse.s
QBE .cache/hare_unparse.s
HAREC .cache/hare_module.ssa
AS .cache/hare_parse.o
QBE .cache/hare_module.s
AS .cache/hare_module.o
HAREC .cache/cmd_hare_build.ssa
QBE .cache/cmd_hare_build.s
AS .cache/cmd_hare_build.o
HAREC .cache/cmd_hare.ssa
AS .cache/hare_unparse.o
QBE .cache/cmd_hare.s
AS .cache/cmd_hare.o
LD .bin/hare
Running 579/579 tests:
ascii::ctype....................................PASS in 0.000003778s
ascii::strcasecmp...............................PASS in 0.000005350s
ascii::valid....................................PASS in 0.000002835s
bufio::greedy_scan_uncomplete_line..............PASS in 0.000015779s
bufio::read.....................................PASS in 0.000010550s
bufio::read_byte................................PASS in 0.000003026s
bufio::read_line................................PASS in 0.000005421s
bufio::read_rune................................PASS in 0.000012303s
bufio::read_tok.................................PASS in 0.000010599s
bufio::scan_byte................................PASS in 0.000011812s
bufio::scan_read................................PASS in 0.000004849s
bufio::scan_rune................................PASS in 0.000009659s
bufio::scan_rune_cutoff.........................PASS in 0.000003927s
bufio::scan_seek................................PASS in 0.000035327s
bufio::scan_uncomplete_line.....................PASS in 0.000014808s
bufio::scan_unread..............................PASS in 0.000017643s
bufio::unread...................................PASS in 0.000012454s
bufio::write....................................PASS in 0.000012032s
bytes::cut......................................PASS in 0.000005330s
bytes::equal....................................PASS in 0.000009527s
bytes::hasprefix................................PASS in 0.000004077s
bytes::hassuffix................................PASS in 0.000014858s
bytes::index....................................PASS in 0.000010960s
bytes::reverse..................................PASS in 0.000002875s
bytes::rtokenize................................PASS in 0.000005941s
bytes::tokenize.................................PASS in 0.000005130s
bytes::trim.....................................PASS in 0.000014336s
cmd::haredoc::doc::html_escape..................PASS in 0.000023114s
cmd::haredoc::parseident........................PASS in 0.000131306s
cmp::ints.......................................PASS in 0.000002905s
crypto::aes::cbc_encrypt_decrypt................PASS in 0.000051597s
crypto::aes::cbc_encrypt_decrypt_in_place.......PASS in 0.000013034s
crypto::aes::ctr_encrypt_in_place...............PASS in 0.000007764s
crypto::aes::ctr_encrypt_max_iv.................PASS in 0.000007304s
crypto::aes::ctr_encrypt_smaller_buf............PASS in 0.000006853s
crypto::aes::ctr_test_multiple_blocks...........PASS in 0.000013566s
crypto::aes::ctr_test_multiple_calls............PASS in 0.000009308s
crypto::aes::ctr_test_retry.....................PASS in 0.000009417s
crypto::aes::ctr_zero_iv........................PASS in 0.000011051s
crypto::aes::empty_write........................PASS in 0.000007344s
crypto::aes::gcm_decrypt........................PASS in 0.000215825s
crypto::aes::gcm_encrypt........................PASS in 0.000185058s
crypto::aes::gcm_inplace........................PASS in 0.000316153s
crypto::aes::ni_enabled.........................PASS in 0.000002095s
crypto::aes::ni_enc_key_expand_128..............PASS in 0.000004919s
crypto::aes::ni_enc_key_expand_192..............PASS in 0.000009838s
crypto::aes::ni_enc_key_expand_256..............PASS in 0.000002855s
crypto::aes::ni_test_decrypt_128................PASS in 0.000021720s
crypto::aes::ni_test_encrypt_128................PASS in 0.000009587s
crypto::aes::ni_test_example_vector1............PASS in 0.000004178s
crypto::aes::ni_test_example_vector2............PASS in 0.000012954s
crypto::aes::ni_test_example_vector3............PASS in 0.000004178s
crypto::aes::rt_decrypt_128.....................PASS in 0.000012163s
crypto::aes::rt_decrypt_128_multiple_blocks.....PASS in 0.000003226s
crypto::aes::rt_encrypt_128.....................PASS in 0.000002555s
crypto::aes::rt_encrypt_128_multiple_blocks.....PASS in 0.000003276s
crypto::aes::rt_example_vector1.................PASS in 0.000003827s
crypto::aes::rt_example_vector1_in_place........PASS in 0.000008276s
crypto::aes::rt_example_vector2.................PASS in 0.000003736s
crypto::aes::rt_example_vector3.................PASS in 0.000003637s
crypto::aes::rt_finish..........................PASS in 0.000005631s
crypto::aes::test_decrypt_128...................PASS in 0.000007484s
crypto::aes::test_decrypt_128_multiple_blocks...PASS in 0.000008716s
crypto::aes::test_encrypt_128...................PASS in 0.000007805s
crypto::aes::test_encrypt_128_multiple_blocks...PASS in 0.000024897s
crypto::aes::test_example_vector1...............PASS in 0.000006112s
crypto::aes::test_example_vector1_in_place......PASS in 0.000007454s
crypto::aes::test_example_vector2...............PASS in 0.000007964s
crypto::aes::test_example_vector3...............PASS in 0.000008786s
crypto::aes::xts::multiblock....................PASS in 0.000005851s
crypto::aes::xts::oneblock......................PASS in 0.000004399s
crypto::argon2::mode_d_one_pass.................PASS in 0.000550534s
crypto::argon2::rfc_d_test_vector...............PASS in 0.000705353s
crypto::argon2::rfc_i_test_vector...............PASS in 0.000910809s
crypto::argon2::rfc_id_test_vector..............PASS in 0.000726222s
crypto::argon2::samples.........................PASS in 0.005232334s
crypto::argon2::samples_slow....................SKIP in 0.000010761s
crypto::bigint::add.............................PASS in 0.000057628s
crypto::bigint::decodebigger....................PASS in 0.000001933s
crypto::bigint::encmoddec.......................PASS in 0.000028173s
crypto::bigint::encode..........................PASS in 0.000002314s
crypto::bigint::encodebigger....................PASS in 0.000002135s
crypto::bigint::encreddec.......................PASS in 0.000017493s
crypto::bigint::iszero..........................PASS in 0.000036809s
crypto::bigint::modpow..........................PASS in 0.000062898s
crypto::bigint::montyencode.....................PASS in 0.000034475s
crypto::bigint::montymul........................PASS in 0.000097163s
crypto::bigint::mulacc..........................PASS in 0.000050454s
crypto::bigint::muladd_small....................PASS in 0.000061015s
crypto::bigint::reduce..........................PASS in 0.000072485s
crypto::bigint::rshift..........................PASS in 0.000033162s
crypto::bigint::word_countbits..................PASS in 0.000001763s
crypto::bigint::zero............................PASS in 0.000013465s
crypto::blake2b::blake2b........................PASS in 0.028036340s
crypto::blake2b::blake2b_multiple_writes........PASS in 0.000004599s
crypto::blowfish::decrypt.......................PASS in 0.000930014s
crypto::blowfish::encrypt.......................PASS in 0.000904436s
crypto::blowfish::salted........................PASS in 0.000907041s
crypto::chacha::chacha20........................PASS in 0.000007244s
crypto::chacha::hchacha20.......................PASS in 0.000002945s
crypto::chacha::skipblocks......................PASS in 0.000004809s
crypto::chacha::xchacha20.......................PASS in 0.000015379s
crypto::chachapoly::encrypt.....................PASS in 0.000029675s
crypto::chachapoly::xencrypt....................PASS in 0.000028744s
crypto::cipheradditionswap......................PASS in 0.000018625s
crypto::curve25519::highbitignored..............PASS in 0.001713746s
crypto::curve25519::subfe.......................PASS in 0.000002504s
crypto::curve25519::swap25519...................PASS in 0.000002194s
crypto::curve25519::unpack25519.................PASS in 0.000001663s
crypto::curve25519::unpackpack..................PASS in 0.000002084s
crypto::curve25519::vectors.....................PASS in 0.014696987s
crypto::curve25519::x25519basepoint.............PASS in 0.173003436s
crypto::ec::arsh................................PASS in 0.000011311s
crypto::ec::be8tole30...........................PASS in 0.000002725s
crypto::ec::bigint_support......................PASS in 0.000002184s
crypto::ec::keygen_p256.........................PASS in 0.000010631s
crypto::ec::keygen_p384.........................PASS in 0.000004528s
crypto::ec::keygen_p521.........................PASS in 0.000003457s
crypto::ec::p256_muladd.........................PASS in 0.013562521s
crypto::ec::p256_mulgen.........................PASS in 0.007360326s
crypto::ec::p384_muladd.........................PASS in 0.040577544s
crypto::ec::p384_mulgen.........................PASS in 0.025097076s
crypto::ec::p521_muladd.........................PASS in 0.087142039s
crypto::ec::p521_mulgen.........................PASS in 0.054466056s
crypto::ecdh::nist_p256.........................PASS in 0.002459815s
crypto::ecdh::nist_p256_full....................SKIP in 0.000012524s
crypto::ecdh::nist_p384.........................PASS in 0.008376702s
crypto::ecdh::nist_p384_full....................SKIP in 0.000010429s
crypto::ecdh::nist_p521.........................PASS in 0.017779881s
crypto::ecdh::nist_p521_full....................SKIP in 0.000010259s
crypto::ecdh::p256_invalidpoint.................PASS in 0.002458781s
crypto::ecdh::p256_newkey.......................PASS in 0.000003146s
crypto::ecdh::p384_invalidpoint.................PASS in 0.008428050s
crypto::ecdh::p521_invalidpoint.................PASS in 0.017699841s
crypto::ecdsa::ecdsa_rfc6979....................SKIP in 0.000011842s
crypto::ecdsa::hmac_drbg........................PASS in 0.000047169s
crypto::ecdsa::validate.........................PASS in 0.012471233s
crypto::ed25519::golden.........................PASS in 0.005844053s
crypto::ed25519::issue716.......................PASS in 0.003853077s
crypto::ed25519::roundtrip......................PASS in 0.019273072s
crypto::hkdf::rfc1..............................PASS in 0.000024857s
crypto::hkdf::rfc2..............................PASS in 0.000034455s
crypto::hkdf::rfc3..............................PASS in 0.000035466s
crypto::hkdf::rfc4..............................PASS in 0.000029957s
crypto::hkdf::rfc5..............................PASS in 0.000024556s
crypto::hkdf::rfc6..............................PASS in 0.000013105s
crypto::hmac::hmac_sha1.........................PASS in 0.000025417s
crypto::hmac::hmac_sha1_empty_key...............PASS in 0.000010240s
crypto::hmac::hmac_sha1_large_key...............PASS in 0.000019557s
crypto::hmac::sha256............................PASS in 0.000011612s
crypto::invalidaddition.........................PASS in 0.000029675s
crypto::invalidaddition2........................PASS in 0.000009989s
crypto::invalidaddition3........................PASS in 0.000014818s
crypto::invalidaddition4........................PASS in 0.000009388s
crypto::invalidaddition5........................PASS in 0.000013746s
crypto::invalidcipher...........................PASS in 0.000032692s
crypto::invalidcipher2..........................PASS in 0.000013145s
crypto::invalidcipher3..........................PASS in 0.000010429s
crypto::invalidkey..............................PASS in 0.000013525s
crypto::invalidmac..............................PASS in 0.000009868s
crypto::math::cmpu32............................PASS in 0.000016380s
crypto::math::divu32............................PASS in 0.000017823s
crypto::math::eq0u32............................PASS in 0.000005721s
crypto::math::eqslice...........................PASS in 0.000002364s
crypto::math::equ32.............................PASS in 0.000010660s
crypto::math::gtu32.............................PASS in 0.000003577s
crypto::math::lrot32............................PASS in 0.000004318s
crypto::math::lrot64............................PASS in 0.000004578s
crypto::math::muxu32............................PASS in 0.000011802s
crypto::noadditional............................PASS in 0.000016852s
crypto::nomsg...................................PASS in 0.000011783s
crypto::nothing.................................PASS in 0.000016862s
crypto::poly1305::example1......................PASS in 0.000003246s
crypto::poly1305::example2......................PASS in 0.000002555s
crypto::poly1305::example3......................PASS in 0.000005641s
crypto::poly1305::example4......................PASS in 0.000003075s
crypto::poly1305::writepatterns.................PASS in 0.000004278s
crypto::polyaligned.............................PASS in 0.000022212s
crypto::random::buffer..........................PASS in 0.000036068s
crypto::random::reader..........................PASS in 0.000024276s
crypto::rfc.....................................PASS in 0.000024165s
crypto::rfcmultiadditonals......................PASS in 0.000030958s
crypto::rsa::countbits..........................PASS in 0.000018064s
crypto::rsa::initd..............................PASS in 0.000165481s
crypto::rsa::pkcs1..............................PASS in 0.201997853s
crypto::rsa::pss_sig............................PASS in 0.033607209s
crypto::rsa::pubprivexp.........................PASS in 0.030986254s
crypto::rsa::smallprivexp.......................PASS in 0.000057188s
crypto::rsa::tiny...............................PASS in 0.000019536s
crypto::salsa::hsalsa20.........................PASS in 0.000004278s
crypto::salsa::qr...............................PASS in 0.000011041s
crypto::salsa::xsalsa20.........................PASS in 0.000005951s
crypto::salsa::xsalsa20_ctr_overflow_u32........PASS in 0.000004137s
crypto::salsa::xsalsa20_ctr_overflow_u64........PASS in 0.000003807s
crypto::sha1::sha1..............................PASS in 0.000051146s
crypto::sha1::sha1_1gb..........................SKIP in 0.000011231s
crypto::sha256::sha256..........................PASS in 0.000094357s
crypto::sha256::sha256_1gb......................SKIP in 0.000009939s
crypto::sha512::sha384..........................PASS in 0.000033643s
crypto::sha512::sha512..........................PASS in 0.000073297s
crypto::sha512::sha512_224......................PASS in 0.000019446s
crypto::sha512::sha512_256......................PASS in 0.000033143s
crypto::x25519::random..........................PASS in 0.003441696s
crypto::x25519::sample..........................PASS in 0.001716359s
encoding::asn1::bmp.............................PASS in 0.000016671s
encoding::asn1::c_is_num........................PASS in 0.000004699s
encoding::asn1::c_is_print......................PASS in 0.000011232s
encoding::asn1::emptydata.......................PASS in 0.000003276s
encoding::asn1::encode_dsz......................PASS in 0.000007564s
encoding::asn1::invalid_seq.....................PASS in 0.000002956s
encoding::asn1::parselen........................PASS in 0.000017834s
encoding::asn1::parsetag........................PASS in 0.000015729s
encoding::asn1::read_bitstr.....................PASS in 0.000012584s
encoding::asn1::read_bool.......................PASS in 0.000005250s
encoding::asn1::read_gtime......................PASS in 0.000076043s
encoding::asn1::read_implicit...................PASS in 0.000003126s
encoding::asn1::read_int........................PASS in 0.000016060s
encoding::asn1::read_null.......................PASS in 0.000012123s
encoding::asn1::read_oid........................PASS in 0.000003817s
encoding::asn1::read_utctime....................PASS in 0.000031769s
encoding::asn1::seq.............................PASS in 0.000020228s
encoding::asn1::strrawoid.......................PASS in 0.000012964s
encoding::asn1::t61.............................PASS in 0.000020298s
encoding::asn1::t61encode.......................PASS in 0.000094878s
encoding::asn1::utf8............................PASS in 0.000008646s
encoding::asn1::validutf8.......................PASS in 0.000004399s
encoding::asn1::write_bool......................PASS in 0.000003917s
encoding::asn1::write_id........................PASS in 0.000005760s
encoding::asn1::write_int.......................PASS in 0.000004838s
encoding::asn1::write_prim......................PASS in 0.000002865s
encoding::asn1::write_seq.......................PASS in 0.000004098s
encoding::base32::decode........................PASS in 0.000332875s
encoding::base32::encode........................PASS in 0.000009207s
encoding::base64::decode........................PASS in 0.008469356s
encoding::base64::encode........................PASS in 0.000006311s
encoding::base64::partialwrite..................PASS in 0.000002495s
encoding::base64::sizecalc......................PASS in 0.000001883s
encoding::hex::decode...........................PASS in 0.000045766s
encoding::hex::dump.............................PASS in 0.000021611s
encoding::hex::encode...........................PASS in 0.000003477s
encoding::hex::encodestr........................PASS in 0.000003126s
encoding::pem::read.............................PASS in 0.000095610s
encoding::pem::read_many........................PASS in 0.000109175s
encoding::pem::readcrlf.........................PASS in 0.000053600s
encoding::pem::write............................PASS in 0.000066084s
encoding::utf8::decode..........................PASS in 0.000003627s
encoding::utf8::encode..........................PASS in 0.000002114s
encoding::utf8::slice...........................PASS in 0.000004618s
endian::big.....................................PASS in 0.000003026s
endian::hton....................................PASS in 0.000012253s
endian::little..................................PASS in 0.000015820s
endian::ntoh....................................PASS in 0.000003095s
fmt::print......................................PASS in 0.000052439s
fnmatch::fnmatch................................PASS in 0.000069731s
format::ini::extended...........................PASS in 0.000024496s
format::ini::invalid............................PASS in 0.000057208s
format::ini::simple.............................PASS in 0.000021109s
fs::mode_str....................................PASS in 0.000004027s
fs::modes.......................................PASS in 0.000002966s
getopt::parse...................................PASS in 0.000006933s
glob::glob......................................PASS in 0.002441880s
glob::pattern_parse.............................PASS in 0.000032351s
hare::lex::access_tuple.........................PASS in 0.000018605s
hare::lex::annotation_callback..................PASS in 0.000012985s
hare::lex::comments.............................PASS in 0.000014447s
hare::lex::discard_basic_annotation.............PASS in 0.000017061s
hare::lex::discard_detailed_annotation..........PASS in 0.000028534s
hare::lex::invalid..............................PASS in 0.000043061s
hare::lex::keywords.............................PASS in 0.000080320s
hare::lex::lex1.................................PASS in 0.000004508s
hare::lex::lex2.................................PASS in 0.000008196s
hare::lex::lex3.................................PASS in 0.000013024s
hare::lex::lexname..............................PASS in 0.000009277s
hare::lex::literals.............................PASS in 0.000053220s
hare::lex::literals_underscores.................PASS in 0.000052509s
hare::lex::loc..................................PASS in 0.000014788s
hare::lex::runes................................PASS in 0.000011652s
hare::lex::save_restore.........................PASS in 0.000008656s
hare::lex::strings..............................PASS in 0.000034144s
hare::lex::unlex................................PASS in 0.000002574s
hare::parse::array_slice........................PASS in 0.000128641s
hare::parse::assignment.........................PASS in 0.000235632s
hare::parse::binarithm..........................PASS in 0.000050695s
hare::parse::binding............................PASS in 0.000161914s
hare::parse::builtin............................PASS in 0.000427893s
hare::parse::call...............................PASS in 0.000155241s
hare::parse::cast...............................PASS in 0.000187552s
hare::parse::compound...........................PASS in 0.000040196s
hare::parse::control............................PASS in 0.000070492s
hare::parse::decls..............................PASS in 0.000239198s
hare::parse::defer_expr.........................PASS in 0.000044113s
hare::parse::doc::doc...........................PASS in 0.000090720s
hare::parse::doc::invalid_ref...................PASS in 0.000090489s
hare::parse::docs...............................PASS in 0.000078177s
hare::parse::enum_comments......................PASS in 0.000060083s
hare::parse::enum_type..........................PASS in 0.000158938s
hare::parse::expr_loc...........................PASS in 0.001308967s
hare::parse::for_expr...........................PASS in 0.000187021s
hare::parse::func...............................PASS in 0.000323538s
hare::parse::ident..............................PASS in 0.000327945s
hare::parse::if_expr............................PASS in 0.000095950s
hare::parse::imports............................PASS in 0.000084268s
hare::parse::list...............................PASS in 0.000049022s
hare::parse::literal............................PASS in 0.000450626s
hare::parse::match_expr.........................PASS in 0.000151143s
hare::parse::parenthesis........................PASS in 0.000507922s
hare::parse::postfix............................PASS in 0.000190538s
hare::parse::slice..............................PASS in 0.000093655s
hare::parse::struct_union.......................PASS in 0.000237525s
hare::parse::switch_expr........................PASS in 0.000103103s
hare::parse::tagged_union.......................PASS in 0.000096100s
hare::parse::tuple..............................PASS in 0.000140103s
hare::parse::type_loc...........................PASS in 0.000260980s
hare::parse::unarithm...........................PASS in 0.000128381s
hare::parse::yield_expr.........................PASS in 0.000077705s
hare::types::alias..............................PASS in 0.000742392s
hare::types::builtins...........................PASS in 0.000003667s
hare::types::forwardref.........................PASS in 0.000676549s
hare::types::funcs..............................PASS in 0.000684604s
hare::types::lists..............................PASS in 0.000721463s
hare::types::store..............................PASS in 0.000675988s
hare::types::structs............................PASS in 0.000881494s
hare::types::tagged.............................PASS in 0.000692699s
hare::types::tuples.............................PASS in 0.000684935s
hare::unit::_return.............................PASS in 0.000710854s
hare::unit::access..............................PASS in 0.000692029s
hare::unit::compound............................PASS in 0.000822783s
hare::unit::constant............................PASS in 0.000826280s
hare::unparse::_type............................PASS in 0.000014407s
hare::unparse::decl.............................PASS in 0.000026690s
hare::unparse::ident............................PASS in 0.000003386s
hare::unparse::import...........................PASS in 0.000020539s
hash::adler32::adler32..........................PASS in 0.000004449s
hash::crc16::crc16..............................PASS in 0.000008336s
hash::crc32::crc32..............................PASS in 0.000009959s
hash::crc64::crc64..............................PASS in 0.000007083s
hash::fnv::fnv32................................PASS in 0.000011421s
hash::siphash::siphash..........................PASS in 0.000012824s
io::limit.......................................PASS in 0.000003457s
linux::timerfd::timerfd.........................PASS in 0.000048952s
math::absf......................................PASS in 0.000003657s
math::absi......................................PASS in 0.000002906s
math::acos......................................PASS in 0.000006923s
math::acosh.....................................PASS in 0.000005370s
math::asin......................................PASS in 0.000006041s
math::asinh.....................................PASS in 0.000004900s
math::atan......................................PASS in 0.000015719s
math::atan2.....................................PASS in 0.000003856s
math::atanh.....................................PASS in 0.000010070s
math::bit_size..................................PASS in 0.000002755s
math::ceil......................................PASS in 0.000010820s
math::checked::addi16...........................PASS in 0.000006272s
math::checked::addi32...........................PASS in 0.000002394s
math::checked::addi64...........................PASS in 0.000002204s
math::checked::addi8............................PASS in 0.000002244s
math::checked::addu16...........................PASS in 0.000004899s
math::checked::addu32...........................PASS in 0.000002384s
math::checked::addu64...........................PASS in 0.000002315s
math::checked::addu8............................PASS in 0.000002314s
math::checked::muli16...........................PASS in 0.000002294s
math::checked::muli32...........................PASS in 0.000002485s
math::checked::muli64...........................PASS in 0.000002374s
math::checked::muli8............................PASS in 0.000015148s
math::checked::mulu16...........................PASS in 0.000002344s
math::checked::mulu32...........................PASS in 0.000002244s
math::checked::mulu64...........................PASS in 0.000002345s
math::checked::mulu8............................PASS in 0.000002705s
math::checked::sat_addi16.......................PASS in 0.000004970s
math::checked::sat_addi32.......................PASS in 0.000002084s
math::checked::sat_addi64.......................PASS in 0.000004558s
math::checked::sat_addi8........................PASS in 0.000001943s
math::checked::sat_addu16.......................PASS in 0.000001924s
math::checked::sat_addu32.......................PASS in 0.000002485s
math::checked::sat_addu64.......................PASS in 0.000001994s
math::checked::sat_addu8........................PASS in 0.000002004s
math::checked::sat_muli16.......................PASS in 0.000002204s
math::checked::sat_muli32.......................PASS in 0.000002224s
math::checked::sat_muli64.......................PASS in 0.000013856s
math::checked::sat_muli8........................PASS in 0.000002004s
math::checked::sat_mulu16.......................PASS in 0.000003756s
math::checked::sat_mulu32.......................PASS in 0.000003887s
math::checked::sat_mulu64.......................PASS in 0.000003727s
math::checked::sat_mulu8........................PASS in 0.000002014s
math::checked::sat_subi16.......................PASS in 0.000002135s
math::checked::sat_subi32.......................PASS in 0.000003797s
math::checked::sat_subi64.......................PASS in 0.000002113s
math::checked::sat_subi8........................PASS in 0.000002434s
math::checked::sat_subu16.......................PASS in 0.000002013s
math::checked::sat_subu32.......................PASS in 0.000014227s
math::checked::sat_subu64.......................PASS in 0.000003687s
math::checked::sat_subu8........................PASS in 0.000001934s
math::checked::subi16...........................PASS in 0.000014458s
math::checked::subi32...........................PASS in 0.000002754s
math::checked::subi64...........................PASS in 0.000002233s
math::checked::subi8............................PASS in 0.000002264s
math::checked::subu16...........................PASS in 0.000004048s
math::checked::subu32...........................PASS in 0.000002545s
math::checked::subu64...........................PASS in 0.000002104s
math::checked::subu8............................PASS in 0.000002195s
math::complex::abs..............................PASS in 0.000016952s
math::complex::acos.............................PASS in 0.000030187s
math::complex::acosh............................PASS in 0.000016271s
math::complex::asin.............................PASS in 0.000014788s
math::complex::asinh............................PASS in 0.000016841s
math::complex::atan.............................PASS in 0.000009467s
math::complex::atanh............................PASS in 0.000021770s
math::complex::conj.............................PASS in 0.000006111s
math::complex::cos..............................PASS in 0.000008476s
math::complex::cosh.............................PASS in 0.000019276s
math::complex::exp..............................PASS in 0.000006833s
math::complex::isnan............................PASS in 0.000002935s
math::complex::log..............................PASS in 0.000017203s
math::complex::polar............................PASS in 0.000016039s
math::complex::pow..............................PASS in 0.000021220s
math::complex::rect.............................PASS in 0.000019016s
math::complex::sin..............................PASS in 0.000008095s
math::complex::sinh.............................PASS in 0.000007865s
math::complex::sqrt.............................PASS in 0.000022242s
math::complex::tan..............................PASS in 0.000018856s
math::complex::tanh.............................PASS in 0.000006683s
math::complex::tanhuge..........................PASS in 0.000017603s
math::copysign..................................PASS in 0.000003015s
math::cos.......................................PASS in 0.000011512s
math::cosh......................................PASS in 0.000003357s
math::divu......................................PASS in 0.000003316s
math::exp2f64...................................PASS in 0.000003607s
math::expf64....................................PASS in 0.000003576s
math::fexcept...................................PASS in 0.000002895s
math::float_normality...........................PASS in 0.000002465s
math::floatbits.................................PASS in 0.000009287s
math::floor.....................................PASS in 0.000003356s
math::frexp.....................................PASS in 0.000004829s
math::frexp_ldexp...............................PASS in 0.000005420s
math::fround....................................PASS in 0.000023584s
math::gcd.......................................PASS in 0.000003267s
math::hypot.....................................PASS in 0.000008546s
math::isclose...................................PASS in 0.000004619s
math::isinf.....................................PASS in 0.000002675s
math::isnan.....................................PASS in 0.000004368s
math::leading_zeros_u...........................PASS in 0.000002394s
math::log10f64..................................PASS in 0.000014658s
math::log1p.....................................PASS in 0.000005140s
math::log2f64...................................PASS in 0.000003126s
math::logf64....................................PASS in 0.000003246s
math::modf64....................................PASS in 0.000023575s
math::modfrac...................................PASS in 0.000003657s
math::mulu......................................PASS in 0.000010540s
math::nearbyint.................................PASS in 0.000002925s
math::nextafter.................................PASS in 0.000003677s
math::normalize.................................PASS in 0.000002555s
math::popcount..................................PASS in 0.000002886s
math::powf64....................................PASS in 0.000012884s
math::random::rng...............................PASS in 0.000027793s
math::remu......................................PASS in 0.000003006s
math::round.....................................PASS in 0.000002965s
math::signf.....................................PASS in 0.000002845s
math::signi.....................................PASS in 0.000002896s
math::sin.......................................PASS in 0.000003326s
math::sinh......................................PASS in 0.000009288s
math::sqrt......................................PASS in 0.000004809s
math::tan.......................................PASS in 0.000003306s
math::tanh......................................PASS in 0.000017743s
math::trailing_zeros_u..........................PASS in 0.000002495s
math::trig_reduce...............................PASS in 0.000004830s
math::trunc.....................................PASS in 0.000003086s
memio::concat...................................PASS in 0.000006562s
memio::dynamic..................................PASS in 0.000005701s
memio::fixed....................................PASS in 0.000009838s
memio::join.....................................PASS in 0.000004960s
memio::rconcat..................................PASS in 0.000009588s
memio::rjoin....................................PASS in 0.000004629s
mime::lookup_ext................................PASS in 0.000016992s
mime::lookup_mime...............................PASS in 0.000006342s
mime::parse.....................................PASS in 0.000009147s
net::dns::opcode................................PASS in 0.000002634s
net::ip::parse_ip...............................PASS in 0.000076494s
net::ip::parse_subnet...........................PASS in 0.000015039s
net::ip::test_subnet_contains...................PASS in 0.000013304s
net::uri::decodequery...........................PASS in 0.000015008s
net::uri::encodequery...........................PASS in 0.000007905s
net::uri::invalid...............................PASS in 0.000019637s
net::uri::percent_encoding......................PASS in 0.000058069s
net::uri::roundtrip.............................PASS in 0.000144631s
path::dirname_basename..........................PASS in 0.000127850s
path::ext.......................................PASS in 0.000009998s
path::iter......................................PASS in 0.000012824s
path::pop.......................................PASS in 0.000018455s
path::prepend...................................PASS in 0.000035137s
path::push......................................PASS in 0.000007935s
regex::find.....................................PASS in 0.009292731s
regex::findall..................................PASS in 0.000373912s
regex::rawreplace...............................PASS in 0.000441478s
regex::replace..................................PASS in 0.000582322s
rt::sigset_invalid_signum.......................PASS in 0.000002444s
rt::sigset_valid_signum.........................PASS in 0.000002555s
rt::unknown_errno...............................PASS in 0.000003387s
shlex::quote....................................PASS in 0.000015709s
shlex::split....................................PASS in 0.000023664s
sort::big_equal.................................PASS in 0.009948281s
sort::big_random................................PASS in 0.017314357s
sort::lbisect...................................PASS in 0.000003537s
sort::rbisect...................................PASS in 0.000003146s
sort::search....................................PASS in 0.000011922s
sort::sort......................................PASS in 0.000022833s
sort::sorted....................................PASS in 0.000002926s
strconv::ftosf..................................PASS in 0.000269566s
strconv::itos...................................PASS in 0.000003346s
strconv::itos_bases.............................PASS in 0.000003177s
strconv::stof32.................................PASS in 0.000024225s
strconv::stof64.................................PASS in 0.000057358s
strconv::stofhex................................PASS in 0.000007404s
strconv::stoi...................................PASS in 0.000006091s
strconv::stoi_bases.............................PASS in 0.000002525s
strconv::stou...................................PASS in 0.000003696s
strconv::stou_bases.............................PASS in 0.000015409s
strconv::utos...................................PASS in 0.000015009s
strconv::utos_bases.............................PASS in 0.000004749s
strings::byteindex..............................PASS in 0.000005280s
strings::compare................................PASS in 0.000004729s
strings::concat.................................PASS in 0.000003987s
strings::contains...............................PASS in 0.000004208s
strings::cut....................................PASS in 0.000018335s
strings::dup....................................PASS in 0.000003015s
strings::dupall.................................PASS in 0.000015299s
strings::fromrunes..............................PASS in 0.000011622s
strings::hasprefix..............................PASS in 0.000002716s
strings::hassuffix..............................PASS in 0.000002595s
strings::index..................................PASS in 0.000008717s
strings::iter...................................PASS in 0.000003317s
strings::join...................................PASS in 0.000003406s
strings::lpad...................................PASS in 0.000013816s
strings::multireplace...........................PASS in 0.000005109s
strings::replace................................PASS in 0.000017092s
strings::rpad...................................PASS in 0.000003346s
strings::slice..................................PASS in 0.000002806s
strings::split..................................PASS in 0.000019136s
strings::sub....................................PASS in 0.000003467s
strings::template::template.....................PASS in 0.000029225s
strings::tokenize...............................PASS in 0.000005361s
strings::trim...................................PASS in 0.000019637s
strings::utf8...................................PASS in 0.000002795s
test::_abort....................................PASS in 0.000121518s
test::exit......................................PASS in 0.000008416s
time::add.......................................PASS in 0.000024075s
time::chrono::utc_convfrom_tai..................PASS in 0.000234380s
time::chrono::utc_convto_tai....................PASS in 0.000007694s
time::compare...................................PASS in 0.001063254s
time::date::calc_daydate__isoywd................PASS in 0.000003136s
time::date::calc_daydate__yd....................PASS in 0.000002445s
time::date::calc_daydate__ymd...................PASS in 0.000010220s
time::date::calc_daydate__ywd...................PASS in 0.000002975s
time::date::calc_janfirstweekday................PASS in 0.000002284s
time::date::calc_sundayweek.....................PASS in 0.000002204s
time::date::calc_week...........................PASS in 0.000002234s
time::date::calc_weekday........................PASS in 0.000001954s
time::date::calc_yearday........................PASS in 0.000010059s
time::date::calc_ymd............................PASS in 0.000002524s
time::date::format..............................PASS in 0.000036378s
time::date::from_str............................PASS in 0.000032982s
time::date::hop.................................PASS in 0.000012413s
time::date::parse...............................PASS in 0.000016200s
time::date::reckon..............................PASS in 0.000082034s
time::date::traverse............................PASS in 0.000015739s
time::date::truncate............................PASS in 0.000023424s
time::mult......................................PASS in 0.000005680s
types::c::strings...............................PASS in 0.000011120s
types::c::strlen................................PASS in 0.000002584s
types::c::strnlen...............................PASS in 0.000004088s
unix::hosts::errors.............................PASS in 0.000034204s
unix::hosts::lookup.............................PASS in 0.000035847s
unix::hosts::next...............................PASS in 0.000034254s
unix::passwd::nextgr............................PASS in 0.000018795s
unix::passwd::nextpw............................PASS in 0.000019116s
unix::signal::test_handle.......................SKIP in 0.000010790s
unix::tty::pty..................................PASS in 0.000158978s
uuid::decode....................................PASS in 0.000005500s
uuid::encode....................................PASS in 0.000038543s
wordexp::wordexp................................PASS in 0.005500297s
wordexp::wordexp_error..........................PASS in 0.001221791s
Skipped crypto::argon2::samples_slow: Requires HARETEST_INCLUDE='slow'
Skipped crypto::ecdh::nist_p256_full: Requires HARETEST_INCLUDE='slow'
Skipped crypto::ecdh::nist_p384_full: Requires HARETEST_INCLUDE='slow'
Skipped crypto::ecdh::nist_p521_full: Requires HARETEST_INCLUDE='slow'
Skipped crypto::ecdsa::ecdsa_rfc6979: Requires HARETEST_INCLUDE='slow'
Skipped crypto::sha1::sha1_1gb: Requires HARETEST_INCLUDE='slow'
Skipped crypto::sha256::sha256_1gb: Requires HARETEST_INCLUDE='slow'
Skipped unix::signal::test_handle: Requires HARETEST_INCLUDE='integration'
571 passed; 0 failed; 8 skipped; 579 completed in 0.908353140s
rm .cache/time.s .cache/encoding_utf8.s .cache/hare_ast.s .cache/hare_lex.s .cache/crypto_sha256.s .cache/strings.s .cache/os.s .cache/io.s .cache/fmt.s .cache/dirs.s .cache/shlex.s .cache/cmd_hare_build.s .cache/encoding_hex.s .cache/format_elf.s .cache/unix.s .cache/sort_cmp.s .cache/sort.s .cache/strconv.s .cache/errors.s .cache/getopt.s .cache/linux.s .cache/hash.s .cache/ascii.s .cache/fs.s .cache/bufio.s .cache/types.s .cache/types_c.s .cache/cmd_hare.s .cache/hare_parse.s .cache/path.s .cache/linux_vdso.s .cache/endian.s .cache/bytes.s .cache/os_exec.s .cache/crypto_math.s .cache/hare_unparse.s .cache/math.s .cache/hare_module.s .cache/unix_tty.s .cache/unix_signal.s .cache/memio.s
|