check length size in default BMPString and UniversalString constraints
diff --git a/tests/tests-skeletons/check-PER-UniversalString.c b/tests/tests-skeletons/check-PER-UniversalString.c
index 1513fc2..eeba584 100644
--- a/tests/tests-skeletons/check-PER-UniversalString.c
+++ b/tests/tests-skeletons/check-PER-UniversalString.c
@@ -9,13 +9,21 @@
check_encode_failed(asn_TYPE_descriptor_t *td, const char *buf, size_t buflen) {
uint8_t uper_output_buffer[32];
UniversalString_t *st_in;
+ char error_buf[128];
+ size_t error_buf_len = sizeof(error_buf);
st_in = OCTET_STRING_new_fromBuf(td, buf, buflen);
assert(st_in);
assert(st_in->size == buflen);
- asn_enc_rval_t enc =
- uper_encode_to_buffer(&asn_DEF_UniversalString, st_in,
- uper_output_buffer, sizeof(uper_output_buffer));
+
+ /* First signal that something is wrong with the length */
+ int st_in_ct = asn_check_constraints(td, st_in, error_buf, &error_buf_len);
+ assert(st_in_ct != 0);
+ fprintf(stderr, "%s\n", error_buf);
+
+ /* Second signal that something is wrong with the length */
+ asn_enc_rval_t enc = uper_encode_to_buffer(td, st_in, uper_output_buffer,
+ sizeof(uper_output_buffer));
assert(enc.encoded == -1);
ASN_STRUCT_FREE(*td, st_in);
@@ -31,14 +39,18 @@
assert(st_in);
assert(st_in->size == buflen);
+ int st_in_ct = asn_check_constraints(td, st_in, NULL, NULL);
+ assert(st_in_ct == 0);
asn_enc_rval_t enc =
- uper_encode_to_buffer(&asn_DEF_UniversalString, st_in,
+ uper_encode_to_buffer(td, st_in,
uper_output_buffer, sizeof(uper_output_buffer));
assert(enc.encoded > 0);
asn_dec_rval_t dec =
uper_decode(0, &asn_DEF_UniversalString, (void **)&st_out,
uper_output_buffer, (enc.encoded + 7) / 8, 0, 0);
+ int st_out_ct = asn_check_constraints(td, st_out, NULL, NULL);
+ assert(st_out_ct == 0);
assert(dec.consumed == enc.encoded);
assert(st_in->size == st_out->size);
assert(memcmp(st_in->buf, st_out->buf, st_in->size) == 0);