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>
master
rodrigosiqueira 7 years ago
parent a44cc7a3d1
commit e0152319f5

3
.gitignore vendored

@ -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/

@ -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)

@ -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)

@ -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

@ -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…
Cancel
Save