@@ -85,7 +85,7 @@ typedef struct {
85
85
86
86
typedef struct _test_getMincover_args {
87
87
mc_mincover_t * (* getMincover )(void * tests , size_t idx , mongocrypt_status_t * status );
88
- const char * (* expectError )(void * tests , size_t idx );
88
+ const char * (* expectError )(void * tests , size_t idx , mongocrypt_status_t * status );
89
89
const char * const * (* expectMincoverStrings )(void * tests , size_t idx );
90
90
void (* dump )(void * tests , size_t idx , mc_mincover_t * got );
91
91
} _test_getMincover_args ;
@@ -171,23 +171,25 @@ static mc_mincover_t *_test_getMincoverDecimal128_helper(void *tests, size_t idx
171
171
}
172
172
#endif // MONGOCRYPT_HAVE_DECIMAL128_SUPPORT
173
173
174
- static const char * _test_expectError32 (void * tests , size_t idx ) {
174
+ static const char * _test_expectError32 (void * tests , size_t idx , mongocrypt_status_t * status ) {
175
175
BSON_ASSERT_PARAM (tests );
176
+ BSON_ASSERT_PARAM (status );
176
177
return ((Int32Test * )tests + idx )-> expectError ;
177
178
}
178
179
179
- static const char * _test_expectError64 (void * tests , size_t idx ) {
180
+ static const char * _test_expectError64 (void * tests , size_t idx , mongocrypt_status_t * status ) {
180
181
BSON_ASSERT_PARAM (tests );
182
+ BSON_ASSERT_PARAM (status );
181
183
return ((Int64Test * )tests + idx )-> expectError ;
182
184
}
183
185
184
- static const char * _test_expectErrorDouble (void * tests , size_t idx ) {
186
+ static const char * _test_expectErrorDouble (void * tests , size_t idx , mongocrypt_status_t * status ) {
185
187
BSON_ASSERT_PARAM (tests );
188
+ BSON_ASSERT_PARAM (status );
186
189
DoubleTest * test = ((DoubleTest * )tests + idx );
187
190
if (test -> min .set && test -> max .set && test -> precision .set ) {
188
191
// Expect an error for tests including an invalid min/max/precision.
189
192
uint32_t ignored ;
190
- mongocrypt_status_t * const status = mongocrypt_status_new ();
191
193
if (!mc_canUsePrecisionModeDouble (test -> min .value , test -> max .value , test -> precision .value , & ignored , status )) {
192
194
if (!mongocrypt_status_ok (status )) {
193
195
return mongocrypt_status_message (status , NULL );
@@ -196,19 +198,18 @@ static const char *_test_expectErrorDouble(void *tests, size_t idx) {
196
198
return "The domain of double values specified by the min, max, and precision cannot be represented in "
197
199
"fewer than 64 bits" ;
198
200
}
199
- mongocrypt_status_destroy (status );
200
201
}
201
202
return test -> expectError ;
202
203
}
203
204
204
205
#if MONGOCRYPT_HAVE_DECIMAL128_SUPPORT
205
- static const char * _test_expectErrorDecimal128 (void * tests , size_t idx ) {
206
+ static const char * _test_expectErrorDecimal128 (void * tests , size_t idx , mongocrypt_status_t * status ) {
206
207
BSON_ASSERT_PARAM (tests );
208
+ BSON_ASSERT_PARAM (status );
207
209
Decimal128Test * test = ((Decimal128Test * )tests + idx );
208
210
if (test -> min .set && test -> max .set && test -> precision .set ) {
209
211
// Expect an error for tests including an invalid min/max/precision.
210
212
uint32_t ignored ;
211
- mongocrypt_status_t * const status = mongocrypt_status_new ();
212
213
if (!mc_canUsePrecisionModeDecimal (test -> min .value , test -> max .value , test -> precision .value , & ignored , status )) {
213
214
if (!mongocrypt_status_ok (status )) {
214
215
return mongocrypt_status_message (status , NULL );
@@ -374,7 +375,7 @@ static void _test_getMincover_impl(void *tests, size_t num_tests, _test_getMinco
374
375
for (size_t i = 0 ; i < num_tests ; i ++ ) {
375
376
mongocrypt_status_t * const status = mongocrypt_status_new ();
376
377
mc_mincover_t * got = args .getMincover (tests , i , status );
377
- const char * expectError = args .expectError (tests , i );
378
+ const char * expectError = args .expectError (tests , i , status );
378
379
if (expectError ) {
379
380
ASSERT_OR_PRINT_MSG (NULL == got , "expected error, got success" );
380
381
ASSERT_STATUS_CONTAINS (status , expectError );
0 commit comments