1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-09-02 16:01:16 +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:
Paul Elliott
2023-12-01 18:05:19 +00:00
parent fed410f58e
commit bb0e48f94f
2 changed files with 10 additions and 9 deletions

View File

@@ -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:

View File

@@ -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 */