mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-09-01 05:01:58 +03:00
Make number of threads a test argument
Remove hard coded number of threads. Signed-off-by: Paul Elliott <paul.elliott@arm.com>
This commit is contained in:
@@ -1098,11 +1098,11 @@ ctr_drbg_special_behaviours:
|
|||||||
|
|
||||||
CTR_DRBG Threads: no reseed
|
CTR_DRBG Threads: no reseed
|
||||||
depends_on:!MBEDTLS_CTR_DRBG_USE_128_BIT_KEY:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_ENTROPY_FORCE_SHA256:MBEDTLS_SHA512_C
|
depends_on:!MBEDTLS_CTR_DRBG_USE_128_BIT_KEY:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_ENTROPY_FORCE_SHA256:MBEDTLS_SHA512_C
|
||||||
ctr_drbg_threads:"1fafa98bc83d95e10f2d5ed339a553e1":0
|
ctr_drbg_threads:"1fafa98bc83d95e10f2d5ed339a553e1":0:5
|
||||||
|
|
||||||
CTR_DRBG Threads: reseed
|
CTR_DRBG Threads: reseed
|
||||||
depends_on:!MBEDTLS_CTR_DRBG_USE_128_BIT_KEY:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_ENTROPY_FORCE_SHA256:MBEDTLS_SHA512_C
|
depends_on:!MBEDTLS_CTR_DRBG_USE_128_BIT_KEY:!MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH:!MBEDTLS_ENTROPY_FORCE_SHA256:MBEDTLS_SHA512_C
|
||||||
ctr_drbg_threads:"B10A961F2EA39927B4C48AEDDD299026":1
|
ctr_drbg_threads:"B10A961F2EA39927B4C48AEDDD299026":1:5
|
||||||
|
|
||||||
CTR_DRBG self test
|
CTR_DRBG self test
|
||||||
ctr_drbg_selftest:
|
ctr_drbg_selftest:
|
||||||
|
@@ -343,16 +343,17 @@ exit:
|
|||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE depends_on:MBEDTLS_THREADING_PTHREAD */
|
/* BEGIN_CASE depends_on:MBEDTLS_THREADING_PTHREAD */
|
||||||
void ctr_drbg_threads(data_t *expected_result, int reseed)
|
void ctr_drbg_threads(data_t *expected_result, int reseed, int arg_thread_count)
|
||||||
{
|
{
|
||||||
#define THREAD_CNT 5
|
size_t thread_count = (size_t) arg_thread_count;
|
||||||
pthread_t threads[THREAD_CNT];
|
pthread_t *threads = NULL;
|
||||||
|
|
||||||
unsigned char out[16];
|
unsigned char out[16];
|
||||||
unsigned char *entropy = NULL;
|
unsigned char *entropy = NULL;
|
||||||
|
|
||||||
const size_t n_random_calls = THREAD_CNT * thread_random_reps + 1;
|
const size_t n_random_calls = thread_count * thread_random_reps + 1;
|
||||||
|
|
||||||
|
TEST_CALLOC(threads, sizeof(pthread_t) * thread_count);
|
||||||
memset(out, 0, sizeof(out));
|
memset(out, 0, sizeof(out));
|
||||||
|
|
||||||
mbedtls_ctr_drbg_context ctx;
|
mbedtls_ctr_drbg_context ctx;
|
||||||
@@ -380,14 +381,14 @@ void ctr_drbg_threads(data_t *expected_result, int reseed)
|
|||||||
mbedtls_ctr_drbg_seed(&ctx, mbedtls_test_entropy_func, entropy, NULL, 0),
|
mbedtls_ctr_drbg_seed(&ctx, mbedtls_test_entropy_func, entropy, NULL, 0),
|
||||||
0);
|
0);
|
||||||
|
|
||||||
for (size_t i = 0; i < THREAD_CNT; i++) {
|
for (size_t i = 0; i < thread_count; i++) {
|
||||||
TEST_EQUAL(
|
TEST_EQUAL(
|
||||||
pthread_create(&threads[i], NULL,
|
pthread_create(&threads[i], NULL,
|
||||||
thread_random_function, (void *) &ctx),
|
thread_random_function, (void *) &ctx),
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (size_t i = 0; i < THREAD_CNT; i++) {
|
for (size_t i = 0; i < thread_count; i++) {
|
||||||
TEST_EQUAL(pthread_join(threads[i], NULL), 0);
|
TEST_EQUAL(pthread_join(threads[i], NULL), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -399,8 +400,8 @@ void ctr_drbg_threads(data_t *expected_result, int reseed)
|
|||||||
exit:
|
exit:
|
||||||
mbedtls_ctr_drbg_free(&ctx);
|
mbedtls_ctr_drbg_free(&ctx);
|
||||||
mbedtls_free(entropy);
|
mbedtls_free(entropy);
|
||||||
|
mbedtls_free(threads);
|
||||||
}
|
}
|
||||||
#undef THREAD_CNT
|
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE depends_on:MBEDTLS_FS_IO */
|
/* BEGIN_CASE depends_on:MBEDTLS_FS_IO */
|
||||||
|
Reference in New Issue
Block a user