]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Move to init/free for library, and not for each test case
authorAlan T. DeKok <aland@freeradius.org>
Sat, 3 Feb 2024 20:47:21 +0000 (15:47 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Sat, 3 Feb 2024 20:47:21 +0000 (15:47 -0500)
now that we (mostly) have library-based init/free, we do not need
to do that for every test case.  Either the library is properly
initialized and it works, or the library isn't initialized, and
the tests fail.

Some protocols still need to be converted to use fr_dict_protocol_t

ethernet, tacacs, tftp, vmps

15 files changed:
src/protocols/arp/base.c
src/protocols/bfd/base.c
src/protocols/bfd/decode.c
src/protocols/bfd/encode.c
src/protocols/dhcpv4/decode.c
src/protocols/dhcpv4/encode.c
src/protocols/dhcpv6/base.c
src/protocols/dhcpv6/decode.c
src/protocols/dhcpv6/encode.c
src/protocols/dns/base.c
src/protocols/dns/decode.c
src/protocols/dns/encode.c
src/protocols/radius/decode.c
src/protocols/radius/encode.c
src/protocols/tacacs/encode.c

index 3862d4227e5489431ea9c2b97668254ee4677e16..3de29dcaa8f7e9fd32211faaadea8dd5efe73d27 100644 (file)
@@ -295,6 +295,9 @@ fr_dict_protocol_t libfreeradius_arp_dict_protocol = {
        .name = "arp",
        .default_type_size = 4,
        .default_type_length = 0,
+
+       .init = fr_arp_init,
+       .free = fr_arp_free,
 };
 
 
@@ -302,24 +305,15 @@ typedef struct {
        bool            tmp;
 } fr_arp_ctx_t;
 
-static int _test_ctx_free(UNUSED fr_arp_ctx_t *ctx)
-{
-       fr_arp_free();
-
-       return 0;
-}
-
 static int encode_test_ctx(void **out, TALLOC_CTX *ctx)
 {
        fr_arp_ctx_t *test_ctx;
 
-       if (fr_arp_init() < 0) return -1;
+       fr_assert(instance_count > 0);
 
        test_ctx = talloc_zero(ctx, fr_arp_ctx_t);
        if (!test_ctx) return -1;
 
-       talloc_set_destructor(test_ctx, _test_ctx_free);
-
        *out = test_ctx;
 
        return 0;
index 5d0dd63814fdc8bf12c4fb92f9fe4e39dac2d329..9b693d8131135cc88f7eb62a56fba87f895a82ef 100644 (file)
@@ -255,4 +255,7 @@ fr_dict_protocol_t libfreeradius_bfd_dict_protocol = {
        .name = "bfd",
        .default_type_size = 1,
        .default_type_length = 1,
+
+       .init = fr_bfd_init,
+       .free = fr_bfd_free,
 };
index fdd6af3b9ecb64ff5487153cdff78a346e166b39..81e33fdf9ddf629533b7ee705542dd8d3cc817ed 100644 (file)
@@ -99,23 +99,13 @@ ssize_t fr_bfd_decode(TALLOC_CTX *ctx, fr_pair_list_t *out,
        return slen;
 }
 
-static int _test_ctx_free(UNUSED fr_bfd_ctx_t *ctx)
-{
-       fr_bfd_free();
-
-       return 0;
-}
-
 static int decode_test_ctx(void **out, TALLOC_CTX *ctx)
 {
        fr_bfd_ctx_t    *test_ctx;
 
-       if (fr_bfd_init() < 0) return -1;
-
        test_ctx = talloc_zero(ctx, fr_bfd_ctx_t);
        test_ctx->secret = talloc_strdup(test_ctx, "testing123");
        test_ctx->tmp_ctx = talloc_zero(test_ctx, uint8_t);
-       talloc_set_destructor(test_ctx, _test_ctx_free);
 
        *out = test_ctx;
 
index 80e272dc754410a353edefccc27e74baed884b94..4e449d625f25179fb33644fd19a6ae7ffc89ef7b 100644 (file)
@@ -163,24 +163,14 @@ ssize_t fr_bfd_encode(uint8_t *out, size_t outlen, UNUSED uint8_t const *origina
 }
 
 
-static int _test_ctx_free(UNUSED fr_bfd_ctx_t *ctx)
-{
-       fr_bfd_free();
-
-       return 0;
-}
-
 static int encode_test_ctx(void **out, TALLOC_CTX *ctx)
 {
        fr_bfd_ctx_t    *test_ctx;
 
-       if (fr_bfd_init() < 0) return -1;
-
        test_ctx = talloc_zero(ctx, fr_bfd_ctx_t);
        if (!test_ctx) return -1;
 
        test_ctx->secret = talloc_strdup(test_ctx, "testing123");
-       talloc_set_destructor(test_ctx, _test_ctx_free);
 
        *out = test_ctx;
 
index cb039a29f5a031c949d479659f2a29eee21d3424..516c7f0d7118216c875782324665268379a5b7f2 100644 (file)
@@ -677,21 +677,11 @@ ssize_t   fr_dhcpv4_decode_foreign(TALLOC_CTX *ctx, fr_pair_list_t *out,
 }
 
 
-static int _decode_test_ctx(UNUSED fr_dhcpv4_ctx_t *test_ctx)
-{
-       fr_dhcpv4_global_free();
-
-       return 0;
-}
-
 static int decode_test_ctx(void **out, TALLOC_CTX *ctx)
 {
        fr_dhcpv4_ctx_t *test_ctx;
 
-       if (fr_dhcpv4_global_init() < 0) return -1;
-
        test_ctx = talloc_zero(ctx, fr_dhcpv4_ctx_t);
-       talloc_set_destructor(test_ctx, _decode_test_ctx);
        test_ctx->tmp_ctx = talloc(test_ctx, uint8_t);
 
        *out = test_ctx;
index 68470fc48fba68576e6286efc75b82cf3ebd77af..541edc91f2278b622c5ad1b44db5806b4a42b386 100644 (file)
@@ -788,23 +788,13 @@ static ssize_t fr_dhcpv4_encode_proto(UNUSED TALLOC_CTX *ctx, fr_pair_list_t *vp
        return fr_dhcpv4_encode_dbuff(&FR_DBUFF_TMP(data, data_len), NULL, 0, 0, vps);
 }
 
-static int _encode_test_ctx(UNUSED fr_dhcpv4_ctx_t *test_ctx)
-{
-       fr_dhcpv4_global_free();
-
-       return 0;
-}
-
 static int encode_test_ctx(void **out, TALLOC_CTX *ctx)
 {
        fr_dhcpv4_ctx_t *test_ctx;
 
-       if (fr_dhcpv4_global_init() < 0) return -1;
-
        test_ctx = talloc_zero(ctx, fr_dhcpv4_ctx_t);
        if (!test_ctx) return -1;
        test_ctx->root = fr_dict_root(dict_dhcpv4);
-       talloc_set_destructor(test_ctx, _encode_test_ctx);
 
        *out = test_ctx;
 
index dd6e1b2ce68831ff32e8c99aee59c9066f11c9b9..8c2b4916daf177dd86e130e606a3af9b61ff2ffb 100644 (file)
@@ -1001,7 +1001,6 @@ fr_dict_protocol_t libfreeradius_dhcpv6_dict_protocol = {
        .subtype_table_len = NUM_ELEMENTS(subtype_table),
        .attr_valid = attr_valid,
 
-
        .init = fr_dhcpv6_global_init,
        .free = fr_dhcpv6_global_free,
 
index 1ccf7f504b56caa13ce41f7fa664f5eb86393b58..5840ef16ade4fb6248c61aa29f562a5f6203ebc7 100644 (file)
@@ -472,27 +472,14 @@ ssize_t   fr_dhcpv6_decode_foreign(TALLOC_CTX *ctx, fr_pair_list_t *out,
        return data_len;
 }
 
-/*
- *     Stub functions to enable test context
- */
-static int _test_ctx_free(UNUSED fr_dhcpv6_decode_ctx_t *ctx)
-{
-       fr_dhcpv6_global_free();
-
-       return 0;
-}
-
 static int decode_test_ctx(void **out, TALLOC_CTX *ctx)
 {
        fr_dhcpv6_decode_ctx_t  *test_ctx;
 
-       if (fr_dhcpv6_global_init() < 0) return -1;
-
        test_ctx = talloc_zero(ctx, fr_dhcpv6_decode_ctx_t);
        if (!test_ctx) return -1;
 
        test_ctx->tmp_ctx = talloc(test_ctx, uint8_t);
-       talloc_set_destructor(test_ctx, _test_ctx_free);
 
        *out = test_ctx;
 
index 036ee542930649de52d79a61268ad8555aa9cddf..8ce1918f905d77c99f39cb3647f78deb26d365cd 100644 (file)
@@ -742,24 +742,14 @@ ssize_t   fr_dhcpv6_encode_foreign(fr_dbuff_t *dbuff, fr_pair_list_t const *list)
 }
 
 
-static int _test_ctx_free(UNUSED fr_dhcpv6_encode_ctx_t *ctx)
-{
-       fr_dhcpv6_global_free();
-
-       return 0;
-}
-
 static int encode_test_ctx(void **out, TALLOC_CTX *ctx)
 {
        fr_dhcpv6_encode_ctx_t  *test_ctx;
 
-       if (fr_dhcpv6_global_init() < 0) return -1;
-
        test_ctx = talloc_zero(ctx, fr_dhcpv6_encode_ctx_t);
        if (!test_ctx) return -1;
 
        test_ctx->root = fr_dict_root(dict_dhcpv6);
-       talloc_set_destructor(test_ctx, _test_ctx_free);
 
        *out = test_ctx;
 
index 1c9e58a5d1af4653ffaefe5ce0fef37aa07a936c..7f361a87bffa92d7a3dd0c8f8da9c3a226af5da1 100644 (file)
@@ -469,4 +469,7 @@ fr_dict_protocol_t libfreeradius_dns_dict_protocol = {
        .subtype_table = subtype_table,
        .subtype_table_len = NUM_ELEMENTS(subtype_table),
        .attr_valid = attr_valid,
+
+       .init = fr_dns_global_init,
+       .free = fr_dns_global_free,
 };
index 290ca1f7b6799773bd2f696d6aa853b8e4f7afd8..a3f39c8d5f60569e3e9f07984618f422b5da7c8d 100644 (file)
@@ -372,13 +372,6 @@ static ssize_t decode_rr(TALLOC_CTX *ctx, fr_pair_list_t *out, UNUSED fr_dict_at
 /*
  *     Test points
  */
-static int _decode_test_ctx(UNUSED fr_dns_ctx_t *test_ctx)
-{
-       fr_dns_global_free();
-
-       return 0;
-}
-
 static int decode_test_ctx(void **out, TALLOC_CTX *ctx)
 {
        fr_dns_ctx_t *test_ctx;
@@ -386,7 +379,6 @@ static int decode_test_ctx(void **out, TALLOC_CTX *ctx)
        if (fr_dns_global_init() < 0) return -1;
 
        test_ctx = talloc_zero(ctx, fr_dns_ctx_t);
-       talloc_set_destructor(test_ctx, _decode_test_ctx);
 
        test_ctx->tmp_ctx = talloc(test_ctx, uint8_t);
        *out = test_ctx;
index 6e88a094faaac725feb71deb768ab44d99111054..7007cca77cf00bc2916b078683003bd36e32913a 100644 (file)
@@ -512,23 +512,13 @@ ssize_t fr_dns_encode(fr_dbuff_t *dbuff, fr_pair_list_t *vps, fr_dns_ctx_t *pack
        return fr_dbuff_set(dbuff, &work_dbuff);
 }
 
-static int _test_ctx_free(UNUSED fr_dns_ctx_t *ctx)
-{
-       fr_dns_global_free();
-
-       return 0;
-}
-
 static int encode_test_ctx(void **out, TALLOC_CTX *ctx)
 {
        fr_dns_ctx_t    *test_ctx;
 
-       if (fr_dns_global_init() < 0) return -1;
-
        test_ctx = talloc_zero(ctx, fr_dns_ctx_t);
        if (!test_ctx) return -1;
 
-       talloc_set_destructor(test_ctx, _test_ctx_free);
        test_ctx->tmp_ctx = talloc(test_ctx, uint8_t);
 
        *out = test_ctx;
index 8831a4523be8c188c5da05f100f7e03349b53493..d54e6037468403969155a450fc1ad09c431948d4 100644 (file)
@@ -2114,15 +2114,6 @@ ssize_t fr_radius_decode_foreign(TALLOC_CTX *ctx, fr_pair_list_t *out,
 }
 
 
-static int _test_ctx_free(fr_radius_decode_ctx_t *ctx)
-{
-       TALLOC_FREE(ctx->tags);
-
-       fr_radius_free();
-
-       return 0;
-}
-
 static int decode_test_ctx(void **out, TALLOC_CTX *ctx)
 {
        static uint8_t vector[RADIUS_AUTH_VECTOR_LENGTH] = {
@@ -2131,8 +2122,6 @@ static int decode_test_ctx(void **out, TALLOC_CTX *ctx)
 
        fr_radius_decode_ctx_t  *test_ctx;
 
-       if (fr_radius_init() < 0) return -1;
-
        test_ctx = talloc_zero(ctx, fr_radius_decode_ctx_t);
        test_ctx->common = talloc_zero(test_ctx, fr_radius_ctx_t);
 
@@ -2141,7 +2130,6 @@ static int decode_test_ctx(void **out, TALLOC_CTX *ctx)
 
        test_ctx->request_authenticator = vector;
        test_ctx->tmp_ctx = talloc_zero(test_ctx, uint8_t);
-       talloc_set_destructor(test_ctx, _test_ctx_free);
 
        *out = test_ctx;
 
index ea096786c91b5636311aae253ad1f1c9af42ba71..58409c051ccd42824f8e719bb33235eb9df89052 100644 (file)
@@ -1696,13 +1696,6 @@ ssize_t  fr_radius_encode_foreign(fr_dbuff_t *dbuff, fr_pair_list_t const *list)
 }
 
 
-static int _test_ctx_free(UNUSED fr_radius_encode_ctx_t *ctx)
-{
-       fr_radius_free();
-
-       return 0;
-}
-
 static int encode_test_ctx(void **out, TALLOC_CTX *ctx)
 {
        static uint8_t vector[RADIUS_AUTH_VECTOR_LENGTH] = {
@@ -1711,8 +1704,6 @@ static int encode_test_ctx(void **out, TALLOC_CTX *ctx)
 
        fr_radius_encode_ctx_t  *test_ctx;
 
-       if (fr_radius_init() < 0) return -1;
-
        test_ctx = talloc_zero(ctx, fr_radius_encode_ctx_t);
        if (!test_ctx) return -1;
 
@@ -1724,7 +1715,6 @@ static int encode_test_ctx(void **out, TALLOC_CTX *ctx)
        test_ctx->request_authenticator = vector;
        test_ctx->rand_ctx.a = 6809;
        test_ctx->rand_ctx.b = 2112;
-       talloc_set_destructor(test_ctx, _test_ctx_free);
 
        *out = test_ctx;
 
index cf151857a995b4ee759d62ce7f070ba1ad5904de..881fc3e4cb478f4a7b665e94087adc6b46ffa4e0 100644 (file)
@@ -1066,7 +1066,6 @@ static int encode_test_ctx(void **out, TALLOC_CTX *ctx)
        test_ctx = talloc_zero(ctx, fr_tacacs_ctx_t);
        if (!test_ctx) return -1;
 
-//     test_ctx->secret = talloc_strdup(test_ctx, "testing123");
        test_ctx->root = fr_dict_root(dict_tacacs);
        talloc_set_destructor(test_ctx, _encode_test_ctx);