diff --git a/docs/source/yosys_internals/extending_yosys/test_suites.rst b/docs/source/yosys_internals/extending_yosys/test_suites.rst index 2342c505d..e8b6634bc 100644 --- a/docs/source/yosys_internals/extending_yosys/test_suites.rst +++ b/docs/source/yosys_internals/extending_yosys/test_suites.rst @@ -164,6 +164,9 @@ compiler versions. For up to date information, including OS versions, refer to test for ``kernel/celledges.cc``, you will need to create a file like this: ``tests/unit/kernel/celledgesTest.cc``; * Implement your unit test + * Add unit test to file list in `CMakeLists.txt` + In case unit tests are added to new directory, note that you need also to + create new `CmakeList.txt` file and add ``yosys_gtest(dir-name unit-test.cc)``` Run unit tests ~~~~~~~~~~~~~~ @@ -172,10 +175,5 @@ compiler versions. For up to date information, including OS versions, refer to .. code-block:: console - make unit-test + cmake --build build --target test-unit - If you want to remove all unit test files, type: - - .. code-block:: console - - make clean-unit-test diff --git a/tests/unit/Makefile b/tests/unit/Makefile deleted file mode 100644 index 88f449bf8..000000000 --- a/tests/unit/Makefile +++ /dev/null @@ -1,62 +0,0 @@ -UNAME_S := $(shell uname -s) - -# GoogleTest flags -GTEST_PREFIX := $(shell brew --prefix googletest 2>/dev/null) -ifeq ($(GTEST_PREFIX),) - GTEST_CXXFLAGS := - GTEST_LDFLAGS := -lgtest -lgmock -lgtest_main -else - GTEST_CXXFLAGS := -I$(GTEST_PREFIX)/include - GTEST_LDFLAGS := -L$(GTEST_PREFIX)/lib -lgtest -lgmock -lgtest_main -endif - -ifeq ($(UNAME_S),Darwin) - RPATH = -Wl,-rpath,$(ROOTPATH) -else - RPATH = -Wl,-rpath=$(ROOTPATH) -endif - -EXTRAFLAGS := -lyosys -pthread - -MAKEFILE_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) -OBJTEST := $(MAKEFILE_DIR)objtest -BINTEST := $(MAKEFILE_DIR)bintest - -ALLTESTFILE := $(shell cd $(MAKEFILE_DIR) && find . -name '*Test.cc' | sed 's|^\./||' | tr '\n' ' ') -TESTDIRS := $(sort $(dir $(ALLTESTFILE))) -TESTS := $(addprefix $(BINTEST)/, $(basename $(ALLTESTFILE:%Test.cc=%Test.o))) - -# Prevent make from removing our .o files -.SECONDARY: - -all: prepare $(TESTS) run-tests - -$(BINTEST)/%: $(OBJTEST)/%.o | prepare - $(CXX) -L$(ROOTPATH) $(RPATH) $(LINKFLAGS) -o $@ $^ $(LIBS) \ - $(GTEST_LDFLAGS) $(EXTRAFLAGS) - -$(OBJTEST)/%.o: $(MAKEFILE_DIR)/%.cc | prepare - $(CXX) -o $@ -c -I$(ROOTPATH) $(CPPFLAGS) $(CXXFLAGS) $(GTEST_CXXFLAGS) $^ - -.PHONY: prepare run-tests clean - -run-tests: $(TESTS) -ifeq ($(UNAME_S),Darwin) - @for t in $^; do \ - echo "Running $$t"; \ - DYLD_LIBRARY_PATH=$(ROOTPATH) $$t || exit 1; \ - done -else - @for t in $^; do \ - echo "Running $$t"; \ - $$t || exit 1; \ - done -endif - -prepare: - mkdir -p $(addprefix $(BINTEST)/,$(TESTDIRS)) - mkdir -p $(addprefix $(OBJTEST)/,$(TESTDIRS)) - -clean: - rm -rf $(OBJTEST) - rm -rf $(BINTEST)