Add CMake UnitTest in CI (#66)

Signed-off-by: xiang.zhang <xiang.zhang@verisilicon.com>
This commit is contained in:
Sven 2021-05-25 09:48:49 +08:00 committed by GitHub
parent d0dadbc0fb
commit eae539575c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 50 additions and 2 deletions

View File

@ -0,0 +1,38 @@
name: x86_vsim_unit_test
on:
# push:
# branches: [ main ]
pull_request:
branches: [ main ]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: execute-unit-test.x86.vsim
run: |
export LD_LIBRARY_PATH=`pwd`/prebuilt-sdk/x86_64_linux/lib
export VIVANTE_SDK_DIR=`pwd`/prebuilt-sdk/x86_64_linux/
cd ${{github.workspace}}/build/src/tim/
./unit_test

View File

@ -1,13 +1,20 @@
cmake_minimum_required (VERSION 3.14)
project(tim-vx)
OPTION(TIM_VX_ENABLE_TEST "Build the unit test" ON)
OPTION(TIM_VX_ENABLE_LAYOUT_INFER "Enable layout inference support" ON)
OPTION(TIM_VX_ENABLE_TEST "Build the unit test" ON)
OPTION(TIM_VX_ENABLE_LAYOUT_INFER "Enable layout inference support" ON)
OPTION(TIM_VX_CODE_COVERAGE "Run code coverage with gconv(gcc only" OFF)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Werror")
if(${TIM_VX_CODE_COVERAGE})
set(CMAKE_CXX_FLAGS "-g -O0 --coverage -fprofile-arcs -ftest-coverage")
set(CMAKE_C_FLAGS "-g -O0 --coverage -fprofile-arcs -ftest-coverage")
endif()
if(NOT DEFINED CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "..." FORCE)
endif()

View File

@ -1,4 +1,7 @@
# TIM-VX - Tensor Interface Module for OpenVX
![VSim.X86.UnitTest](https://github.com/VeriSilicon/TIM-VX/actions/workflows/x86_vsim_unit_test.yml/badge.svg)
TIM-VX is a software integration module provided by VeriSilicon to facilitate deployment of Neural-Networks on OpenVX enabled ML accelerators. It serves as the backend binding for runtime frameworks such as Android NN, Tensorflow-Lite, MLIR, TVM and more.