#include <string.h>
#include "tap/tap.h"
-#define NR_TESTS 166
+#define NR_TESTS 188
static
void test_null(void)
uint64_t value;
bt_value *obj;
- obj = bt_value_unsigned_integer_create();
+ obj = bt_value_integer_unsigned_create();
ok(obj && bt_value_is_unsigned_integer(obj),
- "bt_value_unsigned_integer_create() returns an unsigned integer value object");
+ "bt_value_integer_unsigned_create() returns an unsigned integer value object");
value = 1961;
- value = bt_value_unsigned_integer_get(obj);
+ value = bt_value_integer_unsigned_get(obj);
ok(value == 0, "default unsigned integer value object value is 0");
- bt_value_unsigned_integer_set(obj, 98765);
- value = bt_value_unsigned_integer_get(obj);
- ok(value == 98765, "bt_value_unsigned_integer_bool_set() works");
+ bt_value_integer_unsigned_set(obj, 98765);
+ value = bt_value_integer_unsigned_get(obj);
+ ok(value == 98765, "bt_value_integer_unsigned_bool_set() works");
BT_VALUE_PUT_REF_AND_RESET(obj);
pass("putting an existing unsigned integer value object does not cause a crash")
- obj = bt_value_unsigned_integer_create_init(321456987);
+ obj = bt_value_integer_unsigned_create_init(321456987);
ok(obj && bt_value_is_unsigned_integer(obj),
- "bt_value_unsigned_integer_create_init() returns an unsigned integer value object");
- value = bt_value_unsigned_integer_get(obj);
+ "bt_value_integer_unsigned_create_init() returns an unsigned integer value object");
+ value = bt_value_integer_unsigned_get(obj);
ok(value == 321456987,
- "bt_value_unsigned_integer_create_init() sets the appropriate initial value");
+ "bt_value_integer_unsigned_create_init() sets the appropriate initial value");
BT_VALUE_PUT_REF_AND_RESET(obj);
}
int64_t value;
bt_value *obj;
- obj = bt_value_signed_integer_create();
+ obj = bt_value_integer_signed_create();
ok(obj && bt_value_is_signed_integer(obj),
- "bt_value_signed_integer_create() returns a signed integer value object");
+ "bt_value_integer_signed_create() returns a signed integer value object");
value = 1961;
- value = bt_value_signed_integer_get(obj);
+ value = bt_value_integer_signed_get(obj);
ok(value == 0, "default signed integer value object value is 0");
- bt_value_signed_integer_set(obj, 98765);
- value = bt_value_signed_integer_get(obj);
- ok(value == 98765, "bt_value_signed_integer_bool_set() works");
+ bt_value_integer_signed_set(obj, 98765);
+ value = bt_value_integer_signed_get(obj);
+ ok(value == 98765, "bt_value_integer_signed_bool_set() works");
BT_VALUE_PUT_REF_AND_RESET(obj);
pass("putting an existing signed integer value object does not cause a crash")
- obj = bt_value_signed_integer_create_init(-321456987);
+ obj = bt_value_integer_signed_create_init(-321456987);
ok(obj && bt_value_is_signed_integer(obj),
- "bt_value_signed_integer_create_init() returns a signed integer value object");
- value = bt_value_signed_integer_get(obj);
+ "bt_value_integer_signed_create_init() returns a signed integer value object");
+ value = bt_value_integer_signed_get(obj);
ok(value == -321456987,
- "bt_value_signed_integer_create_init() sets the appropriate initial value");
+ "bt_value_integer_signed_create_init() sets the appropriate initial value");
BT_VALUE_PUT_REF_AND_RESET(obj);
}
bt_value *obj;
const char *string_value;
bt_value *array_obj;
+ bt_value *appended_obj;
array_obj = bt_value_array_create();
ok(array_obj && bt_value_is_array(array_obj),
ok(bt_value_array_is_empty(array_obj),
"initial array value object size is 0");
- obj = bt_value_unsigned_integer_create_init(345);
+ obj = bt_value_integer_unsigned_create_init(345);
ret = bt_value_array_append_element(array_obj, obj);
BT_VALUE_PUT_REF_AND_RESET(obj);
- obj = bt_value_signed_integer_create_init(-507);
+ obj = bt_value_integer_signed_create_init(-507);
ret |= bt_value_array_append_element(array_obj, obj);
BT_VALUE_PUT_REF_AND_RESET(obj);
obj = bt_value_real_create_init(-17.45);
ret |= bt_value_array_append_element(array_obj,
bt_value_null);
ok(!ret, "bt_value_array_append_element() succeeds");
- ok(bt_value_array_get_size(array_obj) == 5,
+ ok(bt_value_array_get_length(array_obj) == 5,
"appending an element to an array value object increment its size");
obj = bt_value_array_borrow_element_by_index(array_obj, 0);
ok(obj && bt_value_is_unsigned_integer(obj),
"bt_value_array_borrow_element_by_index() returns an value object with the appropriate type (unsigned integer)");
- int_value = bt_value_unsigned_integer_get(obj);
+ int_value = bt_value_integer_unsigned_get(obj);
ok(int_value == 345,
"bt_value_array_borrow_element_by_index() returns an value object with the appropriate value (unsigned integer)");
obj = bt_value_array_borrow_element_by_index(array_obj, 1);
ok(obj && bt_value_is_signed_integer(obj),
"bt_value_array_borrow_element_by_index() returns an value object with the appropriate type (signed integer)");
- int_value = bt_value_signed_integer_get(obj);
+ int_value = bt_value_integer_signed_get(obj);
ok(int_value == -507,
"bt_value_array_borrow_element_by_index() returns an value object with the appropriate value (signed integer)");
obj = bt_value_array_borrow_element_by_index(array_obj, 2);
ok(obj == bt_value_null,
"bt_value_array_borrow_element_by_index() returns an value object with the appropriate type (null)");
- obj = bt_value_signed_integer_create_init(1001);
+ obj = bt_value_integer_signed_create_init(1001);
BT_ASSERT(obj);
ok(!bt_value_array_set_element_by_index(array_obj, 2, obj),
"bt_value_array_set_element_by_index() succeeds");
obj = bt_value_array_borrow_element_by_index(array_obj, 2);
ok(obj && bt_value_is_signed_integer(obj),
"bt_value_array_set_element_by_index() inserts an value object with the appropriate type");
- int_value = bt_value_signed_integer_get(obj);
+ int_value = bt_value_integer_signed_get(obj);
BT_ASSERT(!ret);
ok(int_value == 1001,
"bt_value_array_set_element_by_index() inserts an value object with the appropriate value");
ret = bt_value_array_append_string_element(array_obj,
"bt_value");
ok(!ret, "bt_value_array_append_string_element() succeeds");
- ret = bt_value_array_append_empty_array_element(array_obj);
+ ret = bt_value_array_append_empty_array_element(array_obj, NULL);
ok(!ret, "bt_value_array_append_empty_array_element() succeeds");
- ret = bt_value_array_append_empty_map_element(array_obj);
+ ret = bt_value_array_append_empty_array_element(array_obj, &appended_obj);
+ ok(!ret, "bt_value_array_append_empty_array_element() with returned value object succeeds");
+ ok(appended_obj,
+ "object returned by bt_value_array_append_empty_array_element() is not NULL");
+ ok(bt_value_is_array(appended_obj),
+ "object returned by bt_value_array_append_empty_array_element() is an array value");
+ ret = bt_value_array_append_empty_map_element(array_obj, NULL);
ok(!ret, "bt_value_array_append_empty_map_element() succeeds");
-
- ok(bt_value_array_get_size(array_obj) == 12,
+ ret = bt_value_array_append_empty_map_element(array_obj, &appended_obj);
+ ok(!ret, "bt_value_array_append_empty_map_element() with returned value object succeeds");
+ ok(appended_obj,
+ "object returned by bt_value_array_append_empty_map_element() is not NULL");
+ ok(bt_value_is_map(appended_obj),
+ "object returned by bt_value_array_append_empty_map_element() is an array value");
+
+ ok(bt_value_array_get_length(array_obj) == 14,
"the bt_value_array_append_element_*() functions increment the array value object's size");
ok(!bt_value_array_is_empty(array_obj),
"map value object is not empty");
obj = bt_value_array_borrow_element_by_index(array_obj, 6);
ok(obj && bt_value_is_unsigned_integer(obj),
"bt_value_array_append_unsigned_integer_element() appends an unsigned integer value object");
- int_value = bt_value_unsigned_integer_get(obj);
+ int_value = bt_value_integer_unsigned_get(obj);
ok(int_value == 98765,
"bt_value_array_append_unsigned_integer_element() appends the appropriate value");
obj = bt_value_array_borrow_element_by_index(array_obj, 7);
ok(obj && bt_value_is_signed_integer(obj),
"bt_value_array_append_signed_integer_element() appends a signed integer value object");
- int_value = bt_value_signed_integer_get(obj);
+ int_value = bt_value_integer_signed_get(obj);
ok(int_value == -10101,
"bt_value_array_append_signed_integer_element() appends the appropriate value");
obj = bt_value_array_borrow_element_by_index(array_obj, 8);
ok(bt_value_array_is_empty(obj),
"bt_value_array_append_empty_array_element() an empty array value object");
obj = bt_value_array_borrow_element_by_index(array_obj, 11);
+ ok(obj && bt_value_is_array(obj),
+ "bt_value_array_append_empty_array_element() appends an array value object");
+ ok(bt_value_array_is_empty(obj),
+ "bt_value_array_append_empty_array_element() an empty array value object");
+ obj = bt_value_array_borrow_element_by_index(array_obj, 12);
+ ok(obj && bt_value_is_map(obj),
+ "bt_value_array_append_empty_map_element() appends a map value object");
+ ok(bt_value_map_is_empty(obj),
+ "bt_value_array_append_empty_map_element() an empty map value object");
+ obj = bt_value_array_borrow_element_by_index(array_obj, 13);
ok(obj && bt_value_is_map(obj),
"bt_value_array_append_empty_map_element() appends a map value object");
ok(bt_value_map_is_empty(obj),
bt_bool real2;
bt_bool string2;
bt_bool array2;
+ bt_bool array3;
bt_bool map2;
+ bt_bool map3;
};
static
} else {
uint64_t val = 0;
- val = bt_value_unsigned_integer_get(object);
+ val = bt_value_integer_unsigned_get(object);
if (val == 19457) {
pass("test_map_foreach_cb_check(): \"uint\" value object has the right value");
} else {
int64_t val = 0;
- val = bt_value_signed_integer_get(object);
+ val = bt_value_integer_signed_get(object);
if (val == -12345) {
pass("test_map_foreach_cb_check(): \"int\" value object has the right value");
} else {
int64_t val = 0;
- val = bt_value_signed_integer_get(object);
+ val = bt_value_integer_signed_get(object);
if (val == 98765) {
pass("test_map_foreach_cb_check(): \"int2\" value object has the right value");
"test_map_foreach_cb_check(): \"array2\" value object is empty");
checklist->array2 = BT_TRUE;
}
+ } else if (strcmp(key, "array3") == 0) {
+ if (checklist->array3) {
+ fail("test_map_foreach_cb_check(): duplicate key \"array3\"");
+ } else {
+ ok(bt_value_is_array(object), "test_map_foreach_cb_check(): success getting \"array3\" value object");
+ ok(bt_value_array_is_empty(object),
+ "test_map_foreach_cb_check(): \"array3\" value object is empty");
+ checklist->array3 = BT_TRUE;
+ }
+ } else if (strcmp(key, "map3") == 0) {
+ if (checklist->map3) {
+ fail("test_map_foreach_cb_check(): duplicate key \"map3\"");
+ } else {
+ ok(bt_value_is_map(object), "test_map_foreach_cb_check(): success getting \"map3\" value object");
+ ok(bt_value_map_is_empty(object),
+ "test_map_foreach_cb_check(): \"map3\" value object is empty");
+ checklist->map3 = BT_TRUE;
+ }
} else if (strcmp(key, "map2") == 0) {
if (checklist->map2) {
fail("test_map_foreach_cb_check(): duplicate key \"map2\"");
double real_value;
bt_value *obj;
bt_value *map_obj;
+ bt_value *inserted_obj;
struct map_foreach_checklist checklist;
map_obj = bt_value_map_create();
ok(bt_value_map_get_size(map_obj) == 0,
"initial map value object size is 0");
- obj = bt_value_unsigned_integer_create_init(19457);
+ obj = bt_value_integer_unsigned_create_init(19457);
ret = bt_value_map_insert_entry(map_obj, "uint", obj);
BT_VALUE_PUT_REF_AND_RESET(obj);
- obj = bt_value_signed_integer_create_init(-12345);
+ obj = bt_value_integer_signed_create_init(-12345);
ret |= bt_value_map_insert_entry(map_obj, "int", obj);
BT_VALUE_PUT_REF_AND_RESET(obj);
obj = bt_value_real_create_init(5.444);
obj = bt_value_map_borrow_entry_value(map_obj, "uint");
ok(obj && bt_value_is_unsigned_integer(obj),
"bt_value_map_borrow_entry_value() returns an value object with the appropriate type (unsigned integer)");
- int_value = bt_value_unsigned_integer_get(obj);
+ int_value = bt_value_integer_unsigned_get(obj);
ok(int_value == 19457,
"bt_value_map_borrow_entry_value() returns an value object with the appropriate value (unsigned integer)");
obj = bt_value_map_borrow_entry_value(map_obj, "int");
ok(obj && bt_value_is_signed_integer(obj),
"bt_value_map_borrow_entry_value() returns an value object with the appropriate type (signed integer)");
- int_value = bt_value_signed_integer_get(obj);
+ int_value = bt_value_integer_signed_get(obj);
ok(int_value == -12345,
"bt_value_map_borrow_entry_value() returns an value object with the appropriate value (signed integer)");
obj = bt_value_map_borrow_entry_value(map_obj, "null");
ret = bt_value_map_insert_string_entry(map_obj, "string2",
"bt_value");
ok(!ret, "bt_value_map_insert_string_entry() succeeds");
- ret = bt_value_map_insert_empty_array_entry(map_obj,
- "array2");
+ ret = bt_value_map_insert_empty_array_entry(map_obj, "array2", NULL);
ok(!ret, "bt_value_map_insert_empty_array_entry() succeeds");
- ret = bt_value_map_insert_empty_map_entry(map_obj, "map2");
+ ret = bt_value_map_insert_empty_array_entry(map_obj, "array3", &inserted_obj);
+ ok(!ret, "bt_value_map_insert_empty_array_entry() with returned value object succeeds");
+ ok(inserted_obj,
+ "object returned by bt_value_map_insert_empty_array_entry() is not NULL");
+ ok(bt_value_is_array(inserted_obj),
+ "object returned by bt_value_map_insert_empty_array_entry() is an array value");
+ ret = bt_value_map_insert_empty_map_entry(map_obj, "map2", NULL);
ok(!ret, "bt_value_map_insert_empty_map_entry() succeeds");
-
- ok(bt_value_map_get_size(map_obj) == 11,
+ ret = bt_value_map_insert_empty_map_entry(map_obj, "map3", &inserted_obj);
+ ok(!ret, "bt_value_map_insert_empty_map_entry() with returned value object succeeds");
+ ok(inserted_obj,
+ "object returned by bt_value_map_insert_empty_map_entry() is not NULL");
+ ok(bt_value_is_map(inserted_obj),
+ "object returned by bt_value_map_insert_empty_map_entry() is an array value");
+
+ ok(bt_value_map_get_size(map_obj) == 13,
"the bt_value_map_insert*() functions increment the map value object's size");
ok(!bt_value_map_has_entry(map_obj, "hello"),
"map value object has key \"string2\"");
ok(bt_value_map_has_entry(map_obj, "array2"),
"map value object has key \"array2\"");
+ ok(bt_value_map_has_entry(map_obj, "array3"),
+ "map value object has key \"array3\"");
ok(bt_value_map_has_entry(map_obj, "map2"),
"map value object has key \"map2\"");
+ ok(bt_value_map_has_entry(map_obj, "map3"),
+ "map value object has key \"map3\"");
ret = bt_value_map_foreach_entry(map_obj, test_map_foreach_cb_count,
&count);
- ok(ret == BT_VALUE_MAP_FOREACH_ENTRY_STATUS_CANCELED && count == 3,
+ ok(ret == BT_VALUE_MAP_FOREACH_ENTRY_STATUS_INTERRUPTED && count == 3,
"bt_value_map_foreach_entry() breaks the loop when the user function returns BT_FALSE");
memset(&checklist, 0, sizeof(checklist));
void test_compare_unsigned_integer(void)
{
bt_value *int1 =
- bt_value_unsigned_integer_create_init(10);
+ bt_value_integer_unsigned_create_init(10);
bt_value *int2 =
- bt_value_unsigned_integer_create_init(23);
+ bt_value_integer_unsigned_create_init(23);
bt_value *int3 =
- bt_value_unsigned_integer_create_init(10);
+ bt_value_integer_unsigned_create_init(10);
BT_ASSERT(int1 && int2 && int3);
ok(!bt_value_compare(bt_value_null,
void test_compare_signed_integer(void)
{
bt_value *int1 =
- bt_value_signed_integer_create_init(10);
+ bt_value_integer_signed_create_init(10);
bt_value *int2 =
- bt_value_signed_integer_create_init(-23);
+ bt_value_integer_signed_create_init(-23);
bt_value *int3 =
- bt_value_signed_integer_create_init(10);
+ bt_value_integer_signed_create_init(10);
BT_ASSERT(int1 && int2 && int3);
ok(!bt_value_compare(bt_value_null,
BT_ASSERT(append_status == BT_VALUE_ARRAY_APPEND_ELEMENT_STATUS_OK);
append_status = bt_value_array_append_bool_element(array3, BT_FALSE);
BT_ASSERT(append_status == BT_VALUE_ARRAY_APPEND_ELEMENT_STATUS_OK);
- BT_ASSERT(bt_value_array_get_size(array1) == 3);
- BT_ASSERT(bt_value_array_get_size(array2) == 3);
- BT_ASSERT(bt_value_array_get_size(array3) == 3);
+ BT_ASSERT(bt_value_array_get_length(array1) == 3);
+ BT_ASSERT(bt_value_array_get_length(array2) == 3);
+ BT_ASSERT(bt_value_array_get_length(array3) == 3);
ok(!bt_value_compare(bt_value_null,
array1),
bt_value_copy_status copy_status;
bool_obj = bt_value_bool_create_init(BT_TRUE);
- unsigned_integer_obj = bt_value_unsigned_integer_create_init(23);
- signed_integer_obj = bt_value_signed_integer_create_init(-47);
+ unsigned_integer_obj = bt_value_integer_unsigned_create_init(23);
+ signed_integer_obj = bt_value_integer_signed_create_init(-47);
real_obj = bt_value_real_create_init(-3.1416);
string_obj = bt_value_string_create_init("test");
array_obj = bt_value_array_create();