forked from vieter-v/libvieter
Compare commits
2 Commits
c7d2db4e42
...
07f793d768
Author | SHA1 | Date |
---|---|---|
Jef Roosens | 07f793d768 | |
Jef Roosens | ec6e217801 |
6
Makefile
6
Makefile
|
@ -98,5 +98,11 @@ clean:
|
|||
rm -rf $(BUILD_DIR)
|
||||
|
||||
|
||||
.PHONY: bear
|
||||
bear: clean
|
||||
bear -- make
|
||||
bear --append -- make build-test
|
||||
|
||||
|
||||
# Make make aware of the .d files
|
||||
-include $(DEPS)
|
||||
|
|
|
@ -38,7 +38,7 @@ typedef struct vieter_job_failure_report {
|
|||
|
||||
vieter_job_failure_report *vieter_job_failure_report_init();
|
||||
|
||||
void vieter_job_failure_report_free(vieter_job_failure_report **ptp);
|
||||
void vieter_job_failure_report_free(vieter_job_failure_report *report);
|
||||
|
||||
/*
|
||||
* Represents a job currently being processed in the system. A job migrates
|
||||
|
@ -62,7 +62,7 @@ typedef struct vieter_job {
|
|||
*/
|
||||
vieter_job *vieter_job_init();
|
||||
|
||||
void vieter_job_free(vieter_job **ptp);
|
||||
void vieter_job_free(vieter_job *job);
|
||||
|
||||
/*
|
||||
* Represents the actual queue managing the list of jobs.
|
||||
|
@ -87,7 +87,7 @@ vieter_job_queue *vieter_job_queue_init();
|
|||
/*
|
||||
* Free a job queue.
|
||||
*/
|
||||
void vieter_job_queue_free(vieter_job_queue **ptp);
|
||||
void vieter_job_queue_free(vieter_job_queue *queue);
|
||||
|
||||
/*
|
||||
* Insert the given job into the system.
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
#include "vieter_job_queue_internal.h"
|
||||
|
||||
vieter_job *vieter_job_init() { return calloc(1, sizeof(vieter_job)); }
|
||||
|
||||
void vieter_job_free(vieter_job *job) {
|
||||
if (job->schedule != NULL) {
|
||||
vieter_cron_expr_free(job->schedule);
|
||||
}
|
||||
|
||||
if (job->failure_report != NULL) {
|
||||
vieter_job_failure_report_free(job->failure_report);
|
||||
}
|
||||
|
||||
free(job);
|
||||
}
|
||||
|
||||
vieter_job_failure_report *vieter_job_failure_report_init() {
|
||||
return calloc(1, sizeof(vieter_job_failure_report));
|
||||
}
|
||||
|
||||
void vieter_job_failure_report_free(vieter_job_failure_report *report) {
|
||||
free(report->msg);
|
||||
free(report);
|
||||
}
|
|
@ -16,9 +16,7 @@ vieter_job_queue *vieter_job_queue_init() {
|
|||
return queue;
|
||||
}
|
||||
|
||||
void vieter_job_queue_free(vieter_job_queue **ptp) {
|
||||
vieter_job_queue *queue = *ptp;
|
||||
|
||||
void vieter_job_queue_free(vieter_job_queue *queue) {
|
||||
vieter_tree_free(queue->tree);
|
||||
|
||||
for (int i = 0; i < VIETER_JOB_STATES; i++) {
|
||||
|
@ -30,25 +28,6 @@ void vieter_job_queue_free(vieter_job_queue **ptp) {
|
|||
}
|
||||
|
||||
free(queue);
|
||||
*ptp = NULL;
|
||||
}
|
||||
|
||||
vieter_job *vieter_job_init() { return calloc(1, sizeof(vieter_job)); }
|
||||
|
||||
void vieter_job_free(vieter_job **ptp) {
|
||||
vieter_job *job = *ptp;
|
||||
|
||||
if (job->schedule != NULL) {
|
||||
vieter_cron_expr_free(job->schedule);
|
||||
}
|
||||
|
||||
if (job->failure_report != NULL) {
|
||||
vieter_job_failure_report_free(&job->failure_report);
|
||||
}
|
||||
|
||||
free(job);
|
||||
|
||||
*ptp = NULL;
|
||||
}
|
||||
|
||||
vieter_job_queue_error vieter_job_queue_insert(vieter_job_queue *queue,
|
||||
|
@ -160,10 +139,6 @@ vieter_job_queue_error vieter_job_queue_remove(vieter_job **out,
|
|||
return vieter_job_queue_ok;
|
||||
}
|
||||
|
||||
vieter_job_failure_report *vieter_job_failure_report_init() {
|
||||
return calloc(1, sizeof(vieter_job_failure_report));
|
||||
}
|
||||
|
||||
vieter_job_queue_error vieter_job_queue_fail(vieter_job_queue *queue,
|
||||
uint64_t id,
|
||||
char *report_message) {
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
#include "acutest.h"
|
||||
#include "vieter_cat_heap_internal.h"
|
||||
|
||||
#define TEST_SIZE(cheap, size) \
|
||||
TEST_CHECK(vieter_cat_heap_size(cheap) == size); \
|
||||
TEST_MSG("Size: %zu, expected: %lu", vieter_cat_heap_size(cheap), (uint64_t)size)
|
||||
|
||||
void test_init() {
|
||||
vieter_cat_heap *cheap = vieter_cat_heap_init();
|
||||
TEST_CHECK(cheap != NULL);
|
||||
TEST_SIZE(cheap, 0);
|
||||
vieter_cat_heap_free(cheap);
|
||||
}
|
||||
|
||||
void test_insert() {
|
||||
vieter_cat_heap *cheap = vieter_cat_heap_init();
|
||||
TEST_SIZE(cheap, 0);
|
||||
|
||||
void *data;
|
||||
|
||||
for (uint64_t i = 50; i > 0; i--) {
|
||||
vieter_cat_heap_insert(cheap, "cat1", i, (void *)i);
|
||||
TEST_SIZE(cheap, (uint64_t)51 - i);
|
||||
|
||||
data = 0;
|
||||
|
||||
TEST_CHECK(vieter_cat_heap_peek(&data, cheap, "cat1") == vieter_cat_heap_ok);
|
||||
TEST_CHECK_(data == (void *)i, "%lX == %lX", (uint64_t)data, i);
|
||||
}
|
||||
|
||||
for (uint64_t i = 50; i > 0; i--) {
|
||||
vieter_cat_heap_insert(cheap, "cat2", i, (void *)i);
|
||||
TEST_SIZE(cheap, (uint64_t)101 - i);
|
||||
|
||||
data = 0;
|
||||
|
||||
TEST_CHECK(vieter_cat_heap_peek(&data, cheap, "cat2") == vieter_cat_heap_ok);
|
||||
TEST_CHECK_(data == (void *)i, "%lX == %lX", (uint64_t)data, i);
|
||||
}
|
||||
|
||||
vieter_cat_heap_free(cheap);
|
||||
}
|
||||
|
||||
|
||||
TEST_LIST = {
|
||||
{"cat heap init", test_init},
|
||||
{"cat heap insert", test_insert},
|
||||
/* {"heap insert random", test_insert_random}, */
|
||||
/* {"heap pop", test_pop}, */
|
||||
/* {"heap pop random", test_pop_random}, */
|
||||
{NULL, NULL}
|
||||
};
|
Loading…
Reference in New Issue