include_directories(libs/spandisc/src)
message(STATUS "Include subproject spandisc: libs/spandisc")
add_subdirectory(libs/spandisc/src)
+add_subdirectory(libs/spandisc/tests)
# create target from source
file(GLOB SOURCES src/*.c)
--- /dev/null
+cmake_minimum_required(VERSION 3.13.4)
+
+project(spandisc-tests)
+
+find_package(CMOCKA REQUIRED)
+message(STATUS "find cmocka: ${CMOCKA_LIBRARIES}")
+
+add_executable(splitter-test
+ splitter-test.c)
+target_link_libraries(splitter-test
+ ${CMOCKA_LIBRARIES}
+ spandisc
+ m)
+
+add_custom_target(run-splitter-test
+ ALL ./splitter-test
+ DEPENDS splitter-test)
\ No newline at end of file
--- /dev/null
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <setjmp.h>
+#include <cmocka.h>
+#include <stdbool.h>
+#include <stdlib.h>
+
+#include "../src/splitter.h"
+
+void ignore_media_tests()
+{
+ medium_t* srcdata = init_medium();
+ srcdata->freespace = 500;
+ srcdata->filearray = malloc(sizeof(file_size_t*));
+ *srcdata->filearray = malloc(sizeof(file_size_t));
+ srcdata->filearray[0]->name = "too-big-file";
+ srcdata->filearray[0]->fsize = 600;
+ srcdata->length = 1;
+
+ medium_t* ignore_medium = ignore(srcdata);
+
+ assert_string_equal(ignore_medium->filearray[0]->name, "too-big-file");
+ assert_int_equal(ignore_medium->length, 1);
+
+ free_medium(srcdata);
+ free(ignore_medium->filearray[0]);
+ ignore_medium->filearray[0] = NULL;
+ free_medium(ignore_medium);
+}
+
+int main()
+{
+ const struct CMUnitTest tests[] = {
+ cmocka_unit_test(ignore_media_tests)
+ };
+
+ return cmocka_run_group_tests(tests, NULL, NULL);
+}
\ No newline at end of file