diff options
| author | Joseph Hunkeler <jhunkeler@gmail.com> | 2026-04-08 19:58:52 -0400 |
|---|---|---|
| committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2026-04-08 19:58:52 -0400 |
| commit | 38010fc9eea2d914de8f3058979baace3f1d1e80 (patch) | |
| tree | 6fa94066050f39a6836df42ad8ec6bbf28cb72df | |
| parent | 0268551a0c9b1e6cba422efa88f36cb8e663bd82 (diff) | |
| download | stasis-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.c | 20 | ||||
| -rw-r--r-- | src/lib/delivery/delivery_test.c | 23 |
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) { |
