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 <[email protected]>
Signed-off-by: Pablo Alejandro <[email protected]>
Signed-off-by: Rodrigo Siqueira <[email protected]>
This commit is contained in:
rodrigosiqueira
2016-12-04 11:34:27 -02:00
parent a44cc7a3d1
commit e0152319f5
5 changed files with 73 additions and 0 deletions
+3
View File
@@ -1,6 +1,7 @@
*.o
*.d
.*.swp
*.gch
/.cproject
/.project
/.settings
@@ -27,3 +28,5 @@
/yosys-win32-vcxsrc-*
/yosysjs-*
/libyosys.so
/tests/unit/bintest/
/tests/unit/objtest/
+14
View File
@@ -45,6 +45,9 @@ TARGETS = yosys$(EXE) yosys-config
PRETTY = 1
SMALL = 0
# Unit test
UNITESTPATH := tests/unit
all: top-all
YOSYS_SRC := $(dir $(firstword $(MAKEFILE_LIST)))
@@ -447,6 +450,17 @@ vloghtb: $(TARGETS) $(EXTRA_TARGETS)
@echo " Passed \"make vloghtb\"."
@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_SUDO) mkdir -p $(DESTDIR)$(BINDIR)
$(INSTALL_SUDO) install $(TARGETS) $(DESTDIR)$(BINDIR)
+28
View 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
View 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
View 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