From 821d15107b47580040bed176315fa34bd43ebaad Mon Sep 17 00:00:00 2001 From: Gabor Mezei Date: Tue, 27 Sep 2022 12:41:28 +0200 Subject: [PATCH] Check true and false condition in the same test case Signed-off-by: Gabor Mezei --- tests/suites/test_suite_mpi.data | 42 +++------ tests/suites/test_suite_mpi.function | 122 ++++++++++++++++----------- 2 files changed, 83 insertions(+), 81 deletions(-) diff --git a/tests/suites/test_suite_mpi.data b/tests/suites/test_suite_mpi.data index a4cd07a23..7868a24f8 100644 --- a/tests/suites/test_suite_mpi.data +++ b/tests/suites/test_suite_mpi.data @@ -681,41 +681,23 @@ mpi_core_lt_ct:"11FFFFFFFFFFFFFFFF":"FF1111111111111111":1 mbedtls_mpi_core_lt_ct: x>y (alternating limbs) mpi_core_lt_ct:"FF1111111111111111":"11FFFFFFFFFFFFFFFF":0 -mbedtls_mpi_core_cond_assign: same size, true condition -mpi_core_cond_assign:"FFFFFFFF":"11111111":1 +mbedtls_mpi_core_cond_assign +mpi_core_cond_assign:"FFFFFFFF":"11111111" -mbedtls_mpi_core_cond_assign: same size, false condition -mpi_core_cond_assign:"FFFFFFFF":"11111111":0 +mbedtls_mpi_core_cond_swap: same value +mpi_core_cond_swap:"FFFFFFFF":"FFFFFFFF" -mbedtls_mpi_core_cond_assign: target larger, true condition -mpi_core_cond_assign:"FFFFFFFFEEEEEEEEDDDDDDDD":"11111111":1 +mbedtls_mpi_core_cond_swap: different value +mpi_core_cond_swap:"FFFFFFFF":"11111111" -mbedtls_mpi_core_cond_assign: target larger, false condition -mpi_core_cond_assign:"FFFFFFFFEEEEEEEEDDDDDDDD":"11111111":0 +mbedtls_mpi_mod_raw_cond_assign +mpi_mod_raw_cond_assign:"FFFFFFFF":"11111111" -mbedtls_mpi_core_cond_swap: same value, true condition -mpi_core_cond_swap:"FFFFFFFF":"FFFFFFFF":1 +mbedtls_mpi_mod_raw_cond_swap: same value +mpi_mod_raw_cond_swap:"FFFFFFFF":"FFFFFFFF" -mbedtls_mpi_core_cond_swap: same size, true condition -mpi_core_cond_swap:"FFFFFFFF":"11111111":1 - -mbedtls_mpi_core_cond_swap: same size, false condition -mpi_core_cond_swap:"FFFFFFFF":"11111111":0 - -mbedtls_mpi_mod_raw_cond_assign: same size, true condition -mpi_mod_raw_cond_assign:"FFFFFFFF":"11111111":1 - -mbedtls_mpi_mod_raw_cond_assign: same size, false condition -mpi_mod_raw_cond_assign:"FFFFFFFF":"11111111":0 - -mbedtls_mpi_mod_raw_cond_swap: same value, true condition -mpi_mod_raw_cond_swap:"FFFFFFFF":"FFFFFFFF":1 - -mbedtls_mpi_mod_raw_cond_swap: same size, true condition -mpi_mod_raw_cond_swap:"FFFFFFFF":"11111111":1 - -mbedtls_mpi_mod_raw_cond_swap: same size, false condition -mpi_mod_raw_cond_swap:"FFFFFFFF":"11111111":0 +mbedtls_mpi_mod_raw_cond_swap: different value +mpi_mod_raw_cond_swap:"FFFFFFFF":"11111111" Base test mbedtls_mpi_lt_mpi_ct #1 mpi_lt_mpi_ct:1:"2B5":1:"2B5":0:0 diff --git a/tests/suites/test_suite_mpi.function b/tests/suites/test_suite_mpi.function index 9cb2d9096..7a87c0738 100644 --- a/tests/suites/test_suite_mpi.function +++ b/tests/suites/test_suite_mpi.function @@ -765,8 +765,7 @@ exit: /* BEGIN_CASE */ void mpi_core_cond_assign( data_t * input_X, - data_t * input_Y, - int cond ) + data_t * input_Y ) { #define MAX_LEN 64 mbedtls_mpi_uint X[MAX_LEN]; @@ -783,21 +782,29 @@ void mpi_core_cond_assign( data_t * input_X, TEST_ASSERT( mbedtls_mpi_core_read_be( Y, len_Y, input_Y->x, input_Y->len ) == 0 ); + /* condition is false */ TEST_CF_SECRET( X, len_X * sizeof( mbedtls_mpi_uint ) ); TEST_CF_SECRET( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); - mbedtls_mpi_core_cond_assign( X, Y, len_Y, cond ); + mbedtls_mpi_core_cond_assign( X, Y, len_Y, 0 ); TEST_CF_PUBLIC( X, len_X * sizeof( mbedtls_mpi_uint ) ); TEST_CF_PUBLIC( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); - if( cond ) - ASSERT_COMPARE( X, len_Y * sizeof( mbedtls_mpi_uint ), - Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + TEST_ASSERT( memcmp( X, Y, MIN( len_X, len_Y ) * + sizeof( mbedtls_mpi_uint ) ) != 0 ); - else - TEST_ASSERT( memcmp( X, Y, MIN( len_X, len_Y ) * - sizeof( mbedtls_mpi_uint ) ) != 0 ); + /* condition is true */ + TEST_CF_SECRET( X, len_X * sizeof( mbedtls_mpi_uint ) ); + TEST_CF_SECRET( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + + mbedtls_mpi_core_cond_assign( X, Y, len_Y, 1 ); + + TEST_CF_PUBLIC( X, len_X * sizeof( mbedtls_mpi_uint ) ); + TEST_CF_PUBLIC( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + + ASSERT_COMPARE( X, len_Y * sizeof( mbedtls_mpi_uint ), + Y, len_Y * sizeof( mbedtls_mpi_uint ) ); exit: ; @@ -808,8 +815,7 @@ exit: /* BEGIN_CASE */ void mpi_core_cond_swap( data_t * input_X, - data_t * input_Y, - int cond ) + data_t * input_Y ) { #define MAX_LEN 64 mbedtls_mpi_uint tmp_X[MAX_LEN]; @@ -832,29 +838,33 @@ void mpi_core_cond_swap( data_t * input_X, == 0 ); memcpy( Y, tmp_Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + /* condition is false */ TEST_CF_SECRET( X, len_X * sizeof( mbedtls_mpi_uint ) ); TEST_CF_SECRET( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); - mbedtls_mpi_core_cond_swap( X, Y, len_X, cond ); + mbedtls_mpi_core_cond_swap( X, Y, len_X, 0 ); TEST_CF_PUBLIC( X, len_X * sizeof( mbedtls_mpi_uint ) ); TEST_CF_PUBLIC( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); - if( cond ) - { - ASSERT_COMPARE( X, len_Y * sizeof( mbedtls_mpi_uint ), - tmp_Y, len_Y * sizeof( mbedtls_mpi_uint ) ); - ASSERT_COMPARE( Y, len_X * sizeof( mbedtls_mpi_uint ), - tmp_X, len_X * sizeof( mbedtls_mpi_uint ) ); - } + ASSERT_COMPARE( X, len_X * sizeof( mbedtls_mpi_uint ), + tmp_X, len_X * sizeof( mbedtls_mpi_uint ) ); + ASSERT_COMPARE( Y, len_Y * sizeof( mbedtls_mpi_uint ), + tmp_Y, len_Y * sizeof( mbedtls_mpi_uint ) ); - else - { - ASSERT_COMPARE( X, len_X * sizeof( mbedtls_mpi_uint ), - tmp_X, len_X * sizeof( mbedtls_mpi_uint ) ); - ASSERT_COMPARE( Y, len_Y * sizeof( mbedtls_mpi_uint ), - tmp_Y, len_Y * sizeof( mbedtls_mpi_uint ) ); - } + /* condition is true */ + TEST_CF_SECRET( X, len_X * sizeof( mbedtls_mpi_uint ) ); + TEST_CF_SECRET( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + + mbedtls_mpi_core_cond_swap( X, Y, len_X, 1 ); + + TEST_CF_PUBLIC( X, len_X * sizeof( mbedtls_mpi_uint ) ); + TEST_CF_PUBLIC( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + + ASSERT_COMPARE( X, len_Y * sizeof( mbedtls_mpi_uint ), + tmp_Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + ASSERT_COMPARE( Y, len_X * sizeof( mbedtls_mpi_uint ), + tmp_X, len_X * sizeof( mbedtls_mpi_uint ) ); exit: ; @@ -865,8 +875,7 @@ exit: /* BEGIN_CASE */ void mpi_mod_raw_cond_assign( data_t * input_X, - data_t * input_Y, - int cond ) + data_t * input_Y ) { #define MAX_LEN 64 mbedtls_mpi_uint X[MAX_LEN]; @@ -896,20 +905,28 @@ void mpi_mod_raw_cond_assign( data_t * input_X, input_Y->x, input_Y->len ) == 0 ); + /* condition is false */ TEST_CF_SECRET( X, len_X * sizeof( mbedtls_mpi_uint ) ); TEST_CF_SECRET( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); - mbedtls_mpi_mod_raw_cond_assign( X, Y, &m, cond ); + mbedtls_mpi_mod_raw_cond_assign( X, Y, &m, 0 ); TEST_CF_PUBLIC( X, len_X * sizeof( mbedtls_mpi_uint ) ); TEST_CF_PUBLIC( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); - if( cond ) - ASSERT_COMPARE( X, len_Y * sizeof( mbedtls_mpi_uint ), - Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + TEST_ASSERT( memcmp( X, Y, m.limbs * sizeof( mbedtls_mpi_uint ) ) != 0 ); - else - TEST_ASSERT( memcmp( X, Y, m.limbs * sizeof( mbedtls_mpi_uint ) ) != 0 ); + /* condition is true */ + TEST_CF_SECRET( X, len_X * sizeof( mbedtls_mpi_uint ) ); + TEST_CF_SECRET( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + + mbedtls_mpi_mod_raw_cond_assign( X, Y, &m, 1 ); + + TEST_CF_PUBLIC( X, len_X * sizeof( mbedtls_mpi_uint ) ); + TEST_CF_PUBLIC( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + + ASSERT_COMPARE( X, len_Y * sizeof( mbedtls_mpi_uint ), + Y, len_Y * sizeof( mbedtls_mpi_uint ) ); exit: ; @@ -920,8 +937,7 @@ exit: /* BEGIN_CASE */ void mpi_mod_raw_cond_swap( data_t * input_X, - data_t * input_Y, - int cond ) + data_t * input_Y ) { #define MAX_LEN 64 mbedtls_mpi_uint tmp_X[MAX_LEN]; @@ -953,29 +969,33 @@ void mpi_mod_raw_cond_swap( data_t * input_X, == 0 ); memcpy( Y, tmp_Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + /* condition is false */ TEST_CF_SECRET( X, len_X * sizeof( mbedtls_mpi_uint ) ); TEST_CF_SECRET( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); - mbedtls_mpi_mod_raw_cond_swap( X, Y, &m, cond ); + mbedtls_mpi_mod_raw_cond_swap( X, Y, &m, 0 ); TEST_CF_PUBLIC( X, len_X * sizeof( mbedtls_mpi_uint ) ); TEST_CF_PUBLIC( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); - if( cond ) - { - ASSERT_COMPARE( X, m.limbs * sizeof( mbedtls_mpi_uint ), - tmp_Y, len_Y * sizeof( mbedtls_mpi_uint ) ); - ASSERT_COMPARE( Y, m.limbs * sizeof( mbedtls_mpi_uint ), - tmp_X, len_X * sizeof( mbedtls_mpi_uint ) ); - } + ASSERT_COMPARE( X, len_X * sizeof( mbedtls_mpi_uint ), + tmp_X, m.limbs * sizeof( mbedtls_mpi_uint ) ); + ASSERT_COMPARE( Y, len_Y * sizeof( mbedtls_mpi_uint ), + tmp_Y, m.limbs * sizeof( mbedtls_mpi_uint ) ); - else - { - ASSERT_COMPARE( X, len_X * sizeof( mbedtls_mpi_uint ), - tmp_X, m.limbs * sizeof( mbedtls_mpi_uint ) ); - ASSERT_COMPARE( Y, len_Y * sizeof( mbedtls_mpi_uint ), - tmp_Y, m.limbs * sizeof( mbedtls_mpi_uint ) ); - } + /* condition is true */ + TEST_CF_SECRET( X, len_X * sizeof( mbedtls_mpi_uint ) ); + TEST_CF_SECRET( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + + mbedtls_mpi_mod_raw_cond_swap( X, Y, &m, 1 ); + + TEST_CF_PUBLIC( X, len_X * sizeof( mbedtls_mpi_uint ) ); + TEST_CF_PUBLIC( Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + + ASSERT_COMPARE( X, m.limbs * sizeof( mbedtls_mpi_uint ), + tmp_Y, len_Y * sizeof( mbedtls_mpi_uint ) ); + ASSERT_COMPARE( Y, m.limbs * sizeof( mbedtls_mpi_uint ), + tmp_X, len_X * sizeof( mbedtls_mpi_uint ) ); exit: ;