The FreeRADIUS server $Id: f3670dba8951ca10eb4948feb3dc3db9423a334f $
Loading...
Searching...
No Matches
Macros | Functions | Variables
value_tests.c File Reference

Tests for value box functions. More...

#include "acutest_common_init.h"
#include "acutest_helpers.h"
#include <freeradius-devel/util/value.h>
+ Include dependency graph for value_tests.c:

Go to the source code of this file.

Macros

#define SAFE_FOR_X   ((fr_value_box_safe_for_t) 0x1000)
 
#define SAFE_FOR_Y   ((fr_value_box_safe_for_t) 0x2000)
 

Functions

static void safe_for_concat_check (fr_type_t type, fr_value_box_safe_for_t const tokens[], size_t num, fr_value_box_safe_for_t expect)
 Concatenate a list into a separate output box and check the resulting safe_for.
 
static void safe_for_list_build (fr_value_box_list_t *list, fr_value_box_safe_for_t const tokens[], size_t num)
 Build a list of single character string boxes, each marked with the matching token.
 
static void test_as_uint64 (void)
 
static void test_asprintf (void)
 
static void test_bstrndup (void)
 
static void test_bstrndup_replace (void)
 
static void test_cast_bool_to_uint32 (void)
 
static void test_cast_in_place_uint32_to_string (void)
 
static void test_cast_in_place_uint32_to_uint64 (void)
 
static void test_cast_int32_to_int64 (void)
 
static void test_cast_octets_to_string_preserves_safe_for (void)
 
static void test_cast_same_type (void)
 
static void test_cast_string_to_octets_preserves_safe_for (void)
 
static void test_cast_string_to_uint32 (void)
 
static void test_cast_uint32_to_bool (void)
 
static void test_cast_uint32_to_string (void)
 
static void test_cast_uint32_to_string_clears_safe_for (void)
 
static void test_cast_uint32_to_uint64 (void)
 
static void test_cast_uint8_to_uint32 (void)
 
static void test_clear (void)
 
static void test_clear_string (void)
 
static void test_cmp_bool (void)
 
static void test_cmp_different_types (void)
 
static void test_cmp_float64 (void)
 
static void test_cmp_int32 (void)
 
static void test_cmp_octets (void)
 
static void test_cmp_octets_length (void)
 
static void test_cmp_op_eq (void)
 
static void test_cmp_op_ge (void)
 
static void test_cmp_op_gt (void)
 
static void test_cmp_op_le (void)
 
static void test_cmp_op_lt (void)
 
static void test_cmp_op_ne (void)
 
static void test_cmp_string (void)
 
static void test_cmp_uint32_equal (void)
 
static void test_cmp_uint32_less (void)
 
static void test_concat_any_any_is_any (void)
 
static void test_concat_any_x_is_x (void)
 
static void test_concat_into_head_x_x_is_x (void)
 The list head doubles as the output box.
 
static void test_concat_octets_x_x_is_x (void)
 
static void test_concat_x_any_is_x (void)
 
static void test_concat_x_none_is_none (void)
 
static void test_concat_x_x_is_x (void)
 
static void test_concat_x_y_is_none (void)
 
static void test_copy_octets (void)
 
static void test_copy_preserves_safe_for (void)
 
static void test_copy_preserves_tainted (void)
 
static void test_copy_string (void)
 
static void test_copy_uint32 (void)
 
static void test_escape_in_place_func_cast (void)
 
static void test_escape_in_place_func_string (void)
 
static void test_escape_in_place_func_unchanged (void)
 
static void test_from_str_bool (void)
 
static void test_from_str_float64 (void)
 
static void test_from_str_int32 (void)
 
static void test_from_str_octets (void)
 
static void test_from_str_string (void)
 
static void test_from_str_uint32 (void)
 
static void test_hash_different_values (void)
 
static void test_hash_same_values (void)
 
static void test_hash_string (void)
 
static void test_increment_int32 (void)
 
static void test_increment_uint32 (void)
 
static void test_increment_uint8_overflow (void)
 
static void test_init (void)
 
static void test_list_safety_merge (void)
 
static void test_memdup (void)
 
static void test_network_bool (void)
 
static void test_network_int32 (void)
 
static void test_network_length (void)
 
static void test_network_uint32 (void)
 
static void test_network_uint64 (void)
 
static fr_slen_t test_percent_escape (fr_sbuff_t *out, fr_sbuff_t *in)
 Escape function for the in-place escape tests, writes '' as "%25".
 
static void test_print_bool (void)
 
static void test_print_int32_negative (void)
 
static void test_print_octets (void)
 
static void test_print_string (void)
 
static void test_print_uint32 (void)
 
static void test_round_trip_bool (void)
 
static void test_round_trip_int64 (void)
 
static void test_round_trip_network_uint32 (void)
 
static void test_round_trip_uint32 (void)
 
static void test_strdup (void)
 
static void test_tainted_flag (void)
 
static void test_truthy_bool (void)
 
static void test_truthy_octets (void)
 
static void test_truthy_string (void)
 
static void test_truthy_uint32 (void)
 

Variables

