mirror of https://github.com/thesofproject/sof.git
.github: run unit tests with -DBUILD_UNIT_TESTS_HOST=ON
Because we can. Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This commit is contained in:
parent
3ac8906097
commit
b63b8e992b
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
# https://thesofproject.github.io/latest/developer_guides/unit_tests.html
|
||||||
|
|
||||||
|
name: Unit tests
|
||||||
|
|
||||||
|
# 'workflow_dispatch' allows running this workflow manually from the
|
||||||
|
# 'Actions' tab
|
||||||
|
|
||||||
|
# yamllint disable-line rule:truthy
|
||||||
|
on: [pull_request, workflow_dispatch]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
cmocka_utests:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with: {fetch-depth: 2}
|
||||||
|
|
||||||
|
- name: build and run all defconfigs
|
||||||
|
run: ./test/test-all-defconfigs.sh
|
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
SOFTOP=$(cd "$(dirname "$0")"/.. && pwd)
|
||||||
|
|
||||||
|
BUILDTOP=build_ut_defs
|
||||||
|
|
||||||
|
rebuild_config()
|
||||||
|
{
|
||||||
|
local conf="$1"
|
||||||
|
mkdir -p "$BUILDTOP"
|
||||||
|
( set -x
|
||||||
|
cmake -DINIT_CONFIG="$conf" -B "$BUILDTOP"/"$conf" -DBUILD_UNIT_TESTS=ON \
|
||||||
|
-DBUILD_UNIT_TESTS_HOST=ON
|
||||||
|
|
||||||
|
cmake --build "$BUILDTOP"/"$conf" -- -j"$(nproc)"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
local defconfig
|
||||||
|
|
||||||
|
# First make sure all configurations build
|
||||||
|
for d in "$SOFTOP"/src/arch/xtensa/configs/*_defconfig; do
|
||||||
|
defconfig=$(basename "$d")
|
||||||
|
rebuild_config "$defconfig"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Now run all the tests
|
||||||
|
for d in "$BUILDTOP"/*_defconfig; do
|
||||||
|
( set -x
|
||||||
|
cmake --build "$d" -- test
|
||||||
|
)
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
Loading…
Reference in New Issue