This is an automated email from the ASF dual-hosted git repository. lupyuen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit d05f9b470c58999a4ce215eba470a60835c47d84 Author: p-szafonimateusz <[email protected]> AuthorDate: Mon Mar 2 14:11:08 2026 +0100 CI: enable NTFC tests for qemu-armv8a (arm64) Enable NTFC for qemu-armv8a (arm64). QEMU for aarch64 architecture should be already on Docker image, so it should work. Signed-off-by: p-szafonimateusz <[email protected]> --- Documentation/testing/citests.rst | 2 + .../qemu/qemu-armv8a/configs/citest/config.yaml | 16 +++++++ .../qemu/qemu-armv8a/configs/citest/defconfig | 2 + .../arm64/qemu/qemu-armv8a/configs/citest/run.sh | 55 ++++++++++++++++++++++ .../qemu/qemu-armv8a/configs/citest/session.json | 13 +++++ .../qemu-armv8a/configs/citest_smp/config.yaml | 16 +++++++ .../qemu/qemu-armv8a/configs/citest_smp/defconfig | 2 + .../qemu/qemu-armv8a/configs/citest_smp/run.sh | 55 ++++++++++++++++++++++ .../qemu-armv8a/configs/citest_smp/session.json | 13 +++++ 9 files changed, 174 insertions(+) diff --git a/Documentation/testing/citests.rst b/Documentation/testing/citests.rst index 8fcc79d7201..22d2ed1dc6d 100644 --- a/Documentation/testing/citests.rst +++ b/Documentation/testing/citests.rst @@ -79,6 +79,8 @@ CI migration to NTFC is in progress. Configurations currently using NTFC: - risc-v/qemu-rv: ``rv-virt/citest`` - sim/sim: ``sim/citest`` - arm/imx6: ``sabre-6quad/citest`` +- arm64/qemu: ``qemu-armv8a/citest`` +- arm64/qemu: ``qemu-armv8a/citest_smp`` NTFC exports test logs as CI artifacts. This allows test logs (including ``ostest`` output) to be downloaded directly from the CI for all targets where the ``citest`` diff --git a/boards/arm64/qemu/qemu-armv8a/configs/citest/config.yaml b/boards/arm64/qemu/qemu-armv8a/configs/citest/config.yaml new file mode 100644 index 00000000000..59ea992f725 --- /dev/null +++ b/boards/arm64/qemu/qemu-armv8a/configs/citest/config.yaml @@ -0,0 +1,16 @@ +config: + cwd: './' + +product: + name: "qemu-armv8a" + cores: + core0: + name: 'main' + device: 'qemu' + exec_path: 'qemu-system-aarch64' + exec_args: '-cpu cortex-a53 -nographic + -machine virt,virtualization=on,gic-version=3 + -net none -chardev stdio,id=con,mux=on + -serial chardev:con -mon chardev=con,mode=readline' + conf_path: './build/.config' + elf_path: './build/nuttx' diff --git a/boards/arm64/qemu/qemu-armv8a/configs/citest/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/citest/defconfig index ca5ea3e870b..9460e221682 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/citest/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/citest/defconfig @@ -26,6 +26,7 @@ CONFIG_EXAMPLES_HELLO=y CONFIG_EXPERIMENTAL=y CONFIG_FS_PROCFS=y CONFIG_FS_ROMFS=y +CONFIG_FS_TMPFS=y CONFIG_HAVE_CXX=y CONFIG_HAVE_CXXINITIALIZE=y CONFIG_IDLETHREAD_STACKSIZE=8192 @@ -54,6 +55,7 @@ CONFIG_START_MONTH=3 CONFIG_START_YEAR=2022 CONFIG_SYMTAB_ORDEREDBYNAME=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_SETLOGMASK=y CONFIG_SYSTEM_SYSTEM=y CONFIG_SYSTEM_TIME64=y CONFIG_TESTING_GETPRIME=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/citest/run.sh b/boards/arm64/qemu/qemu-armv8a/configs/citest/run.sh new file mode 100755 index 00000000000..95b1a49d4a6 --- /dev/null +++ b/boards/arm64/qemu/qemu-armv8a/configs/citest/run.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +############################################################################ +# boards/arm64/qemu/qemu-armv8a/configs/citest/run.sh +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. The +# ASF licenses this file to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance with the +# License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +############################################################################ + +set -o xtrace + +# start from nuttx dir +olddir=$(pwd) +nuttdir=${CURRENTCONFDIR}/../../../../../../ +cd ${nuttdir} + +# enable venv +source ${NTFCDIR}/venv/bin/activate + +# run NTFC +confpath=${CURRENTCONFDIR}/config.yaml +jsonconf=${CURRENTCONFDIR}/session.json +testpath=${NTFCDIR}/external/nuttx-testing +python3 -m ntfc test --testpath=${testpath} --confpath=${confpath} --jsonconf=${jsonconf} + +ret="$?" +echo $ret + +# disable venv +deactivate + +# export test results +artifacts=${ARTIFACTCONFDIR}/ntfc +mkdir -p ${artifacts} +mv pytest.debug.log ${artifacts} +mv result ${artifacts} + +# restore old dir +cd ${olddir} + +exit $ret diff --git a/boards/arm64/qemu/qemu-armv8a/configs/citest/session.json b/boards/arm64/qemu/qemu-armv8a/configs/citest/session.json new file mode 100644 index 00000000000..2a8c05d05da --- /dev/null +++ b/boards/arm64/qemu/qemu-armv8a/configs/citest/session.json @@ -0,0 +1,13 @@ +{ + "module": { + "include_module": [], + "exclude_module": + [ + "Nuttx_System_Fs_Fs" + ], + "order": [] + }, + "args": { + "kv": [] + } +} diff --git a/boards/arm64/qemu/qemu-armv8a/configs/citest_smp/config.yaml b/boards/arm64/qemu/qemu-armv8a/configs/citest_smp/config.yaml new file mode 100644 index 00000000000..ff79b3917b6 --- /dev/null +++ b/boards/arm64/qemu/qemu-armv8a/configs/citest_smp/config.yaml @@ -0,0 +1,16 @@ +config: + cwd: './' + +product: + name: "qemu-armv8a-smp" + cores: + core0: + name: 'main' + device: 'qemu' + exec_path: 'qemu-system-aarch64' + exec_args: '-cpu cortex-a53 -nographic -smp 4 + -machine virt,virtualization=on,gic-version=3 + -net none -chardev stdio,id=con,mux=on + -serial chardev:con -mon chardev=con,mode=readline' + conf_path: './build/.config' + elf_path: './build/nuttx' diff --git a/boards/arm64/qemu/qemu-armv8a/configs/citest_smp/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/citest_smp/defconfig index 75904c00f18..f366755c0c7 100644 --- a/boards/arm64/qemu/qemu-armv8a/configs/citest_smp/defconfig +++ b/boards/arm64/qemu/qemu-armv8a/configs/citest_smp/defconfig @@ -26,6 +26,7 @@ CONFIG_EXAMPLES_HELLO=y CONFIG_EXPERIMENTAL=y CONFIG_FS_PROCFS=y CONFIG_FS_ROMFS=y +CONFIG_FS_TMPFS=y CONFIG_IDLETHREAD_STACKSIZE=16384 CONFIG_INIT_ENTRYPOINT="nsh_main" CONFIG_INTELHEX_BINARY=y @@ -50,6 +51,7 @@ CONFIG_START_MONTH=3 CONFIG_START_YEAR=2022 CONFIG_SYMTAB_ORDEREDBYNAME=y CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_SETLOGMASK=y CONFIG_SYSTEM_SYSTEM=y CONFIG_SYSTEM_TASKSET=y CONFIG_SYSTEM_TIME64=y diff --git a/boards/arm64/qemu/qemu-armv8a/configs/citest_smp/run.sh b/boards/arm64/qemu/qemu-armv8a/configs/citest_smp/run.sh new file mode 100755 index 00000000000..e417134520c --- /dev/null +++ b/boards/arm64/qemu/qemu-armv8a/configs/citest_smp/run.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +############################################################################ +# boards/arm64/qemu/qemu-armv8a/configs/citest_smp/run.sh +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. The +# ASF licenses this file to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance with the +# License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +############################################################################ + +set -o xtrace + +# start from nuttx dir +olddir=$(pwd) +nuttdir=${CURRENTCONFDIR}/../../../../../../ +cd ${nuttdir} + +# enable venv +source ${NTFCDIR}/venv/bin/activate + +# run NTFC +confpath=${CURRENTCONFDIR}/config.yaml +jsonconf=${CURRENTCONFDIR}/session.json +testpath=${NTFCDIR}/external/nuttx-testing +python3 -m ntfc test --testpath=${testpath} --confpath=${confpath} --jsonconf=${jsonconf} + +ret="$?" +echo $ret + +# disable venv +deactivate + +# export test results +artifacts=${ARTIFACTCONFDIR}/ntfc +mkdir -p ${artifacts} +mv pytest.debug.log ${artifacts} +mv result ${artifacts} + +# restore old dir +cd ${olddir} + +exit $ret diff --git a/boards/arm64/qemu/qemu-armv8a/configs/citest_smp/session.json b/boards/arm64/qemu/qemu-armv8a/configs/citest_smp/session.json new file mode 100644 index 00000000000..2a8c05d05da --- /dev/null +++ b/boards/arm64/qemu/qemu-armv8a/configs/citest_smp/session.json @@ -0,0 +1,13 @@ +{ + "module": { + "include_module": [], + "exclude_module": + [ + "Nuttx_System_Fs_Fs" + ], + "order": [] + }, + "args": { + "kv": [] + } +}