static TALLOC_CTX * autofree
 
 TEST_LIST
 

Detailed Description

Tests for value box functions.

Definition in file value_tests.c.

Macro Definition Documentation

◆ SAFE_FOR_X

#define SAFE_FOR_X   ((fr_value_box_safe_for_t) 0x1000)

Definition at line 456 of file value_tests.c.

◆ SAFE_FOR_Y

#define SAFE_FOR_Y   ((fr_value_box_safe_for_t) 0x2000)

Definition at line 457 of file value_tests.c.

Function Documentation

◆ safe_for_concat_check()

static void safe_for_concat_check ( fr_type_t  type,
fr_value_box_safe_for_t const  tokens[],
size_t  num,
fr_value_box_safe_for_t  expect 
)
static

Concatenate a list into a separate output box and check the resulting safe_for.

Definition at line 544 of file value_tests.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ safe_for_list_build()

static void safe_for_list_build ( fr_value_box_list_t *  list,
fr_value_box_safe_for_t const  tokens[],
size_t  num 
)
static

Build a list of single character string boxes, each marked with the matching token.

Definition at line 526 of file value_tests.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ test_as_uint64()

static void test_as_uint64 ( void  )
static

Definition at line 844 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_asprintf()

static void test_asprintf ( void  )
static

Definition at line 681 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_bstrndup()

static void test_bstrndup ( void  )
static

Definition at line 692 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_bstrndup_replace()

static void test_bstrndup_replace ( void  )
static

Definition at line 1268 of file value_tests.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ test_cast_bool_to_uint32()

static void test_cast_bool_to_uint32 ( void  )
static

Definition at line 330 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cast_in_place_uint32_to_string()

static void test_cast_in_place_uint32_to_string ( void  )
static

Definition at line 374 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cast_in_place_uint32_to_uint64()

static void test_cast_in_place_uint32_to_uint64 ( void  )
static

Definition at line 363 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cast_int32_to_int64()

static void test_cast_int32_to_int64 ( void  )
static

Definition at line 294 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cast_octets_to_string_preserves_safe_for()

static void test_cast_octets_to_string_preserves_safe_for ( void  )
static

Definition at line 474 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cast_same_type()

static void test_cast_same_type ( void  )
static

Definition at line 318 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cast_string_to_octets_preserves_safe_for()

static void test_cast_string_to_octets_preserves_safe_for ( void  )
static

Definition at line 491 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cast_string_to_uint32()

static void test_cast_string_to_uint32 ( void  )
static

Definition at line 279 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cast_uint32_to_bool()

static void test_cast_uint32_to_bool ( void  )
static

Definition at line 345 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cast_uint32_to_string()

static void test_cast_uint32_to_string ( void  )
static

Definition at line 265 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cast_uint32_to_string_clears_safe_for()

static void test_cast_uint32_to_string_clears_safe_for ( void  )
static

Definition at line 508 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cast_uint32_to_uint64()

static void test_cast_uint32_to_uint64 ( void  )
static

Definition at line 253 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cast_uint8_to_uint32()

static void test_cast_uint8_to_uint32 ( void  )
static

Definition at line 306 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_clear()

static void test_clear ( void  )
static

Definition at line 867 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_clear_string()

static void test_clear_string ( void  )
static

Definition at line 878 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_bool()

static void test_cmp_bool ( void  )
static

Definition at line 144 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_different_types()

static void test_cmp_different_types ( void  )
static

Definition at line 158 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_float64()

static void test_cmp_float64 ( void  )
static

Definition at line 83 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_int32()

static void test_cmp_int32 ( void  )
static

Definition at line 69 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_octets()

static void test_cmp_octets ( void  )
static

Definition at line 115 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_octets_length()

static void test_cmp_octets_length ( void  )
static

Definition at line 129 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_op_eq()

static void test_cmp_op_eq ( void  )
static

Definition at line 173 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_op_ge()

static void test_cmp_op_ge ( void  )
static

Definition at line 236 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_op_gt()

static void test_cmp_op_gt ( void  )
static

Definition at line 211 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_op_le()

static void test_cmp_op_le ( void  )
static

Definition at line 222 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_op_lt()

static void test_cmp_op_lt ( void  )
static

Definition at line 199 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_op_ne()

static void test_cmp_op_ne ( void  )
static

Definition at line 186 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_string()

static void test_cmp_string ( void  )
static

Definition at line 97 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_uint32_equal()

static void test_cmp_uint32_equal ( void  )
static

Definition at line 48 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_cmp_uint32_less()

static void test_cmp_uint32_less ( void  )
static

Definition at line 58 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_concat_any_any_is_any()

static void test_concat_any_any_is_any ( void  )
static

Definition at line 563 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_concat_any_x_is_x()

static void test_concat_any_x_is_x ( void  )
static

Definition at line 584 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_concat_into_head_x_x_is_x()

static void test_concat_into_head_x_x_is_x ( void  )
static

The list head doubles as the output box.

Definition at line 614 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_concat_octets_x_x_is_x()

static void test_concat_octets_x_x_is_x ( void  )
static

Definition at line 605 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_concat_x_any_is_x()

