aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit
diff options
context:
space:
mode:
authorrodrigosiqueira <rodrigosiqueiramelo@gmail.com>2016-12-10 18:21:56 -0200
committerrodrigosiqueira <rodrigosiqueiramelo@gmail.com>2016-12-10 18:21:56 -0200
commitb932e2355de3d2d3b7a61fe86d11265ba02aba2a (patch)
tree19cab30a9f907e3d84b49b1e853ea9dc699b1f06 /tests/unit
parent3f2f64f41475550527a5621f57d0b0d2b30ee179 (diff)
downloadyosys-b932e2355de3d2d3b7a61fe86d11265ba02aba2a.tar.gz
yosys-b932e2355de3d2d3b7a61fe86d11265ba02aba2a.tar.bz2
yosys-b932e2355de3d2d3b7a61fe86d11265ba02aba2a.zip
Improved unit test structure
Signed-off-by: rodrigosiqueira <rodrigosiqueiramelo@gmail.com> Signed-off-by: chaws <18oliveira.charles@gmail.com> * Merged run-all-unitest inside unit-test target * Fixed Makefile dependencies * Updated documentation about unit test
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/Makefile29
1 files changed, 18 insertions, 11 deletions
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)