rule TestMD5
{
local r = [ MD5 $(1) ] ;
local e = $(2) ;
ECHO "MD5 of" $(1) "->" $(r) ;
if $(r) = $(e) {
ECHO "passes!" ;
}
}
if BUILTIN_MD5 in $(PATCHED_JAM_VERSION)
{
# These are part of RFC 1321
TestMD5 "" : d41d8cd98f00b204e9800998ecf8427e ;
TestMD5 "a" : 0cc175b9c0f1b6a831c399e269772661 ;
TestMD5 "abc" : 900150983cd24fb0d6963f7d28e17f72 ;
TestMD5 "message digest" : f96b697d7cb7938d525a2f31aaf161d0 ;
TestMD5 "abcdefghijklmnopqrstuvwxyz" : c3fcd3d76192e4007dfb496cca67e13b ;
TestMD5 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" : d174ab98d277d9f5a5611c2c9f419d9f ;
TestMD5 "12345678901234567890123456789012345678901234567890123456789012345678901234567890" : 57edf4a22be3c955ac49da2e2107b67a ;
# Own tests.
# Verify [ MD5 "message digest" ] different from
# [ MD5 "message" "digest" ]
TestMD5 message digest : f96b697d7cb7938d525a2f31aaf161d0 ;
# Verify [ MD5 "message digest" ] differnt from
# [ MD5 message : digest ]
local r = [ MD5 message : digest ] ;
if $(r) != 6a766531b94885d26a2e29807c8014c7 {
ECHO "failure!" ;
}
EXIT "Done with MD5 test, exiting..." ;
}
else
{
ECHO "Skip MD5 test -- BUILTIN_MD5 not in PATCHED_JAM_VERSION." ;
}