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
724 |
+ 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
AS .cache/io.o
HAREC .cache/hash.ssa
QBE .cache/types_c.s
QBE .cache/strings.s
QBE .cache/hash.s
HAREC .cache/memio.ssa
HAREC .cache/path.ssa
AS .cache/types_c.o
HAREC .cache/linux_vdso.ssa
AS .cache/strings.o
HAREC .cache/ascii.ssa
HAREC .cache/bufio.ssa
AS .cache/hash.o
HAREC .cache/crypto_sha256.ssa
QBE .cache/memio.s
QBE .cache/path.s
QBE .cache/linux_vdso.s
QBE .cache/ascii.s
QBE .cache/bufio.s
QBE .cache/crypto_sha256.s
AS .cache/memio.o
AS .cache/path.o
AS .cache/linux_vdso.o
HAREC .cache/time.ssa
HAREC .cache/strconv.ssa
HAREC .cache/shlex.ssa
AS .cache/ascii.o
AS .cache/bufio.o
AS .cache/crypto_sha256.o
QBE .cache/time.s
QBE .cache/strconv.s
QBE .cache/shlex.s
AS .cache/time.o
HAREC .cache/fs.ssa
AS .cache/shlex.o
QBE .cache/fs.s
AS .cache/strconv.o
HAREC .cache/unix.ssa
AS .cache/fs.o
HAREC .cache/os.ssa
QBE .cache/unix.s
AS .cache/unix.o
HAREC .cache/unix_signal.ssa
QBE .cache/unix_signal.s
QBE .cache/os.s
AS .cache/unix_signal.o
HAREC .cache/fmt.ssa
QBE .cache/fmt.s
AS .cache/os.o
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 580/580 tests:
ascii::ctype....................................PASS in 0.000005632s
ascii::strcasecmp...............................PASS in 0.000008031s
ascii::valid....................................PASS in 0.000004323s
bufio::greedy_scan_uncomplete_line..............PASS in 0.000032446s
bufio::read.....................................PASS in 0.000016202s
bufio::read_byte................................PASS in 0.000004634s
bufio::read_line................................PASS in 0.000009653s
bufio::read_rune................................PASS in 0.000005421s
bufio::read_tok.................................PASS in 0.000013916s
bufio::scan_byte................................PASS in 0.000004807s
bufio::scan_read................................PASS in 0.000008172s
bufio::scan_rune................................PASS in 0.000005008s
bufio::scan_rune_cutoff.........................PASS in 0.000024970s
bufio::scan_seek................................PASS in 0.000046754s
bufio::scan_uncomplete_line.....................PASS in 0.000029958s
bufio::scan_unread..............................PASS in 0.000007165s
bufio::unread...................................PASS in 0.000008918s
bufio::write....................................PASS in 0.000026148s
bytes::cut......................................PASS in 0.000011629s
bytes::equal....................................PASS in 0.000016938s
bytes::hasprefix................................PASS in 0.000004041s
bytes::hassuffix................................PASS in 0.000012645s
bytes::index....................................PASS in 0.000017684s
bytes::reverse..................................PASS in 0.000006933s
bytes::rtokenize................................PASS in 0.000006488s
bytes::tokenize.................................PASS in 0.000012211s
bytes::trim.....................................PASS in 0.000007850s
cmd::haredoc::doc::html_escape..................PASS in 0.000024968s
cmd::haredoc::parseident........................PASS in 0.000189049s
cmp::ints.......................................PASS in 0.000004545s
crypto::aes::cbc_encrypt_decrypt................PASS in 0.000066976s
crypto::aes::cbc_encrypt_decrypt_in_place.......PASS in 0.000028435s
crypto::aes::ctr_encrypt_in_place...............PASS in 0.000009753s
crypto::aes::ctr_encrypt_max_iv.................PASS in 0.000008615s
crypto::aes::ctr_encrypt_smaller_buf............PASS in 0.000016525s
crypto::aes::ctr_test_multiple_blocks...........PASS in 0.000025452s
crypto::aes::ctr_test_multiple_calls............PASS in 0.000015861s
crypto::aes::ctr_test_retry.....................PASS in 0.000012474s
crypto::aes::ctr_zero_iv........................PASS in 0.000018852s
crypto::aes::empty_write........................PASS in 0.000011607s
crypto::aes::gcm_decrypt........................PASS in 0.000349280s
crypto::aes::gcm_encrypt........................PASS in 0.000294194s
crypto::aes::gcm_inplace........................PASS in 0.000508594s
crypto::aes::ni_enabled.........................PASS in 0.000003235s
crypto::aes::ni_enc_key_expand_128..............PASS in 0.000009069s
crypto::aes::ni_enc_key_expand_192..............PASS in 0.000021251s
crypto::aes::ni_enc_key_expand_256..............PASS in 0.000005893s
crypto::aes::ni_test_decrypt_128................PASS in 0.000004857s
crypto::aes::ni_test_encrypt_128................PASS in 0.000011870s
crypto::aes::ni_test_example_vector1............PASS in 0.000004464s
crypto::aes::ni_test_example_vector2............PASS in 0.000004031s
crypto::aes::ni_test_example_vector3............PASS in 0.000011919s
crypto::aes::rt_decrypt_128.....................PASS in 0.000006419s
crypto::aes::rt_decrypt_128_multiple_blocks.....PASS in 0.000003870s
crypto::aes::rt_encrypt_128.....................PASS in 0.000004393s
crypto::aes::rt_encrypt_128_multiple_blocks.....PASS in 0.000003153s
crypto::aes::rt_example_vector1.................PASS in 0.000006812s
crypto::aes::rt_example_vector1_in_place........PASS in 0.000002358s
crypto::aes::rt_example_vector2.................PASS in 0.000003082s
crypto::aes::rt_example_vector3.................PASS in 0.000008262s
crypto::aes::rt_finish..........................PASS in 0.000009280s
crypto::aes::test_decrypt_128...................PASS in 0.000008836s
crypto::aes::test_decrypt_128_multiple_blocks...PASS in 0.000017804s
crypto::aes::test_encrypt_128...................PASS in 0.000011668s
crypto::aes::test_encrypt_128_multiple_blocks...PASS in 0.000016847s
crypto::aes::test_example_vector1...............PASS in 0.000016082s
crypto::aes::test_example_vector1_in_place......PASS in 0.000012333s
crypto::aes::test_example_vector2...............PASS in 0.000010660s
crypto::aes::test_example_vector3...............PASS in 0.000011961s
crypto::aes::xts::multiblock....................PASS in 0.000009169s
crypto::aes::xts::oneblock......................PASS in 0.000007497s
crypto::argon2::mode_d_one_pass.................PASS in 0.000942384s
crypto::argon2::rfc_d_test_vector...............PASS in 0.001129054s
crypto::argon2::rfc_i_test_vector...............PASS in 0.001465970s
crypto::argon2::rfc_id_test_vector..............PASS in 0.001203426s
crypto::argon2::samples.........................PASS in 0.008665407s
crypto::argon2::samples_slow....................SKIP in 0.000017965s
crypto::bigint::add.............................PASS in 0.000055962s
crypto::bigint::decodebigger....................PASS in 0.000003457s
crypto::bigint::encmoddec.......................PASS in 0.000029422s
crypto::bigint::encode..........................PASS in 0.000003617s
crypto::bigint::encodebigger....................PASS in 0.000004273s
crypto::bigint::encreddec.......................PASS in 0.000028012s
crypto::bigint::iszero..........................PASS in 0.000067350s
crypto::bigint::modpow..........................PASS in 0.000093679s
crypto::bigint::montyencode.....................PASS in 0.000050249s
crypto::bigint::montymul........................PASS in 0.000150669s
crypto::bigint::mulacc..........................PASS in 0.000071128s
crypto::bigint::muladd_small....................PASS in 0.000090384s
crypto::bigint::reduce..........................PASS in 0.000114386s
crypto::bigint::rshift..........................PASS in 0.000052003s
crypto::bigint::word_countbits..................PASS in 0.000007003s
crypto::bigint::zero............................PASS in 0.000003607s
crypto::blake2b::blake2b........................PASS in 0.035428498s
crypto::blake2b::blake2b_multiple_writes........PASS in 0.000004726s
crypto::blowfish::decrypt.......................PASS in 0.000930804s
crypto::blowfish::encrypt.......................PASS in 0.000908074s
crypto::blowfish::salted........................PASS in 0.000898834s
crypto::chacha::chacha20........................PASS in 0.000007224s
crypto::chacha::hchacha20.......................PASS in 0.000002720s
crypto::chacha::skipblocks......................PASS in 0.000007980s
crypto::chacha::xchacha20.......................PASS in 0.000007336s
crypto::chachapoly::encrypt.....................PASS in 0.000030037s
crypto::chachapoly::xencrypt....................PASS in 0.000027186s
crypto::cipheradditionswap......................PASS in 0.000006621s
crypto::curve25519::highbitignored..............PASS in 0.002222852s
crypto::curve25519::subfe.......................PASS in 0.000002337s
crypto::curve25519::swap25519...................PASS in 0.000002428s
crypto::curve25519::unpack25519.................PASS in 0.000001723s
crypto::curve25519::unpackpack..................PASS in 0.000002076s
crypto::curve25519::vectors.....................PASS in 0.018902319s
crypto::curve25519::x25519basepoint.............PASS in 0.217566866s
crypto::ec::arsh................................PASS in 0.000002881s
crypto::ec::be8tole30...........................PASS in 0.000002318s
crypto::ec::bigint_support......................PASS in 0.000002116s
crypto::ec::keygen_p256.........................PASS in 0.000004171s
crypto::ec::keygen_p384.........................PASS in 0.000003114s
crypto::ec::keygen_p521.........................PASS in 0.000003154s
crypto::ec::p256_muladd.........................PASS in 0.013307249s
crypto::ec::p256_mulgen.........................PASS in 0.007177066s
crypto::ec::p384_muladd.........................PASS in 0.040378139s
crypto::ec::p384_mulgen.........................PASS in 0.025694798s
crypto::ec::p521_muladd.........................PASS in 0.087886709s
crypto::ec::p521_mulgen.........................PASS in 0.054249945s
crypto::ecdh::nist_p256.........................PASS in 0.002524598s
crypto::ecdh::nist_p256_full....................SKIP in 0.000017439s
crypto::ecdh::nist_p384.........................PASS in 0.008599467s
crypto::ecdh::nist_p384_full....................SKIP in 0.000015425s
crypto::ecdh::nist_p521.........................PASS in 0.018116520s
crypto::ecdh::nist_p521_full....................SKIP in 0.000015003s
crypto::ecdh::p256_invalidpoint.................PASS in 0.002471856s
crypto::ecdh::p256_newkey.......................PASS in 0.000003618s
crypto::ecdh::p384_invalidpoint.................PASS in 0.008602239s
crypto::ecdh::p521_invalidpoint.................PASS in 0.018108116s
crypto::ecdsa::ecdsa_rfc6979....................SKIP in 0.000021984s
crypto::ecdsa::hmac_drbg........................PASS in 0.000039081s
crypto::ecdsa::validate.........................PASS in 0.012626621s
crypto::ed25519::golden.........................PASS in 0.005904880s
crypto::ed25519::issue716.......................PASS in 0.003884225s
crypto::ed25519::roundtrip......................PASS in 0.018885061s
crypto::hkdf::rfc1..............................PASS in 0.000033843s
crypto::hkdf::rfc2..............................PASS in 0.000059061s
crypto::hkdf::rfc3..............................PASS in 0.000031586s
crypto::hkdf::rfc4..............................PASS in 0.000018368s
crypto::hkdf::rfc5..............................PASS in 0.000030408s
crypto::hkdf::rfc6..............................PASS in 0.000017964s
crypto::hmac::hmac_sha1.........................PASS in 0.000016987s
crypto::hmac::hmac_sha1_empty_key...............PASS in 0.000023858s
crypto::hmac::hmac_sha1_large_key...............PASS in 0.000017762s
crypto::hmac::sha256............................PASS in 0.000013178s
crypto::invalidaddition.........................PASS in 0.000018963s
crypto::invalidaddition2........................PASS in 0.000015153s
crypto::invalidaddition3........................PASS in 0.000015587s
crypto::invalidaddition4........................PASS in 0.000012191s
crypto::invalidaddition5........................PASS in 0.000012795s
crypto::invalidcipher...........................PASS in 0.000012363s
crypto::invalidcipher2..........................PASS in 0.000020019s
crypto::invalidcipher3..........................PASS in 0.000019545s
crypto::invalidkey..............................PASS in 0.000012574s
crypto::invalidmac..............................PASS in 0.000012704s
crypto::math::cmpu32............................PASS in 0.000003284s
crypto::math::divu32............................PASS in 0.000006479s
crypto::math::eq0u32............................PASS in 0.000003415s
crypto::math::eqslice...........................PASS in 0.000005621s
crypto::math::equ32.............................PASS in 0.000003234s
crypto::math::gtu32.............................PASS in 0.000005603s
crypto::math::lrot32............................PASS in 0.000003193s
crypto::math::lrot64............................PASS in 0.000003757s
crypto::math::muxu32............................PASS in 0.000003183s
crypto::noadditional............................PASS in 0.000023767s
crypto::nomsg...................................PASS in 0.000018166s
crypto::nothing.................................PASS in 0.000024996s
crypto::poly1305::example1......................PASS in 0.000003385s
crypto::poly1305::example2......................PASS in 0.000005492s
crypto::poly1305::example3......................PASS in 0.000006096s
crypto::poly1305::example4......................PASS in 0.000003717s
crypto::poly1305::writepatterns.................PASS in 0.000005722s
crypto::polyaligned.............................PASS in 0.000019970s
crypto::random::buffer..........................PASS in 0.000036735s
crypto::random::reader..........................PASS in 0.000027968s
crypto::rfc.....................................PASS in 0.000021390s
crypto::rfcmultiadditonals......................PASS in 0.000022266s
crypto::rsa::countbits..........................PASS in 0.000005794s
crypto::rsa::initd..............................PASS in 0.000164690s
crypto::rsa::pkcs1..............................PASS in 0.207583291s
crypto::rsa::pss_sig............................PASS in 0.034748903s
crypto::rsa::pubprivexp.........................PASS in 0.031942863s
crypto::rsa::smallprivexp.......................PASS in 0.000089621s
crypto::rsa::tiny...............................PASS in 0.000011476s
crypto::salsa::hsalsa20.........................PASS in 0.000015253s
crypto::salsa::qr...............................PASS in 0.000003618s
crypto::salsa::xsalsa20.........................PASS in 0.000013944s
crypto::salsa::xsalsa20_ctr_overflow_u32........PASS in 0.000006851s
crypto::salsa::xsalsa20_ctr_overflow_u64........PASS in 0.000009702s
crypto::sha1::sha1..............................PASS in 0.000063938s
crypto::sha1::sha1_1gb..........................SKIP in 0.000015919s
crypto::sha256::sha256..........................PASS in 0.000092633s
crypto::sha256::sha256_1gb......................SKIP in 0.000014842s
crypto::sha512::sha384..........................PASS in 0.000055102s
crypto::sha512::sha512..........................PASS in 0.000098334s
crypto::sha512::sha512_224......................PASS in 0.000030185s
crypto::sha512::sha512_256......................PASS in 0.000031022s
crypto::x25519::random..........................PASS in 0.004546926s
crypto::x25519::sample..........................PASS in 0.002231712s
encoding::asn1::bmp.............................PASS in 0.000023757s
encoding::asn1::c_is_num........................PASS in 0.000008091s
encoding::asn1::c_is_print......................PASS in 0.000026618s
encoding::asn1::emptydata.......................PASS in 0.000005148s
encoding::asn1::encode_dsz......................PASS in 0.000012886s
encoding::asn1::invalid_seq.....................PASS in 0.000004796s
encoding::asn1::parselen........................PASS in 0.000007536s
encoding::asn1::parsetag........................PASS in 0.000009339s
encoding::asn1::read_bitstr.....................PASS in 0.000020583s
encoding::asn1::read_bool.......................PASS in 0.000007415s
encoding::asn1::read_gtime......................PASS in 0.000067877s
encoding::asn1::read_implicit...................PASS in 0.000004775s
encoding::asn1::read_int........................PASS in 0.000028523s
encoding::asn1::read_null.......................PASS in 0.000005733s
encoding::asn1::read_oid........................PASS in 0.000005712s
encoding::asn1::read_utctime....................PASS in 0.000029380s
encoding::asn1::seq.............................PASS in 0.000012583s
encoding::asn1::strrawoid.......................PASS in 0.000010952s
encoding::asn1::t61.............................PASS in 0.000027677s
encoding::asn1::t61encode.......................PASS in 0.000111161s
encoding::asn1::utf8............................PASS in 0.000013643s
encoding::asn1::validutf8.......................PASS in 0.000013863s
encoding::asn1::write_bool......................PASS in 0.000006036s
encoding::asn1::write_id........................PASS in 0.000007919s
encoding::asn1::write_int.......................PASS in 0.000007133s
encoding::asn1::write_prim......................PASS in 0.000004735s
encoding::asn1::write_seq.......................PASS in 0.000006197s
encoding::base32::decode........................PASS in 0.000342327s
encoding::base32::encode........................PASS in 0.000013561s
encoding::base64::decode........................PASS in 0.008925897s
encoding::base64::encode........................PASS in 0.000009471s
encoding::base64::partialwrite..................PASS in 0.000005169s
encoding::base64::sizecalc......................PASS in 0.000002892s
encoding::hex::decode...........................PASS in 0.000039656s
encoding::hex::dump.............................PASS in 0.000031486s
encoding::hex::encode...........................PASS in 0.000005360s
encoding::hex::encodestr........................PASS in 0.000005007s
encoding::pem::read.............................PASS in 0.000094214s
encoding::pem::read_many........................PASS in 0.000105579s
encoding::pem::readcrlf.........................PASS in 0.000057489s
encoding::pem::write............................PASS in 0.000102425s
encoding::utf8::decode..........................PASS in 0.000005149s
encoding::utf8::encode..........................PASS in 0.000005703s
encoding::utf8::slice...........................PASS in 0.000003879s
endian::big.....................................PASS in 0.000011234s
endian::hton....................................PASS in 0.000004000s
endian::little..................................PASS in 0.000004303s
endian::ntoh....................................PASS in 0.000003838s
fmt::print......................................PASS in 0.000063837s
fnmatch::fnmatch................................PASS in 0.000074759s
format::ini::extended...........................PASS in 0.000029923s
format::ini::invalid............................PASS in 0.000064341s
format::ini::simple.............................PASS in 0.000028332s
fs::mode_str....................................PASS in 0.000004988s
fs::modes.......................................PASS in 0.000004474s
getopt::parse...................................PASS in 0.000010668s
glob::glob......................................PASS in 0.002700976s
glob::pattern_parse.............................PASS in 0.000043898s
hare::lex::access_tuple.........................PASS in 0.000028502s
hare::lex::annotation_callback..................PASS in 0.000019546s
hare::lex::comments.............................PASS in 0.000022145s
hare::lex::discard_basic_annotation.............PASS in 0.000014670s
hare::lex::discard_detailed_annotation..........PASS in 0.000026226s
hare::lex::invalid..............................PASS in 0.000057912s
hare::lex::keywords.............................PASS in 0.000102224s
hare::lex::lex1.................................PASS in 0.000006882s
hare::lex::lex2.................................PASS in 0.000022749s
hare::lex::lex3.................................PASS in 0.000019042s
hare::lex::lexname..............................PASS in 0.000014589s
hare::lex::literals.............................PASS in 0.000070023s
hare::lex::literals_underscores.................PASS in 0.000067848s
hare::lex::loc..................................PASS in 0.000021379s
hare::lex::runes................................PASS in 0.000016947s
hare::lex::save_restore.........................PASS in 0.000016100s
hare::lex::strings..............................PASS in 0.000042215s
hare::lex::unlex................................PASS in 0.000003788s
hare::parse::array_slice........................PASS in 0.000143653s
hare::parse::assignment.........................PASS in 0.000277321s
hare::parse::binarithm..........................PASS in 0.000062114s
hare::parse::binding............................PASS in 0.000195360s
hare::parse::builtin............................PASS in 0.000462807s
hare::parse::call...............................PASS in 0.000175451s
hare::parse::cast...............................PASS in 0.000208810s
hare::parse::compound...........................PASS in 0.000058477s
hare::parse::control............................PASS in 0.000101992s
hare::parse::decls..............................PASS in 0.000287286s
hare::parse::defer_expr.........................PASS in 0.000062849s
hare::parse::doc::doc...........................PASS in 0.000112461s
hare::parse::doc::invalid_ref...................PASS in 0.000110033s
hare::parse::docs...............................PASS in 0.000095968s
hare::parse::enum_comments......................PASS in 0.000056734s
hare::parse::enum_type..........................PASS in 0.000190331s
hare::parse::expr_loc...........................PASS in 0.001350920s
hare::parse::for_expr...........................PASS in 0.000210472s
hare::parse::func...............................PASS in 0.000350338s
hare::parse::ident..............................PASS in 0.000369894s
hare::parse::if_expr............................PASS in 0.000125024s
hare::parse::imports............................PASS in 0.000107371s
hare::parse::list...............................PASS in 0.000067403s
hare::parse::literal............................PASS in 0.000478332s
hare::parse::match_expr.........................PASS in 0.000156821s
hare::parse::parenthesis........................PASS in 0.000498624s
hare::parse::postfix............................PASS in 0.000197576s
hare::parse::slice..............................PASS in 0.000115916s
hare::parse::struct_union.......................PASS in 0.000257806s
hare::parse::switch_expr........................PASS in 0.000120743s
hare::parse::tagged_union.......................PASS in 0.000116763s
hare::parse::tuple..............................PASS in 0.000173929s
hare::parse::type_loc...........................PASS in 0.000288707s
hare::parse::unarithm...........................PASS in 0.000156933s
hare::parse::yield_expr.........................PASS in 0.000103624s
hare::types::alias..............................PASS in 0.000779937s
hare::types::builtins...........................PASS in 0.000005077s
hare::types::forwardref.........................PASS in 0.000739958s
hare::types::funcs..............................PASS in 0.000714830s
hare::types::lists..............................PASS in 0.000749247s
hare::types::store..............................PASS in 0.000690729s
hare::types::structs............................PASS in 0.000897313s
hare::types::tagged.............................PASS in 0.000701923s
hare::types::tuples.............................PASS in 0.000694489s
hare::unit::_return.............................PASS in 0.000742555s
hare::unit::access..............................PASS in 0.000700613s
hare::unit::compound............................PASS in 0.000806856s
hare::unit::constant............................PASS in 0.000829527s
hare::unparse::_type............................PASS in 0.000021390s
hare::unparse::decl.............................PASS in 0.000027708s
hare::unparse::ident............................PASS in 0.000005209s
hare::unparse::import...........................PASS in 0.000020593s
hash::adler32::adler32..........................PASS in 0.000006025s
hash::crc16::crc16..............................PASS in 0.000010791s
hash::crc32::crc32..............................PASS in 0.000008463s
hash::crc64::crc64..............................PASS in 0.000008976s
hash::fnv::fnv32................................PASS in 0.000009460s
hash::siphash::siphash..........................PASS in 0.000018861s
io::limit.......................................PASS in 0.000004887s
linux::timerfd::timerfd.........................PASS in 0.000036443s
math::absf......................................PASS in 0.000004585s
math::absi......................................PASS in 0.000011345s
math::acos......................................PASS in 0.000006942s
math::acosh.....................................PASS in 0.000007868s
math::asin......................................PASS in 0.000011616s
math::asinh.....................................PASS in 0.000006761s
math::atan......................................PASS in 0.000004796s
math::atan2.....................................PASS in 0.000007617s
math::atanh.....................................PASS in 0.000004786s
math::bit_size..................................PASS in 0.000006559s
math::ceil......................................PASS in 0.000004947s
math::checked::addi16...........................PASS in 0.000003354s
math::checked::addi32...........................PASS in 0.000003788s
math::checked::addi64...........................PASS in 0.000003104s
math::checked::addi8............................PASS in 0.000005622s
math::checked::addu16...........................PASS in 0.000003234s
math::checked::addu32...........................PASS in 0.000003012s
math::checked::addu64...........................PASS in 0.000005743s
math::checked::addu8............................PASS in 0.000003324s
math::checked::muli16...........................PASS in 0.000003879s
math::checked::muli32...........................PASS in 0.000003304s
math::checked::muli64...........................PASS in 0.000005974s
math::checked::muli8............................PASS in 0.000005672s
math::checked::mulu16...........................PASS in 0.000003365s
math::checked::mulu32...........................PASS in 0.000004080s
math::checked::mulu64...........................PASS in 0.000003274s
math::checked::mulu8............................PASS in 0.000005774s
math::checked::sat_addi16.......................PASS in 0.000005611s
math::checked::sat_addi32.......................PASS in 0.000003064s
math::checked::sat_addi64.......................PASS in 0.000003305s
math::checked::sat_addi8........................PASS in 0.000002751s
math::checked::sat_addu16.......................PASS in 0.000017451s
math::checked::sat_addu32.......................PASS in 0.000011918s
math::checked::sat_addu64.......................PASS in 0.000002841s
math::checked::sat_addu8........................PASS in 0.000004393s
math::checked::sat_muli16.......................PASS in 0.000003144s
math::checked::sat_muli32.......................PASS in 0.000012071s
math::checked::sat_muli64.......................PASS in 0.000011274s
math::checked::sat_muli8........................PASS in 0.000002912s
math::checked::sat_mulu16.......................PASS in 0.000003274s
math::checked::sat_mulu32.......................PASS in 0.000002680s
math::checked::sat_mulu64.......................PASS in 0.000015002s
math::checked::sat_mulu8........................PASS in 0.000002801s
math::checked::sat_subi16.......................PASS in 0.000003505s
math::checked::sat_subi32.......................PASS in 0.000002922s
math::checked::sat_subi64.......................PASS in 0.000007032s
math::checked::sat_subi8........................PASS in 0.000002710s
math::checked::sat_subu16.......................PASS in 0.000003052s
math::checked::sat_subu32.......................PASS in 0.000002600s
math::checked::sat_subu64.......................PASS in 0.000016977s
math::checked::sat_subu8........................PASS in 0.000011375s
math::checked::subi16...........................PASS in 0.000003324s
math::checked::subi32...........................PASS in 0.000003325s
math::checked::subi64...........................PASS in 0.000003314s
math::checked::subi8............................PASS in 0.000005783s
math::checked::subu16...........................PASS in 0.000005472s
math::checked::subu32...........................PASS in 0.000003133s
math::checked::subu64...........................PASS in 0.000003466s
math::checked::subu8............................PASS in 0.000003123s
math::complex::abs..............................PASS in 0.000010690s
math::complex::acos.............................PASS in 0.000031101s
math::complex::acosh............................PASS in 0.000024170s
math::complex::asin.............................PASS in 0.000024058s
math::complex::asinh............................PASS in 0.000025228s
math::complex::atan.............................PASS in 0.000012856s
math::complex::atanh............................PASS in 0.000022962s
math::complex::conj.............................PASS in 0.000008605s
math::complex::cos..............................PASS in 0.000011256s
math::complex::cosh.............................PASS in 0.000010428s
math::complex::exp..............................PASS in 0.000017843s
math::complex::isnan............................PASS in 0.000003627s
math::complex::log..............................PASS in 0.000015707s
math::complex::polar............................PASS in 0.000006045s
math::complex::pow..............................PASS in 0.000031052s
math::complex::rect.............................PASS in 0.000008927s
math::complex::sin..............................PASS in 0.000021319s
math::complex::sinh.............................PASS in 0.000013431s
math::complex::sqrt.............................PASS in 0.000023112s
math::complex::tan..............................PASS in 0.000010710s
math::complex::tanh.............................PASS in 0.000018397s
math::complex::tanhuge..........................PASS in 0.000009329s
math::copysign..................................PASS in 0.000007133s
math::cos.......................................PASS in 0.000004715s
math::cosh......................................PASS in 0.000005129s
math::divu......................................PASS in 0.000007124s
math::exp2f64...................................PASS in 0.000005047s
math::expf64....................................PASS in 0.000004504s
math::fexcept...................................PASS in 0.000006439s
math::float_normality...........................PASS in 0.000003456s
math::floatbits.................................PASS in 0.000011455s
math::floor.....................................PASS in 0.000004323s
math::frexp.....................................PASS in 0.000004393s
math::frexp_ldexp...............................PASS in 0.000014448s
math::fround....................................PASS in 0.000006589s
math::gcd.......................................PASS in 0.000004333s
math::hypot.....................................PASS in 0.000014921s
math::isclose...................................PASS in 0.000003959s
math::isinf.....................................PASS in 0.000008000s
math::isnan.....................................PASS in 0.000006035s
math::leading_zeros_u...........................PASS in 0.000003194s
math::log10f64..................................PASS in 0.000004856s
math::log1p.....................................PASS in 0.000004736s
math::log2f64...................................PASS in 0.000007234s
math::logf64....................................PASS in 0.000004715s
math::modf64....................................PASS in 0.000019607s
math::modfrac...................................PASS in 0.000004927s
math::mulu......................................PASS in 0.000012987s
math::nearbyint.................................PASS in 0.000004221s
math::nextafter.................................PASS in 0.000005240s
math::normalize.................................PASS in 0.000006438s
math::popcount..................................PASS in 0.000003708s
math::powf64....................................PASS in 0.000012966s
math::random::rng...............................PASS in 0.000040845s
math::remu......................................PASS in 0.000006881s
math::round.....................................PASS in 0.000004695s
math::signf.....................................PASS in 0.000004121s
math::signi.....................................PASS in 0.000006640s
math::sin.......................................PASS in 0.000004987s
math::sinh......................................PASS in 0.000004806s
math::sqrt......................................PASS in 0.000006992s
math::tan.......................................PASS in 0.000011365s
math::tanh......................................PASS in 0.000004646s
math::trailing_zeros_u..........................PASS in 0.000003628s
math::trig_reduce...............................PASS in 0.000007064s
math::trunc.....................................PASS in 0.000004453s
memio::concat...................................PASS in 0.000011495s
memio::dynamic..................................PASS in 0.000008513s
memio::fixed....................................PASS in 0.000011990s
memio::join.....................................PASS in 0.000018750s
memio::nonblock.................................PASS in 0.000003748s
memio::rconcat..................................PASS in 0.000010740s
memio::rjoin....................................PASS in 0.000007798s
mime::lookup_ext................................PASS in 0.000005239s
mime::lookup_mime...............................PASS in 0.000009149s
mime::parse.....................................PASS in 0.000016433s
net::dns::opcode................................PASS in 0.000003718s
net::ip::parse_ip...............................PASS in 0.000082899s
net::ip::parse_subnet...........................PASS in 0.000020774s
net::ip::test_subnet_contains...................PASS in 0.000018488s
net::uri::decodequery...........................PASS in 0.000030105s
net::uri::encodequery...........................PASS in 0.000011748s
net::uri::invalid...............................PASS in 0.000031092s
net::uri::percent_encoding......................PASS in 0.000060259s
net::uri::roundtrip.............................PASS in 0.000105931s
path::dirname_basename..........................PASS in 0.000130525s
path::ext.......................................PASS in 0.000013733s
path::iter......................................PASS in 0.000012342s
path::pop.......................................PASS in 0.000007284s
path::prepend...................................PASS in 0.000043696s
path::push......................................PASS in 0.000011213s
regex::find.....................................PASS in 0.009230018s
regex::findall..................................PASS in 0.000364050s
regex::rawreplace...............................PASS in 0.000459301s
regex::replace..................................PASS in 0.000606893s
rt::sigset_invalid_signum.......................PASS in 0.000003446s
rt::sigset_valid_signum.........................PASS in 0.000005009s
rt::unknown_errno...............................PASS in 0.000004746s
shlex::quote....................................PASS in 0.000013450s
shlex::split....................................PASS in 0.000055304s
sort::big_equal.................................PASS in 0.009999052s
sort::big_random................................PASS in 0.017458151s
sort::lbisect...................................PASS in 0.000004383s
sort::rbisect...................................PASS in 0.000004151s
sort::search....................................PASS in 0.000007415s
sort::sort......................................PASS in 0.000025581s
sort::sorted....................................PASS in 0.000003990s
strconv::ftosf..................................PASS in 0.000289441s
strconv::itos...................................PASS in 0.000004926s
strconv::itos_bases.............................PASS in 0.000006327s
strconv::stof32.................................PASS in 0.000015386s
strconv::stof64.................................PASS in 0.000059848s
strconv::stofhex................................PASS in 0.000010399s
strconv::stoi...................................PASS in 0.000006438s
strconv::stoi_bases.............................PASS in 0.000006126s
strconv::stou...................................PASS in 0.000004927s
strconv::stou_bases.............................PASS in 0.000003768s
strconv::utos...................................PASS in 0.000008775s
strconv::utos_bases.............................PASS in 0.000004393s
strings::byteindex..............................PASS in 0.000006267s
strings::compare................................PASS in 0.000003860s
strings::concat.................................PASS in 0.000019697s
strings::contains...............................PASS in 0.000005461s
strings::cut....................................PASS in 0.000006147s
strings::dup....................................PASS in 0.000004444s
strings::dupall.................................PASS in 0.000009682s
strings::fromrunes..............................PASS in 0.000017188s
strings::hasprefix..............................PASS in 0.000003717s
strings::hassuffix..............................PASS in 0.000016381s
strings::index..................................PASS in 0.000011818s
strings::iter...................................PASS in 0.000004614s
strings::join...................................PASS in 0.000007587s
strings::lpad...................................PASS in 0.000007233s
strings::multireplace...........................PASS in 0.000007557s
strings::replace................................PASS in 0.000010075s
strings::rpad...................................PASS in 0.000013219s
strings::slice..................................PASS in 0.000003999s
strings::split..................................PASS in 0.000011174s
strings::sub....................................PASS in 0.000017249s
strings::template::template.....................PASS in 0.000033894s
strings::tokenize...............................PASS in 0.000007577s
strings::trim...................................PASS in 0.000015344s
strings::utf8...................................PASS in 0.000006026s
test::_abort....................................PASS in 0.000119724s
test::exit......................................PASS in 0.000012554s
time::add.......................................PASS in 0.000016653s
time::chrono::utc_convfrom_tai..................PASS in 0.000224971s
time::chrono::utc_convto_tai....................PASS in 0.000011567s
time::compare...................................PASS in 0.001069580s
time::date::calc_daydate__isoywd................PASS in 0.000003668s
time::date::calc_daydate__yd....................PASS in 0.000014125s
time::date::calc_daydate__ymd...................PASS in 0.000004010s
time::date::calc_daydate__ywd...................PASS in 0.000004745s
time::date::calc_janfirstweekday................PASS in 0.000005521s
time::date::calc_sundayweek.....................PASS in 0.000002912s
time::date::calc_week...........................PASS in 0.000004111s
time::date::calc_weekday........................PASS in 0.000003899s
time::date::calc_yearday........................PASS in 0.000004837s
time::date::calc_ymd............................PASS in 0.000016544s
time::date::format..............................PASS in 0.000042184s
time::date::from_str............................PASS in 0.000052825s
time::date::hop.................................PASS in 0.000026094s
time::date::parse...............................PASS in 0.000031536s
time::date::reckon..............................PASS in 0.000138485s
time::date::traverse............................PASS in 0.000031244s
time::date::truncate............................PASS in 0.000039010s
time::mult......................................PASS in 0.000009965s
types::c::strings...............................PASS in 0.000017733s
types::c::strlen................................PASS in 0.000004525s
types::c::strnlen...............................PASS in 0.000004362s
unix::hosts::errors.............................PASS in 0.000044320s
unix::hosts::lookup.............................PASS in 0.000040211s
unix::hosts::next...............................PASS in 0.000107926s
unix::passwd::nextgr............................PASS in 0.000028251s
unix::passwd::nextpw............................PASS in 0.000032080s
unix::signal::test_handle.......................SKIP in 0.000016312s
unix::tty::pty..................................PASS in 0.000182927s
uuid::decode....................................PASS in 0.000007527s
uuid::encode....................................PASS in 0.000023626s
wordexp::wordexp................................PASS in 0.004940919s
wordexp::wordexp_error..........................PASS in 0.001120207s
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'
572 passed; 0 failed; 8 skipped; 580 completed in 0.984430027s
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
|