varmod-hash.mk revision 1.6 1 1.6 rillig # $NetBSD: varmod-hash.mk,v 1.6 2024/07/20 11:05:12 rillig Exp $
2 1.1 rillig #
3 1.4 rillig # Tests for the :hash variable modifier, which computes a 32-bit hash from
4 1.4 rillig # the value of the expression.
5 1.4 rillig
6 1.4 rillig # Test vectors for generating certain hashes. Found by a brute force
7 1.4 rillig # search over [a-z]{8}.
8 1.4 rillig #
9 1.4 rillig VECTORS+= 00000000 adjbuqnt
10 1.4 rillig VECTORS+= 00000001 beiiyxdp
11 1.4 rillig VECTORS+= 00000002 ajriwzqe
12 1.4 rillig VECTORS+= 00000004 aimszzcb
13 1.4 rillig VECTORS+= 00000008 afffvsgz
14 1.4 rillig VECTORS+= 00000010 alkksbun
15 1.4 rillig VECTORS+= 00000020 arqeianj
16 1.4 rillig VECTORS+= 00000040 acgaltwv
17 1.4 rillig VECTORS+= 00000080 addsjxec
18 1.4 rillig VECTORS+= 00000100 acbozubm
19 1.4 rillig VECTORS+= 00000200 acnbugtp
20 1.4 rillig VECTORS+= 00000400 ajyfkpcl
21 1.4 rillig VECTORS+= 00000800 akobyelz
22 1.4 rillig VECTORS+= 00001000 aclmaggk
23 1.4 rillig VECTORS+= 00002000 aauwlqiq
24 1.4 rillig VECTORS+= 00004000 ankfvoqf
25 1.4 rillig VECTORS+= 00008000 airtytts
26 1.4 rillig VECTORS+= 00010000 bfwwrqfi
27 1.4 rillig VECTORS+= 00020000 actwkzix
28 1.4 rillig VECTORS+= 00040000 alsfbgvo
29 1.4 rillig VECTORS+= 00080000 aioiauem
30 1.4 rillig VECTORS+= 00100000 bxexhpji
31 1.4 rillig VECTORS+= 00200000 awtxcwch
32 1.4 rillig VECTORS+= 00400000 aoqpmqam
33 1.4 rillig VECTORS+= 00800000 akgtvjhz
34 1.4 rillig VECTORS+= 01000000 bcmsuvrm
35 1.4 rillig VECTORS+= 02000000 aqnktorm
36 1.4 rillig VECTORS+= 04000000 aweqylny
37 1.4 rillig VECTORS+= 08000000 crvkuyze
38 1.4 rillig VECTORS+= 10000000 alxiatjv
39 1.4 rillig VECTORS+= 20000000 aezwuukx
40 1.4 rillig VECTORS+= 40000000 abdpnifu
41 1.4 rillig VECTORS+= 80000000 auusgoii
42 1.5 rillig VECTORS+= ffffffff ahnvmfdw
43 1.4 rillig
44 1.4 rillig VECTORS+= b2af338b ""
45 1.4 rillig VECTORS+= 3360ac65 a
46 1.4 rillig VECTORS+= 7747f046 ab
47 1.4 rillig VECTORS+= 9ca87054 abc
48 1.4 rillig VECTORS+= 880fe816 abcd
49 1.4 rillig VECTORS+= 208fcbd3 abcde
50 1.4 rillig VECTORS+= d5d376eb abcdef
51 1.4 rillig VECTORS+= de41416c abcdefghijklmnopqrstuvwxyz
52 1.4 rillig
53 1.4 rillig .for hash input in ${VECTORS}
54 1.4 rillig . if ${input:S,^""$,,:hash} != ${hash}
55 1.4 rillig . warning Expected ${hash} for ${input}, but was ${input:hash}.
56 1.4 rillig . endif
57 1.4 rillig .endfor
58 1.1 rillig
59 1.6 rillig all: step-{1,2,3,4,5}
60 1.6 rillig step-1:
61 1.3 rillig @echo ${12345:L:has} # modifier name too short
62 1.6 rillig step-2:
63 1.3 rillig @echo ${12345:L:hash} # ok
64 1.6 rillig step-3:
65 1.3 rillig @echo ${12345:L:hash=SHA-256} # :hash does not accept '='
66 1.6 rillig step-4:
67 1.3 rillig @echo ${12345:L:hasX} # misspelled
68 1.6 rillig step-5:
69 1.3 rillig @echo ${12345:L:hashed} # modifier name too long
70