github: ci: add tests

Build ubus with UNIT_TESTING and execute tests.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
Álvaro Fernández Rojas
2025-11-14 08:50:58 +01:00
parent b65c091a09
commit e1ab90c510
2 changed files with 82 additions and 3 deletions

View File

@@ -153,3 +153,80 @@ jobs:
echo "| :---: | :---: | :---: | :---: | :---: |" >> $GITHUB_STEP_SUMMARY
echo "| basic | ${size_aarch64_basic} | ${size_arm_basic} | ${size_mips_basic} | ${size_x86_64_basic} |" >> $GITHUB_STEP_SUMMARY
echo "| full | ${size_aarch64_full} | ${size_arm_full} | ${size_mips_full} | ${size_x86_64_full} |" >> $GITHUB_STEP_SUMMARY
tests:
name: Tests
runs-on: ubuntu-latest
steps:
- name: Checkout uci
uses: actions/checkout@v5
- name: Checkout json-c
uses: actions/checkout@v5
with:
repository: json-c/json-c
path: depends/json-c
- name: Checkout libubox
uses: actions/checkout@v5
with:
repository: openwrt/libubox
path: depends/libubox
- name: Install dependencies
run: |
sudo apt update
sudo apt install valgrind
- name: Prepare build
run: |
mkdir -p ${GITHUB_WORKSPACE}/build
mkdir -p ${GITHUB_WORKSPACE}/depends/lua
echo "${GITHUB_WORKSPACE}/build/bin" >> $GITHUB_PATH
- name: Build json-c
working-directory: depends/json-c
run: |
cmake \
-DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build \
-DBUILD_SHARED_LIBS=OFF \
-DDISABLE_EXTRA_LIBS=ON \
-DBUILD_TESTING=OFF \
--install-prefix ${GITHUB_WORKSPACE}/build
make
make install
- name: Build lua
working-directory: depends/lua
run: |
wget -qO- https://www.lua.org/ftp/lua-${{ env.LUA_VERSION }}.tar.gz | \
tar zxvf - --strip-components=1
sed -i '/#define LUA_USE_READLINE/d' src/luaconf.h
sed -i 's/ -lreadline -lhistory -lncurses//g' src/Makefile
make linux install \
INSTALL_TOP=${GITHUB_WORKSPACE}/build
- name: Build libubox
working-directory: depends/libubox
run: |
cmake \
-DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build \
-DBUILD_LUA=ON \
-DBUILD_EXAMPLES=OFF \
-DLUAPATH=${GITHUB_WORKSPACE}/build/lib/lua \
--install-prefix ${GITHUB_WORKSPACE}/build
make
make install
- name: Build uci
run: |
cmake \
-DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build \
-DBUILD_LUA=ON \
-DUNIT_TESTING=ON \
-DLUAPATH=${GITHUB_WORKSPACE}/build/lib/lua
make
- name: Test uci
run: |
make test CTEST_OUTPUT_ON_FAILURE=1

View File

@@ -16,13 +16,15 @@ check available methods:
get_all
foreach
__gc
delete
set_savedir
set
revert
delete
reorder
set
get_conf2dir
get_savedir
changes
reorder
set_conf2dir
get_confdir
list_configs
commit