diff --git a/tests/Makefile b/tests/Makefile index bb8f5ee..a5297ce 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -51,6 +51,8 @@ tests: $(addprefix $(BUILD_PATH)/global-,$(notdir $(basename $(wildcard ./src/gl ######################################################################################################################## +CFLAGS:=$(CFLAGS) ../modules/libunic/bin/libunic.a + $(BUILD_PATH)/obj/%.o: ./src/%.c | $(BUILD_PATH)/obj/ $(CC) $^ -o $@ $(CFLAGS) @@ -72,7 +74,7 @@ $(BUILD_PATH)/obj/global-%.o: ./src/global/src/%.c | $(BUILD_PATH)/obj/ $(BUILD_PATH)/array-%: ./src/array/%.c $(OBJECTS_ARRAY) | $(BUILD_PATH)/ $(CC) $^ -o $@ $(CFLAGS) -g3 -Wall $(BUILD_PATH)/string-%: ./src/string/%.c $(OBJECTS_STRING) | $(BUILD_PATH)/ - $(CC) $^ -o $@ ../modules/libunic/bin/libunic.a $(CFLAGS) -g3 -Wall + $(CC) $^ -o $@ $(CFLAGS) -g3 -Wall $(BUILD_PATH)/list-%: ./src/list/%.c $(OBJECTS_LIST) | $(BUILD_PATH)/ $(CC) $^ -o $@ $(CFLAGS) -g3 -Wall $(BUILD_PATH)/map-%: ./src/map/%.c $(OBJECTS_MAP) | $(BUILD_PATH)/ @@ -82,7 +84,7 @@ $(BUILD_PATH)/set-%: ./src/set/%.c $(OBJECTS_SET) | $(BUILD_PATH)/ $(BUILD_PATH)/dict-%: ./src/dict/%.c $(OBJECTS_DICT) | $(BUILD_PATH)/ $(CC) $^ -o $@ $(CFLAGS) -g3 -Wall $(BUILD_PATH)/global-%: ./src/global/%.c $(OBJECTS_GLOBAL) | $(BUILD_PATH)/ - $(CC) $^ ../bin/debug/libcdsb.a ../modules/libunic/bin/libunic.a -o $@ $(CFLAGS) -g3 -Wall + $(CC) $^ ../bin/debug/libcdsb.a -o $@ $(CFLAGS) -g3 -Wall ######################################################################################################################## diff --git a/tests/src/array/plug.h b/tests/src/array/plug.h index 0243a08..dbf0956 100644 --- a/tests/src/array/plug.h +++ b/tests/src/array/plug.h @@ -2,7 +2,7 @@ /* Copyright © 2022 Gregory Lirent */ #include -#include "../../../include/extra/vtype.h" +#include "../../../include/vtype.h" #include "../../../include/array.h" #include "../../include/random.h" diff --git a/tests/src/array/src/plug.c b/tests/src/array/src/plug.c index 0ed9a6b..4c9a95a 100644 --- a/tests/src/array/src/plug.c +++ b/tests/src/array/src/plug.c @@ -2,16 +2,14 @@ /* Copyright © 2022 Gregory Lirent */ #include -#include "../../../../include/extra/vtype.h" +#include "../../../../include/vtype.h" #include "../../../include/random.h" -vtype_string* string_duplicate(const vtype_string* x) { return 0; } vtype_list* list_duplicate (const vtype_list* x) { return 0; } vtype_map* map_duplicate (const vtype_map* x) { return 0; } vtype_set* vset_duplicate (const vtype_set* x) { return 0; } vtype_dict* dict_duplicate (const vtype_dict* x) { return 0; } -void string_free(vtype_string* x) {} void list_free (vtype_list* x) {} void map_free (vtype_map* x) {} void vset_free (vtype_set* x) {} @@ -29,7 +27,6 @@ hash_t map_hash (const vtype_map* s) { return 0; } hash_t vset_hash (const vtype_set* s) { return 0; } hash_t dict_hash (const vtype_dict* s) { return 0; } -void string_copy_init(vtype_string* x, const vtype_string* s) { memset(x, 0, sizeof(*x)); } void list_copy_init (vtype_list* x, const vtype_list* s) { memset(x, 0, sizeof(*x)); } void map_copy_init (vtype_map* x, const vtype_map* s) { memset(x, 0, sizeof(*x)); } void vset_copy_init (vtype_set* x, const vtype_set* s) { memset(x, 0, sizeof(*x)); } diff --git a/tests/src/array/src/random.c b/tests/src/array/src/random.c index 4dcc8b7..be9de57 100644 --- a/tests/src/array/src/random.c +++ b/tests/src/array/src/random.c @@ -31,7 +31,7 @@ void array_push_random(arr_t* x, _Bool silent, unsigned int hpos) { printf("\e[%dG\e[36mTry to push value to back of the array:\e[m\n", hpos+1); } - r = libcdsb_array_push(x, _.v.value, _.v.type) >= 0; + r = libcdsb_array_insert(x, _.v.value, _.v.type) >= 0; } else { ssize_t i = array_size(x); diff --git a/tests/src/dict/src/plug.c b/tests/src/dict/src/plug.c index bb5545a..24fc959 100644 --- a/tests/src/dict/src/plug.c +++ b/tests/src/dict/src/plug.c @@ -4,13 +4,11 @@ #include "../../../../src/__internal/include.h" #include "../../../include/random.h" -vtype_string* string_duplicate(const vtype_string* x) { return 0; } vtype_array* array_duplicate (const vtype_array* x) { return 0; } vtype_list* list_duplicate (const vtype_list* x) { return 0; } vtype_map* map_duplicate (const vtype_map* x) { return 0; } vtype_set* vset_duplicate (const vtype_set* x) { return 0; } -void string_free(vtype_string* x) {} void array_free (vtype_array* x) {} void list_free (vtype_list* x) {} void map_free (vtype_map* x) {} diff --git a/tests/src/global/plug.h b/tests/src/global/plug.h index b2dce62..97d1eda 100644 --- a/tests/src/global/plug.h +++ b/tests/src/global/plug.h @@ -1,7 +1,7 @@ /* This software is licensed by the MIT License, see LICENSE file */ /* Copyright © 2022 Gregory Lirent */ -#include "../../../include/extra/string.h" +#include "../../../include/string.h" #include "../../../include/array.h" #include "../../../include/list.h" #include "../../../include/set.h" diff --git a/tests/src/global/src/random.c b/tests/src/global/src/random.c index df0de0f..cef5267 100644 --- a/tests/src/global/src/random.c +++ b/tests/src/global/src/random.c @@ -80,30 +80,34 @@ static arr_t random_array(bool embd) { size_t n = random_uint16()%((!embd)?MAX_ELEMENTS:100); value_t v = (!embd) ? random_value2() : real_random_value(1); - void (*callback)(void*); - - switch (v.type) { - default: callback = nullptr; break; - case VTYPE_STRING: callback = (void*)string_free; break; - case VTYPE_ARRAY: callback = (void*)array_free; break; - case VTYPE_LIST: callback = (void*)list_free; break; - case VTYPE_MAP: callback = (void*)map_free; break; - case VTYPE_SET: callback = (void*)vset_free; break; - case VTYPE_DICT: callback = (void*)dict_free; break; - } - array_init(&x, v.type); while(n--) { - libcdsb_array_push(&x, v.value, v.type); + libcdsb_array_insert(&x, v.value, v.type); - if (callback) callback(v.value); + switch (v.type) { + default: break; + case VTYPE_STRING: string_free((void*)v.value); break; + case VTYPE_ARRAY: array_free((void*)v.value); break; + case VTYPE_LIST: list_free((void*)v.value); break; + case VTYPE_MAP: map_free((void*)v.value); break; + case VTYPE_SET: vset_free((void*)v.value); break; + case VTYPE_DICT: dict_free((void*)v.value); break; + } v = random_value_by_type(v.type, 1); } - if (callback) callback(v.value); + switch (v.type) { + default: break; + case VTYPE_STRING: string_free((void*)v.value); break; + case VTYPE_ARRAY: array_free((void*)v.value); break; + case VTYPE_LIST: list_free((void*)v.value); break; + case VTYPE_MAP: map_free((void*)v.value); break; + case VTYPE_SET: vset_free((void*)v.value); break; + case VTYPE_DICT: dict_free((void*)v.value); break; + } return x; } @@ -113,30 +117,35 @@ static set_t random_set(bool embd) { size_t n = random_uint16()%((!embd)?MAX_ELEMENTS:100); value_t v = (!embd) ? random_value2() : real_random_value(1); - void (*callback)(void*); - - switch (v.type) { - default: callback = nullptr; break; - case VTYPE_STRING: callback = (void*)string_free; break; - case VTYPE_ARRAY: callback = (void*)array_free; break; - case VTYPE_LIST: callback = (void*)list_free; break; - case VTYPE_MAP: callback = (void*)map_free; break; - case VTYPE_SET: callback = (void*)vset_free; break; - case VTYPE_DICT: callback = (void*)dict_free; break; - } - vset_init(&x, v.type); while(n--) { libcdsb_vset_insert(&x, v.value, v.type); - if (callback) callback(v.value); + switch (v.type) { + default: break; + case VTYPE_STRING: string_free((void*)v.value); break; + case VTYPE_ARRAY: array_free((void*)v.value); break; + case VTYPE_LIST: list_free((void*)v.value); break; + case VTYPE_MAP: map_free((void*)v.value); break; + case VTYPE_SET: vset_free((void*)v.value); break; + case VTYPE_DICT: dict_free((void*)v.value); break; + } v = random_value_by_type(v.type, 1); } - if (callback) callback(v.value); + switch (v.type) { + default: break; + case VTYPE_STRING: string_free((void*)v.value); break; + case VTYPE_ARRAY: array_free((void*)v.value); break; + case VTYPE_LIST: list_free((void*)v.value); break; + case VTYPE_MAP: map_free((void*)v.value); break; + case VTYPE_SET: vset_free((void*)v.value); break; + case VTYPE_DICT: dict_free((void*)v.value); break; + } + return x; } @@ -149,7 +158,7 @@ static list_t random_list(bool embd) { while(n--) { v = (!embd) ? random_value2() : real_random_value(1); - libcdsb_list_update(&x, -1, v.value, v.type, 1); + libcdsb_list_insert(&x, -1, v.value, v.type, 1); switch (v.type) { default: break; @@ -170,18 +179,6 @@ static map_t random_map(bool embd) { size_t n = random_uint16()%((!embd)?MAX_ELEMENTS:100); value_t k = (!embd) ? random_value2() : real_random_value(1); - void (*callback)(void*); - - switch (k.type) { - default: callback = nullptr; break; - case VTYPE_STRING: callback = (void*)string_free; break; - case VTYPE_ARRAY: callback = (void*)array_free; break; - case VTYPE_LIST: callback = (void*)list_free; break; - case VTYPE_MAP: callback = (void*)map_free; break; - case VTYPE_SET: callback = (void*)vset_free; break; - case VTYPE_DICT: callback = (void*)dict_free; break; - } - map_init(&x, k.type); while(n--) { @@ -189,7 +186,15 @@ static map_t random_map(bool embd) { libcdsb_map_update(&x, k.value, k.type, v.value, v.type); - if (callback) callback(k.value); + switch (k.type) { + default: break; + case VTYPE_STRING: string_free((void*)k.value); break; + case VTYPE_ARRAY: array_free((void*)k.value); break; + case VTYPE_LIST: list_free((void*)k.value); break; + case VTYPE_MAP: map_free((void*)k.value); break; + case VTYPE_SET: vset_free((void*)k.value); break; + case VTYPE_DICT: dict_free((void*)k.value); break; + } switch (v.type) { default: break; @@ -204,7 +209,16 @@ static map_t random_map(bool embd) { k = random_value_by_type(k.type, 1); } - if (callback) callback(k.value); + switch (k.type) { + default: break; + case VTYPE_STRING: string_free((void*)k.value); break; + case VTYPE_ARRAY: array_free((void*)k.value); break; + case VTYPE_LIST: list_free((void*)k.value); break; + case VTYPE_MAP: map_free((void*)k.value); break; + case VTYPE_SET: vset_free((void*)k.value); break; + case VTYPE_DICT: dict_free((void*)k.value); break; + } + return x; } diff --git a/tests/src/list/src/plug.c b/tests/src/list/src/plug.c index 7a32c0e..6c79e8a 100644 --- a/tests/src/list/src/plug.c +++ b/tests/src/list/src/plug.c @@ -4,13 +4,11 @@ #include "../../../../src/__internal/include.h" #include "../../../include/random.h" -vtype_string* string_duplicate(const vtype_string* x) { return 0; } vtype_array* array_duplicate (const vtype_array* x) { return 0; } vtype_map* map_duplicate (const vtype_map* x) { return 0; } vtype_set* vset_duplicate (const vtype_set* x) { return 0; } vtype_dict* dict_duplicate (const vtype_dict* x) { return 0; } -void string_free(vtype_string* x) {} void array_free (vtype_array* x) {} void map_free (vtype_map* x) {} void vset_free (vtype_set* x) {} diff --git a/tests/src/list/src/random.c b/tests/src/list/src/random.c index 5a4a1a9..504c5ad 100644 --- a/tests/src/list/src/random.c +++ b/tests/src/list/src/random.c @@ -26,12 +26,12 @@ void list_push_random(list_t* x, _Bool silent, unsigned int hpos) { if (!silent) { printf("\e[%dG\e[36mTry to push value to back of the list:\e[m\n", hpos+1); } - r = libcdsb_list_update(x, -1, v.value, v.type, 1); + r = libcdsb_list_insert(x, -1, v.value, v.type, 1); } else if (random_boolean()) { if (!silent) { printf("\e[%dG\e[36mTry to push value to front of the list:\e[m\n", hpos+1); } - r = libcdsb_list_update(x, -1, v.value, v.type, 1); + r = libcdsb_list_insert(x, -1, v.value, v.type, 1); } else { ssize_t i = list_size(x); i = random_uint64()% (i ? i : 1); @@ -41,7 +41,7 @@ void list_push_random(list_t* x, _Bool silent, unsigned int hpos) { printf("\e[%dG\e[36mTry to change value with index \e[32;1m%ld\e[36m in the list:\e[m\n", hpos+1, i); } - r = libcdsb_list_update(x, i, v.value, v.type, 0); + r = libcdsb_list_insert(x, i, v.value, v.type, 0); } if (!silent) { diff --git a/tests/src/map/src/plug.c b/tests/src/map/src/plug.c index 2462c64..da3cbe2 100644 --- a/tests/src/map/src/plug.c +++ b/tests/src/map/src/plug.c @@ -4,13 +4,11 @@ #include "../../../../src/__internal/include.h" #include "../../../include/random.h" -vtype_string* string_duplicate(const vtype_string* x) { return 0; } vtype_array* array_duplicate (const vtype_array* x) { return 0; } vtype_list* list_duplicate (const vtype_list* x) { return 0; } vtype_set* vset_duplicate (const vtype_set* x) { return 0; } vtype_dict* dict_duplicate (const vtype_dict* x) { return 0; } -void string_free(vtype_string* x) {} void array_free (vtype_array* x) {} void list_free (vtype_list* x) {} void vset_free (vtype_set* x) {} diff --git a/tests/src/set/src/plug.c b/tests/src/set/src/plug.c index 6dc338a..86d9620 100644 --- a/tests/src/set/src/plug.c +++ b/tests/src/set/src/plug.c @@ -4,13 +4,11 @@ #include "../../../../src/__internal/include.h" #include "../../../include/random.h" -vtype_string* string_duplicate(const vtype_string* x) { return 0; } vtype_array* array_duplicate (const vtype_array* x) { return 0; } vtype_list* list_duplicate (const vtype_list* x) { return 0; } vtype_map* map_duplicate (const vtype_map* x) { return 0; } vtype_dict* dict_duplicate (const vtype_dict* x) { return 0; } -void string_free(vtype_string* x) {} void array_free (vtype_array* x) {} void list_free (vtype_list* x) {} void map_free (vtype_map* x) {}