aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2026-04-08 19:58:52 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2026-04-08 19:58:52 -0400
commit38010fc9eea2d914de8f3058979baace3f1d1e80 (patch)
tree6fa94066050f39a6836df42ad8ec6bbf28cb72df
parent0268551a0c9b1e6cba422efa88f36cb8e663bd82 (diff)
downloadstasis-38010fc9eea2d914de8f3058979baace3f1d1e80.tar.gz
Move test free code from delivery.c:delivery_free() to delivery_test.c:test_free()
-rw-r--r--src/lib/delivery/delivery.c20
-rw-r--r--src/lib/delivery/delivery_test.c23
2 files changed, 21 insertions, 22 deletions
diff --git a/src/lib/delivery/delivery.c b/src/lib/delivery/delivery.c
index 11dd7b0..be6e8ff 100644
--- a/src/lib/delivery/delivery.c
+++ b/src/lib/delivery/delivery.c
@@ -230,25 +230,7 @@ void delivery_free(struct Delivery *ctx) {
guard_strlist_free(&ctx->conda.pip_packages_purge);
guard_strlist_free(&ctx->conda.wheels_packages);
- for (size_t i = 0; ctx->tests && i < ctx->tests->num_used; i++) {
- guard_free(ctx->tests->test[i]->name);
- guard_free(ctx->tests->test[i]->version);
- guard_free(ctx->tests->test[i]->repository);
- guard_free(ctx->tests->test[i]->repository_info_ref);
- guard_free(ctx->tests->test[i]->repository_info_tag);
- guard_strlist_free(&ctx->tests->test[i]->repository_remove_tags);
- guard_free(ctx->tests->test[i]->script);
- guard_free(ctx->tests->test[i]->script_setup);
- guard_free(ctx->tests->test[i]->build_recipe);
- // test-specific runtime variables
- guard_runtime_free(ctx->tests->test[i]->runtime->environ);
- guard_free(ctx->tests->test[i]->runtime);
- guard_free(ctx->tests->test[i]);
- }
- if (ctx->tests) {
- guard_free(ctx->tests->test);
- guard_free(ctx->tests);
- }
+ tests_free(&ctx->tests);
guard_free(ctx->rules.release_fmt);
guard_free(ctx->rules.build_name_fmt);
diff --git a/src/lib/delivery/delivery_test.c b/src/lib/delivery/delivery_test.c
index b879689..ca40b00 100644
--- a/src/lib/delivery/delivery_test.c
+++ b/src/lib/delivery/delivery_test.c
@@ -51,14 +51,31 @@ struct Test *test_init() {
void test_free(struct Test **x) {
struct Test *test = *x;
+ if (!test) {
+ return;
+ }
+ guard_free(test->name);
+ guard_free(test->version);
+ guard_free(test->repository);
+ guard_free(test->repository_info_ref);
+ guard_free(test->repository_info_tag);
+ guard_strlist_free(&test->repository_remove_tags);
+ guard_free(test->script);
+ guard_free(test->script_setup);
+ guard_free(test->build_recipe);
+ // test-specific runtime variables
+ guard_runtime_free(test->runtime->environ);
+ guard_free(test->runtime);
guard_free(test);
}
void tests_free(struct Tests **x) {
- for (size_t i = 0; i < (*x)->num_alloc; i++) {
- test_free(&(*x)->test[i]);
+ struct Tests *tests = *x;
+ for (size_t i = 0; i < tests->num_alloc; i++) {
+ test_free(&tests->test[i]);
}
- guard_free((*x)->test);
+ guard_free(tests->test);
+ guard_free(tests);
}
void delivery_tests_run(struct Delivery *ctx) {