1*b13c0e40SEric Biggers // SPDX-License-Identifier: MIT 2*b13c0e40SEric Biggers /* 3*b13c0e40SEric Biggers * Test the hash algorithm-related libfsverity APIs. 4*b13c0e40SEric Biggers * 5*b13c0e40SEric Biggers * Copyright 2020 Google LLC 6*b13c0e40SEric Biggers * 7*b13c0e40SEric Biggers * Use of this source code is governed by an MIT-style 8*b13c0e40SEric Biggers * license that can be found in the LICENSE file or at 9*b13c0e40SEric Biggers * https://opensource.org/licenses/MIT. 10*b13c0e40SEric Biggers */ 11*b13c0e40SEric Biggers 12*b13c0e40SEric Biggers #include "utils.h" 13*b13c0e40SEric Biggers 14*b13c0e40SEric Biggers #define SHA256_DIGEST_SIZE 32 15*b13c0e40SEric Biggers #define SHA512_DIGEST_SIZE 64 16*b13c0e40SEric Biggers main(void)17*b13c0e40SEric Biggersint main(void) 18*b13c0e40SEric Biggers { 19*b13c0e40SEric Biggers install_libfsverity_error_handler(); 20*b13c0e40SEric Biggers 21*b13c0e40SEric Biggers ASSERT(libfsverity_get_digest_size(0) == -1); 22*b13c0e40SEric Biggers ASSERT(libfsverity_get_hash_name(0) == NULL); 23*b13c0e40SEric Biggers ASSERT(libfsverity_find_hash_alg_by_name("bad") == 0); 24*b13c0e40SEric Biggers ASSERT(libfsverity_find_hash_alg_by_name(NULL) == 0); 25*b13c0e40SEric Biggers 26*b13c0e40SEric Biggers ASSERT(libfsverity_get_digest_size(100) == -1); 27*b13c0e40SEric Biggers ASSERT(libfsverity_get_hash_name(100) == NULL); 28*b13c0e40SEric Biggers 29*b13c0e40SEric Biggers ASSERT(libfsverity_get_digest_size(FS_VERITY_HASH_ALG_SHA256) == 30*b13c0e40SEric Biggers SHA256_DIGEST_SIZE); 31*b13c0e40SEric Biggers ASSERT(!strcmp("sha256", 32*b13c0e40SEric Biggers libfsverity_get_hash_name(FS_VERITY_HASH_ALG_SHA256))); 33*b13c0e40SEric Biggers ASSERT(libfsverity_find_hash_alg_by_name("sha256") == 34*b13c0e40SEric Biggers FS_VERITY_HASH_ALG_SHA256); 35*b13c0e40SEric Biggers 36*b13c0e40SEric Biggers ASSERT(libfsverity_get_digest_size(FS_VERITY_HASH_ALG_SHA512) == 37*b13c0e40SEric Biggers SHA512_DIGEST_SIZE); 38*b13c0e40SEric Biggers ASSERT(!strcmp("sha512", 39*b13c0e40SEric Biggers libfsverity_get_hash_name(FS_VERITY_HASH_ALG_SHA512))); 40*b13c0e40SEric Biggers ASSERT(libfsverity_find_hash_alg_by_name("sha512") == 41*b13c0e40SEric Biggers FS_VERITY_HASH_ALG_SHA512); 42*b13c0e40SEric Biggers 43*b13c0e40SEric Biggers printf("test_hash_algs passed\n"); 44*b13c0e40SEric Biggers return 0; 45*b13c0e40SEric Biggers } 46