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": []
+    }
+}

Reply via email to