diff options
Diffstat (limited to 'fw')
| -rw-r--r-- | fw/.gitignore | 1 | ||||
| -rw-r--r-- | fw/Makefile | 55 | ||||
| -rw-r--r-- | fw/tests/unit/types_utests.c | 63 | ||||
| -rw-r--r-- | fw/tests/unit/types_utests.h | 5 |
4 files changed, 109 insertions, 15 deletions
diff --git a/fw/.gitignore b/fw/.gitignore index b228a86..ac9ee01 100644 --- a/fw/.gitignore +++ b/fw/.gitignore @@ -10,3 +10,4 @@ *.s *.sdb *.sym +*_utests diff --git a/fw/Makefile b/fw/Makefile index 12bb693..1c0fb95 100644 --- a/fw/Makefile +++ b/fw/Makefile @@ -1,38 +1,63 @@ CC = xc8-cc -INCLUDES = -I ./ -CFLAGS = -mcpu=pic16f1459 -std=c99 $(INCLUDES) -Wall +INCLUDES = -I. +CFLAGS = -mcpu=pic16f1459 -std=c99 -Wall $(INCLUDES) LDFLAGS = -SYSTEST_DIR = tests/system - HEX = can_gauge.hex - SRC = $(shell find . -maxdepth 1 -name "*.c" ! -name "main.c") - OBJ = $(notdir $(SRC:.c=.p1)) HDR = $(wildcard *.h) -SYSTEST_SRC = $(wildcard $(SYSTEST_DIR)/*.c) -SYSTEST_OBJ = $(notdir $(SYSTEST_SRC:.c=.p1)) -SYSTEST_HEX = $(SYSTEST_OBJ:.p1=.hex) - $(HEX): $(OBJ) main.p1 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ %.p1: %.c $(CC) $(CFLAGS) -c $< +$(OBJ): $(HDR) + + +SYSTEST_DIR = tests/system +SYSTEST_SRC = $(wildcard $(SYSTEST_DIR)/*.c) +SYSTEST_OBJ = $(notdir $(SYSTEST_SRC:.c=.p1)) +SYSTEST_HEX = $(SYSTEST_OBJ:.p1=.hex) + $(SYSTEST_HEX): %.hex: %.p1 $(OBJ) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(SYSTEST_OBJ): %.p1: $(SYSTEST_DIR)/%.c $(CC) $(CFLAGS) -c $< -clean: - rm -f *.hex *.d *.p1 *.lst *.rlf *.o *.s *.sdb *.sym *.hxl *.elf *.cmf - systest: $(SYSTEST_HEX) -$(OBJ): $(HDR) -.PHONY: clean systest +UTEST_DIR = tests/unit +UNITY_DIR = $(UTEST_DIR)/Unity/src +UTEST_CC = tcc +UTEST_INCLUDES = -I. -I $(UNITY_DIR) +UTEST_CFLAGS = -std=c99 -Wall $(UTEST_INCLUDES) +UTEST_LDFLAGS = +UTEST_BIN = $(basename $(wildcard $(UTEST_DIR)/*.c)) +UTEST_SRC = $(wildcard $(UTEST_DIR)/*.c) $(UNITY_DIR)/unity.c +UTEST_OBJ = $(UTEST_SRC:.c=.o) +UTEST_HDR = $(wildcard $(UTEST_DIR)/*.h) $(UNITY_DIR)/unity.h + +utest: $(UTEST_BIN) + for t in $^; do \ + $$t; \ + done + +$(UTEST_BIN): $(UTEST_OBJ) + $(UTEST_CC) $(UTEST_CFLAGS) $(UTEST_LDFLAGS) -o $@ $^ + +$(UTEST_OBJ): %.o: %.c + $(UTEST_CC) -c -o $@ $(UTEST_CFLAGS) $< + +$(UTEST_OBJ): $(UTEST_HDR) + + +clean: + rm -f *.hex *.d *.p1 *.lst *.rlf *.o *.s *.sdb *.sym *.hxl *.elf *.cmf \ + $(UTEST_OBJ) $(UTEST_BIN) + +.PHONY: clean systest utest diff --git a/fw/tests/unit/types_utests.c b/fw/tests/unit/types_utests.c new file mode 100644 index 0000000..578a100 --- /dev/null +++ b/fw/tests/unit/types_utests.c @@ -0,0 +1,63 @@ +#include <stdbool.h> +#include <stdint.h> + +#include <unity.h> + +#include <types.h> + +void setUp(void) {} +void tearDown(void) {} + +void +testAddU16(void) { + setUp(); + // TODO + TEST_ASSERT(false); + tearDown(); +} + +void +testAddU16U8(void) { + setUp(); + // TODO + TEST_ASSERT(false); + tearDown(); +} + +void +testLshiftU16(void) { + setUp(); + // TODO + TEST_ASSERT(false); + tearDown(); +} + +void +testRshiftU16(void) { + setUp(); + // TODO + TEST_ASSERT(false); + tearDown(); +} + +void +testCmpU16(void) { + setUp(); + // TODO + TEST_ASSERT(false); + tearDown(); +} + +int +main(void) { + UnityBegin(__FILE__); + + // Types + RUN_TEST(testAddU16); + RUN_TEST(testAddU16U8); + RUN_TEST(testLshiftU16); + RUN_TEST(testRshiftU16); + RUN_TEST(testCmpU16); + + return UnityEnd(); +} diff --git a/fw/tests/unit/types_utests.h b/fw/tests/unit/types_utests.h new file mode 100644 index 0000000..1923727 --- /dev/null +++ b/fw/tests/unit/types_utests.h @@ -0,0 +1,5 @@ +testAddU16(void); +testAddU16U8(void); +testLshiftU16(void); +testRshiftU16(void); +testCmpU16(void); |