aboutsummaryrefslogtreecommitdiff
path: root/src/delivery.c
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@users.noreply.github.com>2024-08-15 15:27:45 -0400
committerGitHub <noreply@github.com>2024-08-15 15:27:45 -0400
commitc069d0da7645eb1e596a53178960149224af8d48 (patch)
tree4f69e4ec146bbbae85f64207fac795b03060cd59 /src/delivery.c
parentcc5fa8b386200cce03ef8a081acccc92dc44ddfb (diff)
downloadstasis-c069d0da7645eb1e596a53178960149224af8d48.tar.gz
Add template convience functions (and bug fixes) (#29)
* Die when render variable is NULL * This was caught when a call to {{ func:xyz() }} lacked opening/closing parenthesis * Scripts in tests should only render template strings right before execution * Remove conda version pin * This avoids updating conda in the base environment * This also avoids pitfalls associated with newly released (always broken) versions of conda * Add two template convenience functions * get_junitxml_result_auto() * get_basetemp_result_auto() * Handle rendering error for test script * Rename functions * get_junitxml_result_auto -> junitxml_file * get_basetemp_result_auto -> basetemp_dir * Thank you, @zacharyburnett
Diffstat (limited to 'src/delivery.c')
-rw-r--r--src/delivery.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/delivery.c b/src/delivery.c
index 4a92b92..16b1f74 100644
--- a/src/delivery.c
+++ b/src/delivery.c
@@ -560,7 +560,7 @@ static int populate_delivery_ini(struct Delivery *ctx, int render_mode) {
test->version = ini_getval_str(ini, section_name, "version", render_mode, &err);
test->repository = ini_getval_str(ini, section_name, "repository", render_mode, &err);
- test->script = ini_getval_str(ini, section_name, "script", render_mode, &err);
+ test->script = ini_getval_str(ini, section_name, "script", INI_READ_RAW, &err);
test->repository_remove_tags = ini_getval_strlist(ini, section_name, "repository_remove_tags", LINE_SEP, render_mode, &err);
test->build_recipe = ini_getval_str(ini, section_name, "build_recipe", render_mode, &err);
test->runtime.environ = ini_getval_strlist(ini, section_name, "runtime", LINE_SEP, render_mode, &err);
@@ -1771,6 +1771,9 @@ void delivery_tests_run(struct Delivery *ctx) {
cmd[strlen(cmd_rendered) ? strlen(cmd_rendered) - 1 : 0] = 0;
}
guard_free(cmd_rendered);
+ } else {
+ SYSERROR("An error occurred while rendering the following:\n%s", cmd);
+ exit(1);
}
FILE *runner_fp;