quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

sodium_core.c (1028B)


      1 
      2 #define TEST_NAME "sodium_core"
      3 #include "cmptest.h"
      4 
      5 static void
      6 misuse_handler(void)
      7 {
      8     printf("misuse_handler()\n");
      9     exit(0);
     10 }
     11 
     12 int
     13 main(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_armcrypto();
     23     (void) sodium_runtime_has_sse2();
     24     (void) sodium_runtime_has_sse3();
     25     (void) sodium_runtime_has_ssse3();
     26     (void) sodium_runtime_has_sse41();
     27     (void) sodium_runtime_has_avx();
     28     (void) sodium_runtime_has_avx2();
     29     (void) sodium_runtime_has_avx512f();
     30     (void) sodium_runtime_has_pclmul();
     31     (void) sodium_runtime_has_aesni();
     32     (void) sodium_runtime_has_rdrand();
     33 
     34     sodium_set_misuse_handler(misuse_handler);
     35 #if defined(__EMSCRIPTEN__) || defined(__wasm__) || defined(BENCHMARKS)
     36     printf("misuse_handler()\n");
     37 #else
     38     sodium_misuse();
     39     printf("Misuse handler returned\n");
     40 #endif
     41 
     42     return 0;
     43 }