mirror of
https://github.com/YosysHQ/yosys.git
synced 2026-10-06 10:03:36 +02:00
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:
@@ -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
|
||||
Reference in New Issue
Block a user