mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-12 17:06:15 +00:00
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
This commit is contained in:
parent
3f2f64f414
commit
b932e2355d
3 changed files with 20 additions and 16 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue