1 2#define TEST_NAME "sodium_core" 3#include "cmptest.h" 4 5static void 6misuse_handler(void) 7{ 8 printf("misuse_handler()\n"); 9 exit(0); 10} 11 12int 13main(void) 14{ 15 sodium_set_misuse_handler(NULL); 16 sodium_set_misuse_handler(misuse_handler); 17 sodium_set_misuse_handler(NULL); 18 19 assert(sodium_init() == 1); 20 21 (void) sodium_runtime_has_neon(); 22 (void) sodium_runtime_has_sse2(); 23 (void) sodium_runtime_has_sse3(); 24 (void) sodium_runtime_has_ssse3(); 25 (void) sodium_runtime_has_sse41(); 26 (void) sodium_runtime_has_avx(); 27 (void) sodium_runtime_has_avx2(); 28 (void) sodium_runtime_has_avx512f(); 29 (void) sodium_runtime_has_pclmul(); 30 (void) sodium_runtime_has_aesni(); 31 (void) sodium_runtime_has_rdrand(); 32 33 sodium_set_misuse_handler(misuse_handler); 34#ifndef __EMSCRIPTEN__ 35 sodium_misuse(); 36 printf("Misuse handler returned\n"); 37#else 38 printf("misuse_handler()\n"); 39#endif 40 41 return 0; 42} 43