mirror of https://github.com/YosysHQ/yosys.git
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
|
@ -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
Makefile
14
Makefile
|
@ -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…
Reference in New Issue