in nsm-test/src/main.cc [416:438]
void check_random(int32_t ctx)
{
const size_t DATA_LEN = 256;
const size_t ITER_NUM = 16;
size_t data_len;
ErrorCode status;
std::vector<uint8_t> dummy_data(DATA_LEN, 0);
for (size_t i = 0; i < ITER_NUM; i++) {
auto dummy_data_clone(dummy_data);
data_len = DATA_LEN;
status = nsm_get_random(ctx, dummy_data.data(), &data_len);
if (status != ERROR_CODE_SUCCESS) {
fprintf(stderr, "GetRandom: Got response: %s", get_status_string(status));
}
if (data_len != DATA_LEN) {
fprintf(stderr, "GetRandom: Expected %zu bytes, but got %zu instead", DATA_LEN, data_len);
}
if (dummy_data_clone == dummy_data) {
fprintf(stderr, "GetRandom: Got the same random bytes twice", DATA_LEN, data_len);
}
}
}