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