From e0152319f5ed6d99eb38bf6da40157a60fd48e04 Mon Sep 17 00:00:00 2001 From: rodrigosiqueira Date: Sun, 4 Dec 2016 11:28:25 -0200 Subject: Added required structure to implement unit tests Added modifications inside the main Makefile to refers the unit test Makefile. Added separated Makefile only for compiling unit tests. Added simple example of unit test. Signed-off-by: Charles Oliveira <18oliveira.charles@gmail.com> Signed-off-by: Pablo Alejandro Signed-off-by: Rodrigo Siqueira --- tests/unit/Makefile | 28 ++++++++++++++++++++++++++++ tests/unit/kernel/logTest.cc | 14 ++++++++++++++ tests/unit/kernel/rtlilTest.cc | 14 ++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 tests/unit/Makefile create mode 100644 tests/unit/kernel/logTest.cc create mode 100644 tests/unit/kernel/rtlilTest.cc (limited to 'tests') diff --git a/tests/unit/Makefile b/tests/unit/Makefile new file mode 100644 index 000000000..16f65ec20 --- /dev/null +++ b/tests/unit/Makefile @@ -0,0 +1,28 @@ +GTESTFLAG := -lgtest -lgtest_main +RPATH := -Wl,-rpath +EXTRAFLAGS := -lyosys + +ALLTESTFILE := $(wildcard ./**/*Test.cc) +OBJTEST := objtest +BINTEST := bintest + +all: prepare $(ALLTESTFILE:%Test.cc=%Test.o) + +%Test.o: %Test.cc + $(CXX) -o $(OBJTEST)/$(notdir $@) -c -I$(ROOTPATH) $(CPPFLAGS) $(CXXFLAGS) $< + $(CXX) -L$(ROOTPATH) $(RPATH)=$(ROOTPATH) -o \ + $(BINTEST)/$(basename $(notdir $@)) $(OBJTEST)/$(notdir $@) $(LDLIBS) \ + $(GTESTFLAG) $(EXTRAFLAGS) + +.PHONY: prepare run-tests clean + +run-tests: + $(CURDIR)/$(BINTEST)/* + +prepare: + mkdir -p $(OBJTEST) + mkdir -p $(BINTEST) + +clean: + rm -rf $(OBJTEST) + rm -rf $(BINTEST) diff --git a/tests/unit/kernel/logTest.cc b/tests/unit/kernel/logTest.cc new file mode 100644 index 000000000..62b4f3b98 --- /dev/null +++ b/tests/unit/kernel/logTest.cc @@ -0,0 +1,14 @@ +#include + +#include "kernel/yosys.h" +#include "kernel/log.h" + +YOSYS_NAMESPACE_BEGIN + +TEST(KernelLogTest, logvValidValues) +{ + //TODO: Implement log test + EXPECT_EQ(7, 7); +} + +YOSYS_NAMESPACE_END diff --git a/tests/unit/kernel/rtlilTest.cc b/tests/unit/kernel/rtlilTest.cc new file mode 100644 index 000000000..d9eeed555 --- /dev/null +++ b/tests/unit/kernel/rtlilTest.cc @@ -0,0 +1,14 @@ +#include + +#include "kernel/yosys.h" +#include "kernel/rtlil.h" + +YOSYS_NAMESPACE_BEGIN + +TEST(KernelRtlilTest, getReferenceValid) +{ + //TODO: Implement rtlil test + EXPECT_EQ(33, 33); +} + +YOSYS_NAMESPACE_END -- cgit v1.2.3 From b932e2355de3d2d3b7a61fe86d11265ba02aba2a Mon Sep 17 00:00:00 2001 From: rodrigosiqueira Date: Sat, 10 Dec 2016 18:21:56 -0200 Subject: Improved unit test structure Signed-off-by: rodrigosiqueira Signed-off-by: chaws <18oliveira.charles@gmail.com> * Merged run-all-unitest inside unit-test target * Fixed Makefile dependencies * Updated documentation about unit test --- tests/unit/Makefile | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'tests') diff --git a/tests/unit/Makefile b/tests/unit/Makefile index 16f65ec20..447a5f619 100644 --- a/tests/unit/Makefile +++ b/tests/unit/Makefile @@ -2,26 +2,33 @@ GTESTFLAG := -lgtest -lgtest_main RPATH := -Wl,-rpath EXTRAFLAGS := -lyosys -ALLTESTFILE := $(wildcard ./**/*Test.cc) OBJTEST := objtest BINTEST := bintest -all: prepare $(ALLTESTFILE:%Test.cc=%Test.o) +ALLTESTFILE := $(shell find -name '*Test.cc' -printf '%P ') +TESTDIRS := $(sort $(dir $(ALLTESTFILE))) +TESTS := $(addprefix $(BINTEST)/, $(basename $(ALLTESTFILE:%Test.cc=%Test.o))) -%Test.o: %Test.cc - $(CXX) -o $(OBJTEST)/$(notdir $@) -c -I$(ROOTPATH) $(CPPFLAGS) $(CXXFLAGS) $< - $(CXX) -L$(ROOTPATH) $(RPATH)=$(ROOTPATH) -o \ - $(BINTEST)/$(basename $(notdir $@)) $(OBJTEST)/$(notdir $@) $(LDLIBS) \ +# Prevent make from removing our .o files +.SECONDARY: + +all: prepare $(TESTS) run-tests + +$(BINTEST)/%: $(OBJTEST)/%.o + $(CXX) -L$(ROOTPATH) $(RPATH)=$(ROOTPATH) -o $@ $^ $(LDLIBS) \ $(GTESTFLAG) $(EXTRAFLAGS) - + +$(OBJTEST)/%.o: $(basename $(subst $(OBJTEST),.,%)).cc + $(CXX) -o $@ -c -I$(ROOTPATH) $(CPPFLAGS) $(CXXFLAGS) $^ + .PHONY: prepare run-tests clean -run-tests: - $(CURDIR)/$(BINTEST)/* +run-tests: $(TESTS) + $(subst Test ,Test; ,$^) prepare: - mkdir -p $(OBJTEST) - mkdir -p $(BINTEST) + mkdir -p $(addprefix $(BINTEST)/,$(TESTDIRS)) + mkdir -p $(addprefix $(OBJTEST)/,$(TESTDIRS)) clean: rm -rf $(OBJTEST) -- cgit v1.2.3 From 5c96982522779fef5b63bcc16297e6633dafff03 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Sun, 11 Dec 2016 10:58:49 +0100 Subject: Build hotfix in tests/unit/Makefile --- tests/unit/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/unit/Makefile b/tests/unit/Makefile index 447a5f619..9f1e5c99e 100644 --- a/tests/unit/Makefile +++ b/tests/unit/Makefile @@ -1,6 +1,6 @@ GTESTFLAG := -lgtest -lgtest_main RPATH := -Wl,-rpath -EXTRAFLAGS := -lyosys +EXTRAFLAGS := -lyosys -pthreads OBJTEST := objtest BINTEST := bintest -- cgit v1.2.3