urbit/tests/hash_tests.c

69 lines
1.2 KiB
C
Raw Normal View History

2019-01-08 06:25:07 +03:00
#include "all.h"
/* _setup(): prepare for tests.
*/
static void
_setup(void)
{
u3m_init(c3y);
u3m_pave(c3y, c3n);
}
/* _test_mug(): spot check u3r_mug hashes.
2019-01-08 06:25:07 +03:00
*/
static void
_test_mug(void)
2019-01-08 06:25:07 +03:00
{
if ( 0x4d441035 != u3r_mug_string("Hello, world!") ) {
2019-01-11 02:43:03 +03:00
fprintf(stderr, "fail (a)\r\n");
2019-01-08 06:25:07 +03:00
exit(1);
}
if ( 0x4d441035 != u3r_mug(u3i_string("Hello, world!")) ) {
2019-01-11 02:43:03 +03:00
fprintf(stderr, "fail (b)\r\n");
2019-01-08 06:25:07 +03:00
exit(1);
}
if ( 0x79ff04e8 != u3r_mug_bytes(0, 0) ) {
2019-01-11 02:43:03 +03:00
fprintf(stderr, "fail (c)\r\n");
2019-01-08 06:25:07 +03:00
exit(1);
}
if ( 0x64dfda5c != u3r_mug(u3i_string("xxxxxxxxxxxxxxxxxxxxxxxxxxxx")) ) {
2019-01-11 02:43:03 +03:00
fprintf(stderr, "fail (d)\r\n");
2019-01-08 06:25:07 +03:00
exit(1);
}
if ( 0x389ca03a != u3r_mug_cell(0, 0) ) {
2019-01-11 02:43:03 +03:00
fprintf(stderr, "fail (e)\r\n");
2019-01-08 06:25:07 +03:00
exit(1);
}
if ( 0x389ca03a != u3r_mug_cell(1, 1) ) {
2019-01-11 02:43:03 +03:00
fprintf(stderr, "fail (f)\r\n");
2019-01-08 06:25:07 +03:00
exit(1);
}
if ( 0x5258a6c0 != u3r_mug_cell(0, u3qc_bex(32)) ) {
2019-01-11 02:43:03 +03:00
fprintf(stderr, "fail (g)\r\n");
2019-01-08 06:25:07 +03:00
exit(1);
}
if ( 0x2ad39968 != u3r_mug_cell(u3qa_dec(u3qc_bex(128)), 1) ) {
2019-01-11 02:43:03 +03:00
fprintf(stderr, "fail (h)\r\n");
2019-01-08 06:25:07 +03:00
exit(1);
}
}
/* main(): run all test cases.
*/
int
main(int argc, char* argv[])
{
_setup();
_test_mug();
2019-01-08 06:25:07 +03:00
return 0;
}