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