Setup basic structure for test runner
This commit is contained in:
parent
6c046b77bc
commit
48c8e7f92c
4 changed files with 78 additions and 8 deletions
28
Makefile
28
Makefile
|
@ -1,7 +1,13 @@
|
|||
CFLAGS ?= -Wall -Wextra -g -O1 -fpic
|
||||
LDFLAGS ?= -g -O1 -shared
|
||||
CFLAGS ?= -Wall -Wextra -g -O1
|
||||
LDFLAGS ?= -g -O1
|
||||
LIB_CFLAGS ?= -fpic
|
||||
LIB_LDFLAGS ?= -shared
|
||||
GARGOYLE_OBJS := gargoyle sleuth twine scribe
|
||||
|
||||
# temporary until there are tests for all source files
|
||||
|
||||
GARGOYLE_TEST_OBJS := runner twine
|
||||
|
||||
.PHONY: all gargoyle init docs test clean
|
||||
|
||||
all: gargoyle
|
||||
|
@ -11,19 +17,25 @@ gargoyle: bin/libgargoyle.so
|
|||
init: bin
|
||||
|
||||
bin:
|
||||
mkdir -p -- bin
|
||||
mkdir -p -- bin/test
|
||||
|
||||
bin/libgargoyle.so: $(addprefix bin/,$(addsuffix .o,$(GARGOYLE_OBJS)))
|
||||
cc $(LDFLAGS) -o $@ $^
|
||||
cc $(LDFLAGS) $(LIB_LDFLAGS) -o $@ $^
|
||||
|
||||
bin/%.o: src/%.c | init
|
||||
cc $(CFLAGS) -std=c99 -I include -c -o $@ $<
|
||||
cc $(CFLAGS) $(LIB_CFLAGS) -std=c99 -I include -c -o $@ $<
|
||||
|
||||
docs:
|
||||
@printf "not implemented yet.\n" >&2
|
||||
|
||||
test:
|
||||
@printf "not implemented yet.\n" >&2
|
||||
test: bin/libgargoyle.so bin/gargoyle
|
||||
|
||||
bin/gargoyle: $(addprefix bin/test/,$(addsuffix .o,$(GARGOYLE_TEST_OBJS)))
|
||||
cc $(LDFLAGS) -L bin -o $@ $^ -l gargoyle -l cunit
|
||||
bin/gargoyle
|
||||
|
||||
bin/test/%.o: test/%.c | init
|
||||
cc $(CFLAGS) -std=c99 -I include -c -o $@ $<
|
||||
|
||||
clean:
|
||||
rm -rf -- bin/*
|
||||
rm -rf -- bin
|
||||
|
|
8
include/gargoyle/test/twine.h
Normal file
8
include/gargoyle/test/twine.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#ifndef GARGOYLE_TEST_TWINE_H_
|
||||
#define GARGOYLE_TEST_TWINE_H_
|
||||
|
||||
int init_suite_twine(void);
|
||||
int clean_suite_twine(void);
|
||||
void twine_test_is_sep(void);
|
||||
|
||||
#endif
|
32
test/runner.c
Normal file
32
test/runner.c
Normal file
|
@ -0,0 +1,32 @@
|
|||
#include <CUnit/Basic.h>
|
||||
#include <CUnit/TestDB.h>
|
||||
#include <gargoyle/test/twine.h>
|
||||
|
||||
int main() {
|
||||
if(CU_initialize_registry() != CUE_SUCCESS) {
|
||||
return CU_get_error();
|
||||
}
|
||||
|
||||
CU_TestInfo twine_tests[] = {
|
||||
{ "is_sep", twine_test_is_sep },
|
||||
CU_TEST_INFO_NULL,
|
||||
};
|
||||
|
||||
CU_SuiteInfo suites[] = {
|
||||
// { "gargoyle", init_suite_gargoyle, clean_suite_gargoyle, NULL, NULL, gargoyle_tests },
|
||||
// { "scribe", init_suite_scribe, clean_suite_scribe, NULL, NULL, scribe_tests },
|
||||
// { "sleuth", init_suite_sleuth, clean_suite_sleuth, NULL, NULL, sleuth_tests },
|
||||
{ "twine", init_suite_twine, clean_suite_twine, NULL, NULL, twine_tests },
|
||||
CU_SUITE_INFO_NULL,
|
||||
};
|
||||
|
||||
if(CU_register_suites(suites) != CUE_SUCCESS) {
|
||||
CU_cleanup_registry();
|
||||
return CU_get_error();
|
||||
}
|
||||
|
||||
CU_basic_set_mode(CU_BRM_VERBOSE);
|
||||
CU_basic_run_tests();
|
||||
CU_cleanup_registry();
|
||||
return CU_get_error();
|
||||
}
|
18
test/twine.c
Normal file
18
test/twine.c
Normal file
|
@ -0,0 +1,18 @@
|
|||
#include <CUnit/Basic.h>
|
||||
#include <gargoyle/test/twine.h>
|
||||
#include <gargoyle/twine.h>
|
||||
|
||||
int init_suite_twine(void) {
|
||||
return CUE_SUCCESS;
|
||||
}
|
||||
|
||||
int clean_suite_twine(void) {
|
||||
return CUE_SUCCESS;
|
||||
}
|
||||
|
||||
void twine_test_is_sep(void) {
|
||||
CU_ASSERT_TRUE(is_sep('-'));
|
||||
CU_ASSERT_TRUE(is_sep('_'));
|
||||
CU_ASSERT_FALSE(is_sep('*'));
|
||||
CU_ASSERT_FALSE(is_sep('u'));
|
||||
}
|
Loading…
Reference in a new issue