aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@users.noreply.github.com>2024-08-12 15:11:17 -0400
committerGitHub <noreply@github.com>2024-08-12 15:11:17 -0400
commit95672b2e7a6cc0c07306893d5bb0b80ee3570f7a (patch)
tree7167084154e521b1c82945d7e0405dbe524074ad /src
parentdd2768ddcd61172cc58311fa51138281144397ae (diff)
downloadstasis-95672b2e7a6cc0c07306893d5bb0b80ee3570f7a.tar.gz
More unit tests (and fixing bugs) (#23)
* Add test_artifactory.c to suite * Add test_ini_getval_wrapper to ini.c * basic ini_getval_TYPE() conversion checks * bugfix: use strtof in INIVAL_TYPE_FLOAT case * Include stdio.h to pull in FILE structure * bugfix: free data at index during strlist_set operation * Previous behavior of setting the pointer to NULL introduced a subtle memory leak * Set strlist error when index it out of range * Import private delivery functions required for mock context creation * Remove static declaration * populate_delivery_cfg() * Add test_junitxml.c * Fix duplicate define value for JUNIT_RESULT_STATE_ERROR * Add static junit test data * Copy test data to current test directory
Diffstat (limited to 'src')
-rw-r--r--src/delivery.c2
-rw-r--r--src/ini.c3
-rw-r--r--src/strlist.c3
3 files changed, 4 insertions, 4 deletions
diff --git a/src/delivery.c b/src/delivery.c
index eaa2b06..2b5e781 100644
--- a/src/delivery.c
+++ b/src/delivery.c
@@ -607,7 +607,7 @@ static int populate_delivery_ini(struct Delivery *ctx, int render_mode) {
return 0;
}
-static int populate_delivery_cfg(struct Delivery *ctx, int render_mode) {
+int populate_delivery_cfg(struct Delivery *ctx, int render_mode) {
struct INIFILE *cfg = ctx->_stasis_ini_fp.cfg;
if (!cfg) {
return -1;
diff --git a/src/ini.c b/src/ini.c
index dfbd817..42891ef 100644
--- a/src/ini.c
+++ b/src/ini.c
@@ -170,7 +170,7 @@ int ini_getval(struct INIFILE *ini, char *section_name, char *key, int type, int
result->as_double = (double) strtod(data_copy, NULL);
break;
case INIVAL_TYPE_FLOAT:
- result->as_float = (float) strtod(data_copy, NULL);
+ result->as_float = strtof(data_copy, NULL);
break;
case INIVAL_TYPE_STR:
result->as_char_p = strdup(data_copy);
@@ -638,7 +638,6 @@ struct INIFILE *ini_open(const char *filename) {
}
if (isempty(value)) {
//printf("%s is probably long raw data\n", key);
- //ini_data_set_hint(&ini, current_section, key, INIVAL_TYPE_STR_ARRAY);
hint = INIVAL_TYPE_STR_ARRAY;
multiline_data = 1;
no_data = 1;
diff --git a/src/strlist.c b/src/strlist.c
index d1bb926..de76744 100644
--- a/src/strlist.c
+++ b/src/strlist.c
@@ -315,11 +315,12 @@ size_t strlist_count(struct StrList *pStrList) {
void strlist_set(struct StrList **pStrList, size_t index, char *value) {
char *tmp = NULL;
if (*pStrList == NULL || index > strlist_count(*pStrList)) {
+ strlist_errno = STRLIST_E_OUT_OF_RANGE;
return;
}
if (value == NULL) {
- (*pStrList)->data[index] = NULL;
+ guard_free((*pStrList)->data[index]);
} else {
tmp = realloc((*pStrList)->data[index], (strlen(value) + 1) * sizeof(char *));
if (!tmp) {