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 <pabloabur@usp.br> Signed-off-by: Rodrigo Siqueira <siqueira@ime.usp.br>
This commit is contained in:
parent
a44cc7a3d1
commit
e0152319f5
5 changed files with 73 additions and 0 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,6 +1,7 @@
|
||||||
*.o
|
*.o
|
||||||
*.d
|
*.d
|
||||||
.*.swp
|
.*.swp
|
||||||
|
*.gch
|
||||||
/.cproject
|
/.cproject
|
||||||
/.project
|
/.project
|
||||||
/.settings
|
/.settings
|
||||||
|
@ -27,3 +28,5 @@
|
||||||
/yosys-win32-vcxsrc-*
|
/yosys-win32-vcxsrc-*
|
||||||
/yosysjs-*
|
/yosysjs-*
|
||||||
/libyosys.so
|
/libyosys.so
|
||||||
|
/tests/unit/bintest/
|
||||||
|
/tests/unit/objtest/
|
||||||
|
|
14
Makefile
14
Makefile
|
@ -45,6 +45,9 @@ TARGETS = yosys$(EXE) yosys-config
|
||||||
PRETTY = 1
|
PRETTY = 1
|
||||||
SMALL = 0
|
SMALL = 0
|
||||||
|
|
||||||
|
# Unit test
|
||||||
|
UNITESTPATH := tests/unit
|
||||||
|
|
||||||
all: top-all
|
all: top-all
|
||||||
|
|
||||||
YOSYS_SRC := $(dir $(firstword $(MAKEFILE_LIST)))
|
YOSYS_SRC := $(dir $(firstword $(MAKEFILE_LIST)))
|
||||||
|
@ -447,6 +450,17 @@ vloghtb: $(TARGETS) $(EXTRA_TARGETS)
|
||||||
@echo " Passed \"make vloghtb\"."
|
@echo " Passed \"make vloghtb\"."
|
||||||
@echo ""
|
@echo ""
|
||||||
|
|
||||||
|
# Unit test
|
||||||
|
unit-test: libyosys.so
|
||||||
|
@$(MAKE) -C $(UNITESTPATH) CXX="$(CXX)" CPPFLAGS="$(CPPFLAGS)" \
|
||||||
|
CXXFLAGS="$(CXXFLAGS)" LDLIBS="$(LDLIBS)" ROOTPATH="$(CURDIR)"
|
||||||
|
|
||||||
|
run-all-unitest:
|
||||||
|
@$(MAKE) -C $(UNITESTPATH) run-tests
|
||||||
|
|
||||||
|
clean-unit-test:
|
||||||
|
@$(MAKE) -C $(UNITESTPATH) clean
|
||||||
|
|
||||||
install: $(TARGETS) $(EXTRA_TARGETS)
|
install: $(TARGETS) $(EXTRA_TARGETS)
|
||||||
$(INSTALL_SUDO) mkdir -p $(DESTDIR)$(BINDIR)
|
$(INSTALL_SUDO) mkdir -p $(DESTDIR)$(BINDIR)
|
||||||
$(INSTALL_SUDO) install $(TARGETS) $(DESTDIR)$(BINDIR)
|
$(INSTALL_SUDO) install $(TARGETS) $(DESTDIR)$(BINDIR)
|
||||||
|
|
28
tests/unit/Makefile
Normal file
28
tests/unit/Makefile
Normal file
|
@ -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)
|
14
tests/unit/kernel/logTest.cc
Normal file
14
tests/unit/kernel/logTest.cc
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
|
#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
|
14
tests/unit/kernel/rtlilTest.cc
Normal file
14
tests/unit/kernel/rtlilTest.cc
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
|
#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
|
Loading…
Add table
Reference in a new issue