tests: move vapi C/C++ test files into src/
Type: improvement Change-Id: Iaad004661db1e9076e6c27227878f1612fa7289f Signed-off-by: Damjan Marion <damarion@cisco.com> Signed-off-by: Klement Sekera <ksekera@cisco.com>
This commit is contained in:

committed by
Damjan Marion

parent
6621abf49a
commit
a2d6d352c6
@@ -14,6 +14,7 @@
|
||||
include_directories (
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/..
|
||||
${CMAKE_CURRENT_BINARY_DIR}/..
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
add_vpp_library(vapiclient
|
||||
@@ -58,3 +59,51 @@ install(
|
||||
DESTINATION ${VPP_RUNTIME_DIR}
|
||||
COMPONENT vpp-dev
|
||||
)
|
||||
|
||||
vpp_find_path(SUBUNIT_INCLUDE_DIR NAMES subunit/child.h)
|
||||
vpp_find_library(SUBUNIT_LIB NAMES subunit)
|
||||
|
||||
if(SUBUNIT_INCLUDE_DIR AND SUBUNIT_LIB)
|
||||
message (STATUS "Found subunit in ${SUBUNIT_INCLUDE_DIR} and ${SUBUNIT_LIB}")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT fake.api.vapi.h
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/vapi_c_gen.py
|
||||
ARGS --remove-path ${CMAKE_CURRENT_SOURCE_DIR}/fake.api.json
|
||||
DEPENDS fake.api.json
|
||||
COMMENT "Generating fake VAPI C header ${output_name}"
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT fake.api.vapi.hpp
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/vapi_cpp_gen.py
|
||||
ARGS --remove-path ${CMAKE_CURRENT_SOURCE_DIR}/fake.api.json
|
||||
DEPENDS fake.api.json
|
||||
COMMENT "Generating fake VAPI C++ header ${output_name}"
|
||||
)
|
||||
|
||||
add_custom_target(fake_api_vapi_h DEPENDS fake.api.vapi.h)
|
||||
add_custom_target(fake_api_vapi_hpp DEPENDS fake.api.vapi.hpp)
|
||||
|
||||
set(libs vppinfra vlibmemoryclient svm pthread check rt m vapiclient ${SUBUNIT_LIB})
|
||||
|
||||
add_vpp_executable(vapi_c_test
|
||||
SOURCES
|
||||
vapi_c_test.c
|
||||
DEPENDS fake_api_vapi_h
|
||||
LINK_LIBRARIES ${libs}
|
||||
)
|
||||
|
||||
enable_language(CXX)
|
||||
add_vpp_executable(vapi_cpp_test
|
||||
SOURCES
|
||||
vapi_cpp_test.cpp
|
||||
DEPENDS fake_api_vapi_hpp
|
||||
LINK_LIBRARIES ${libs}
|
||||
)
|
||||
|
||||
else()
|
||||
message (WARNING "subunit library not found - vapi tests disabled")
|
||||
endif()
|
||||
|
@@ -194,10 +194,6 @@ sanity: test-dep
|
||||
echo \"*******************************************************************\" &&\
|
||||
false)"
|
||||
|
||||
.PHONY: ext-test-apps
|
||||
ext-test-apps:
|
||||
make -C ext test-apps
|
||||
|
||||
$(FAILED_DIR): reset
|
||||
@mkdir -p $@
|
||||
|
||||
@@ -205,7 +201,7 @@ $(FAILED_DIR): reset
|
||||
test-dep: $(PAPI_INSTALL_DONE) $(FAILED_DIR)
|
||||
|
||||
.PHONY: test
|
||||
test: test-dep ext-test-apps sanity
|
||||
test: test-dep sanity
|
||||
$(call retest-func)
|
||||
|
||||
.PHONY: retest
|
||||
|
@@ -1,60 +0,0 @@
|
||||
TEST_EXT_DIR=$(TEST_DIR)/ext
|
||||
VAPI_BINDIR = $(TEST_BR)/vapi_test
|
||||
VAPI_CBIN = $(addprefix $(VAPI_BINDIR), /vapi_c_test)
|
||||
VAPI_CPPBIN = $(addprefix $(VAPI_BINDIR), /vapi_cpp_test)
|
||||
|
||||
VAPI_LIBS = \
|
||||
-L$(VPP_INSTALL_PATH)/vpp/lib \
|
||||
-lvppinfra -lvlibmemoryclient -lsvm -lpthread -lcheck -lrt -lm -lvapiclient
|
||||
|
||||
ifneq ($(filter centos,$(OS_ID)),$(OS_ID))
|
||||
VAPI_LIBS += -lsubunit
|
||||
endif
|
||||
|
||||
FLAGS = -g -Wall -lstdc++ -pthread -I$(WS_ROOT)/src -I$(VPP_INSTALL_PATH)/vpp/include -I$(VAPI_BINDIR)
|
||||
CFLAGS = -std=gnu99 $(FLAGS)
|
||||
CPPFLAGS = -std=c++11 $(FLAGS)
|
||||
|
||||
$(VAPI_BINDIR):
|
||||
@mkdir -p $(VAPI_BINDIR)
|
||||
|
||||
CSRC = $(TEST_EXT_DIR)/vapi_c_test.c
|
||||
|
||||
$(VAPI_BINDIR)/fake.api.vapi.h: fake.api.json $(WS_ROOT)/src/vpp-api/vapi/vapi_c_gen.py | $(VAPI_BINDIR)
|
||||
$(WS_ROOT)/src/vpp-api/vapi/vapi_c_gen.py --prefix $(VAPI_BINDIR) $<
|
||||
|
||||
$(VAPI_BINDIR)/fake.api.vapi.hpp: fake.api.json $(WS_ROOT)/src/vpp-api/vapi/vapi_cpp_gen.py | $(VAPI_BINDIR)
|
||||
$(WS_ROOT)/src/vpp-api/vapi/vapi_cpp_gen.py --prefix $(VAPI_BINDIR) $<
|
||||
|
||||
$(VAPI_CBIN): $(CSRC) $(VAPI_BINDIR)/fake.api.vapi.h | $(VAPI_BINDIR)
|
||||
$(CC) -o $@ $(CFLAGS) $(CSRC) $(VAPI_LIBS)
|
||||
|
||||
$(VAPI_CBIN).d: $(CSRC) $(VAPI_BINDIR)/fake.api.vapi.h
|
||||
$(CC) -o $@ $(CFLAGS) -MM -MT '$(VAPI_CBIN)' $(CSRC) > $@
|
||||
|
||||
|
||||
ifeq ($(filter rhel centos,$(OS_ID)),$(OS_ID) AND $(OS_VERSION_ID),7)
|
||||
VAPI_CPPBIN=
|
||||
else
|
||||
CPPSRC = $(TEST_EXT_DIR)/vapi_cpp_test.cpp
|
||||
|
||||
$(VAPI_CPPBIN): $(CPPSRC) $(VAPI_BINDIR)/fake.api.vapi.hpp | $(VAPI_BINDIR)
|
||||
$(CXX) -o $@ $(CPPFLAGS) $(CPPSRC) $(VAPI_LIBS)
|
||||
|
||||
$(VAPI_CPPBIN).d: $(CPPSRC) $(VAPI_BINDIR)/fake.api.vapi.hpp
|
||||
$(CXX) -o $@ $(CPPFLAGS) -MM -MT '$(VAPI_CPPBIN)' $(CPPSRC) > $@
|
||||
endif
|
||||
|
||||
.PHONY: test-apps
|
||||
test-apps: $(VAPI_CBIN) $(VAPI_CPPBIN)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
@rm -rf $(VAPI_BINDIR)
|
||||
|
||||
ifneq ($(MAKECMDGOALS),clean)
|
||||
-include $(VAPI_CBIN).d
|
||||
ifneq ($(VAPI_CPPBIN),)
|
||||
-include $(VAPI_CPPBIN).d
|
||||
endif
|
||||
endif
|
@@ -20,11 +20,11 @@ class VAPITestCase(VppTestCase):
|
||||
|
||||
def test_vapi_c(self):
|
||||
""" run C VAPI tests """
|
||||
var = "TEST_BR"
|
||||
built_root = os.getenv(var, None)
|
||||
self.assertIsNotNone(built_root,
|
||||
var = "VPP_BUILD_DIR"
|
||||
build_dir = os.getenv(var, None)
|
||||
self.assertIsNotNone(build_dir,
|
||||
"Environment variable `%s' not set" % var)
|
||||
executable = "%s/vapi_test/vapi_c_test" % built_root
|
||||
executable = f"{build_dir}/vpp/bin/vapi_c_test"
|
||||
worker = Worker([executable, "vapi client",
|
||||
self.get_api_segment_prefix()], self.logger)
|
||||
worker.start()
|
||||
@@ -49,11 +49,11 @@ class VAPITestCase(VppTestCase):
|
||||
|
||||
def test_vapi_cpp(self):
|
||||
""" run C++ VAPI tests """
|
||||
var = "TEST_BR"
|
||||
built_root = os.getenv(var, None)
|
||||
self.assertIsNotNone(built_root,
|
||||
var = "VPP_BUILD_DIR"
|
||||
build_dir = os.getenv(var, None)
|
||||
self.assertIsNotNone(build_dir,
|
||||
"Environment variable `%s' not set" % var)
|
||||
executable = "%s/vapi_test/vapi_cpp_test" % built_root
|
||||
executable = f"{build_dir}/vpp/bin/vapi_cpp_test"
|
||||
worker = Worker([executable, "vapi client",
|
||||
self.get_api_segment_prefix()], self.logger)
|
||||
worker.start()
|
||||
|
Reference in New Issue
Block a user