#include #include #include #include #include "log.h" /* Test(log, stream) */ /* * This test works for both log_stream() and log_open(). */ Test(log, open) { log_open(stdin); cr_assert_eq(log_stream(), stdin); log_open(stdout); cr_assert_eq(log_stream(), stdout); } Test(log, close) { FILE *fp; fp = fopen("/tmp/test.log.txt", "w"); log_open(fp); cr_assert_eq(log_close(), 0); } Test(log, write) { char message[] = "we write the logs"; char message_buffer[128]; FILE *fp; int message_length; message_length = strlen(message); log_open(NULL); log_write(0, message); log_close(); fp = fopen(LOG_FILENAME, "r"); cr_assert_neq(fp, NULL, "Unable to open " LOG_FILENAME); fread(message_buffer, sizeof(char), sizeof(message), fp); message_buffer[message_length] = '\0'; cr_assert_str_eq(message_buffer, message, "log_write() did not write correct data ([%s], [%s])", message_buffer, message); fclose(fp); unlink(LOG_FILENAME); }