1 #include <ccan/crypto/shachain/shachain.h>
2 /* Include the C files directly. */
3 #include <ccan/crypto/shachain/shachain.c>
4 #include <ccan/tap/tap.h>
11 struct shachain chain;
14 plan_tests(NUM_TESTS);
16 memset(&seed, 0xFF, sizeof(seed));
17 shachain_init(&chain);
19 for (i = 0xFFFFFFFFFFFFFFFFULL;
20 i > 0xFFFFFFFFFFFFFFFFULL - NUM_TESTS;
24 shachain_from_seed(&seed, i, &expect);
28 /* Either it should fail, or it couldn't derive any others (ie. pos 0). */
29 if (shachain_add_hash(&chain, i, &expect)) {
30 ok1(chain.known[0].index == i);
31 /* Fix it up in-place */
32 chain.known[0].hash.u.u8[0]--;
35 ok1(shachain_add_hash(&chain, i, &expect));