static void test_concat_x_any_is_x ( void  )
static

Definition at line 577 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_concat_x_none_is_none()

static void test_concat_x_none_is_none ( void  )
static

Definition at line 598 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_concat_x_x_is_x()

static void test_concat_x_x_is_x ( void  )
static

Definition at line 570 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_concat_x_y_is_none()

static void test_concat_x_y_is_none ( void  )
static

Definition at line 591 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_copy_octets()

static void test_copy_octets ( void  )
static

Definition at line 420 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_copy_preserves_safe_for()

static void test_copy_preserves_safe_for ( void  )
static

Definition at line 459 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_copy_preserves_tainted()

static void test_copy_preserves_tainted ( void  )
static

Definition at line 439 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_copy_string()

static void test_copy_string ( void  )
static

Definition at line 402 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_copy_uint32()

static void test_copy_uint32 ( void  )
static

Definition at line 390 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_escape_in_place_func_cast()

static void test_escape_in_place_func_cast ( void  )
static

Definition at line 1330 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_escape_in_place_func_string()

static void test_escape_in_place_func_string ( void  )
static

Definition at line 1296 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_escape_in_place_func_unchanged()

static void test_escape_in_place_func_unchanged ( void  )
static

Definition at line 1314 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_from_str_bool()

static void test_from_str_bool ( void  )
static

Definition at line 1128 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_from_str_float64()

static void test_from_str_float64 ( void  )
static

Definition at line 1138 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_from_str_int32()

static void test_from_str_int32 ( void  )
static

Definition at line 1117 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_from_str_octets()

static void test_from_str_octets ( void  )
static

Definition at line 1149 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_from_str_string()

static void test_from_str_string ( void  )
static

Definition at line 1162 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_from_str_uint32()

static void test_from_str_uint32 ( void  )
static

Definition at line 1106 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_hash_different_values()

static void test_hash_different_values ( void  )
static

Definition at line 734 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_hash_same_values()

static void test_hash_same_values ( void  )
static

Definition at line 724 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_hash_string()

static void test_hash_string ( void  )
static

Definition at line 744 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_increment_int32()

static void test_increment_int32 ( void  )
static

Definition at line 831 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_increment_uint32()

static void test_increment_uint32 ( void  )
static

Definition at line 811 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_increment_uint8_overflow()

static void test_increment_uint8_overflow ( void  )
static

Definition at line 821 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_init()

static void test_init ( void  )
static

Definition at line 30 of file value_tests.c.

◆ test_list_safety_merge()

static void test_list_safety_merge ( void  )
static

Definition at line 632 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_memdup()

static void test_memdup ( void  )
static

Definition at line 708 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_network_bool()

static void test_network_bool ( void  )
static

Definition at line 987 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_network_int32()

static void test_network_int32 ( void  )
static

Definition at line 960 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_network_length()

static void test_network_length ( void  )
static

Definition at line 1008 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_network_uint32()

static void test_network_uint32 ( void  )
static

Definition at line 906 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_network_uint64()

static void test_network_uint64 ( void  )
static

Definition at line 935 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_percent_escape()

static fr_slen_t test_percent_escape ( fr_sbuff_t *  out,
fr_sbuff_t *  in 
)
static

Escape function for the in-place escape tests, writes '' as "%25".

Definition at line 1248 of file value_tests.c.

+ Here is the caller graph for this function:

◆ test_print_bool()

static void test_print_bool ( void  )
static

Definition at line 1069 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_print_int32_negative()

static void test_print_int32_negative ( void  )
static

Definition at line 1041 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_print_octets()

static void test_print_octets ( void  )
static

Definition at line 1088 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_print_string()

static void test_print_string ( void  )
static

Definition at line 1054 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_print_uint32()

static void test_print_uint32 ( void  )
static

Definition at line 1028 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_round_trip_bool()

static void test_round_trip_bool ( void  )
static

Definition at line 1209 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_round_trip_int64()

static void test_round_trip_int64 ( void  )
static

Definition at line 1193 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_round_trip_network_uint32()

static void test_round_trip_network_uint32 ( void  )
static

Definition at line 1225 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_round_trip_uint32()

static void test_round_trip_uint32 ( void  )
static

Definition at line 1177 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_strdup()

static void test_strdup ( void  )
static

Definition at line 669 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_tainted_flag()

static void test_tainted_flag ( void  )
static

Definition at line 892 of file value_tests.c.

◆ test_truthy_bool()

static void test_truthy_bool ( void  )
static

Definition at line 760 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_truthy_octets()

static void test_truthy_octets ( void  )
static

Definition at line 795 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_truthy_string()

static void test_truthy_string ( void  )
static

Definition at line 782 of file value_tests.c.

+ Here is the call graph for this function:

◆ test_truthy_uint32()

static void test_truthy_uint32 ( void  )
static

Definition at line 771 of file value_tests.c.

+ Here is the call graph for this function:

Variable Documentation

◆ autofree

TALLOC_CTX* autofree
static

Definition at line 28 of file value_tests.c.

◆ TEST_LIST

TEST_LIST

Definition at line 1346 of file value_tests.c.