From e7a809d6e83998d74cc4bd1dcbbc4a75337b716c Mon Sep 17 00:00:00 2001 From: Patrick O'Grady Date: Wed, 22 Mar 2023 11:35:11 -0700 Subject: [PATCH] Update to 0.5.0. --- README.md | 38 +++-- meta-holoscan-test-controls/conf/layer.conf | 30 ---- .../files/holoscan-test-controls.service | 14 -- .../holoscan-test-controls_0.0.1.bb | 67 --------- .../0001-Update-CMakefile-for-OE-build.patch | 130 ------------------ .../nvidia-gpu-stress-test_2.3.0.bb | 14 -- meta-holoscan-test-suite/conf/layer.conf | 30 ---- ...loscan-test-suite-clara-agx-devkit.service | 14 -- ...oloscan-test-suite-igx-orin-devkit.service | 14 -- .../holoscan-test-suite_0.0.1.bb | 84 ----------- .../python3-holoscan-test-suite_0.0.1.bb | 31 ----- .../ajantv2/files/CMakeLists.txt | 45 ------ .../recipes-video/ajantv2/files/ajantv2.i | 65 --------- .../ajantv2/python3-ajantv2_16.2.0.bb | 44 ------ src/holoscan_test_controls.py | 4 +- 15 files changed, 18 insertions(+), 606 deletions(-) delete mode 100644 meta-holoscan-test-controls/conf/layer.conf delete mode 100644 meta-holoscan-test-controls/recipes-tests/files/holoscan-test-controls.service delete mode 100644 meta-holoscan-test-controls/recipes-tests/holoscan-test-controls_0.0.1.bb delete mode 100644 meta-holoscan-test-controls/recipes-tests/nvidia-gpu-stress-test/files/0001-Update-CMakefile-for-OE-build.patch delete mode 100644 meta-holoscan-test-controls/recipes-tests/nvidia-gpu-stress-test/nvidia-gpu-stress-test_2.3.0.bb delete mode 100644 meta-holoscan-test-suite/conf/layer.conf delete mode 100644 meta-holoscan-test-suite/recipes-tests/files/holoscan-test-suite-clara-agx-devkit.service delete mode 100644 meta-holoscan-test-suite/recipes-tests/files/holoscan-test-suite-igx-orin-devkit.service delete mode 100644 meta-holoscan-test-suite/recipes-tests/holoscan-test-suite_0.0.1.bb delete mode 100644 meta-holoscan-test-suite/recipes-tests/python3-holoscan-test-suite_0.0.1.bb delete mode 100644 meta-holoscan-test-suite/recipes-video/ajantv2/files/CMakeLists.txt delete mode 100644 meta-holoscan-test-suite/recipes-video/ajantv2/files/ajantv2.i delete mode 100644 meta-holoscan-test-suite/recipes-video/ajantv2/python3-ajantv2_16.2.0.bb diff --git a/README.md b/README.md index 3bb02d8..30e8600 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ holoscan-test-suite provides a very simple web server that runs test scripts and publishes the results as HTML back to the calling browser. -holoscan-test-controls leverages tools in holoscan-test-suite to provide an +holoscan-test-suite-controls leverages tools in holoscan-test-suite to provide an interactive web UI to enable various runtime behaviors on demand. This is useful in the context of, say, EMR or thermal characterization: you can start with a quiet system, measure RF emissions, then gradually turn on features, and @@ -51,7 +51,7 @@ In the src directory, you'll find two command-line parameters: the name of the module with the identify() routine and the name of the pytest module (without the .py suffix): - python3 flask_wrapper (configuration)\_report test\_(configuration) + python3 flask_wrapper (configuration)_report test_(configuration) The web server is configured to listen on any local network interface on TCP port 8765. Press control/C to terminate this application. @@ -71,34 +71,28 @@ Adding a new test is easy: - Add that script to test\_(configuration).py - Kill and restart the run\_(configuration).sh script. -For Yocto applications, you can include testing by +For systems running the Holoscan Deployment stack using +[meta-tegra-holoscan](https://github.com/nvidia-holoscan/meta-tegra-holoscan), +you can include testing by adding +`CORE_IMAGE_EXTRA_INSTALL:append = " holoscan-test-suite"` to +build/conf/local.conf (don't forget the space after the double quote: +" holoscan-test-suite"). -- Clone this project into a directory next to meta-tegra-clara-holoscan-mgx. - From the build container's perspective, this will be in - /workspace/holoscan-test-suite. -- Add "/workspace/holoscan-test-suite/meta-holoscan-test-suite" to - build/conf/bblayers.conf -- Add "CORE\_IMAGE\_EXTRA\_INSTALL:append = " holoscan-test-suite"" to - build/conf/local.conf (don't forget the space after the double quote: - " holoscan-test-suite") - -To add holoscan-test-controls, -- Add "/workspace/holoscan-test-suite/meta-holoscan-test-controls" to - build/conf/bblayers.conf -- Add "CORE\_IMAGE\_EXTRA\_INSTALL:append = " holoscan-test-controls"" to - build/conf/local.conf (don't forget the space after the double quote: - " holoscan-test-controls") +To add holoscan-test-suite-controls, add +`CORE_IMAGE_EXTRA_INSTALL:append = " holoscan-test-suite-controls"` to +build/conf/local.conf (don't forget the space after the double quote: +" holoscan-test-suite-controls"). Then use your usual commands to build your image (e.g. bitbake.sh) and flash your system (e.g. flash.sh). With this, the server will start at boot; you can use your browser to run -holoscan-test-suite by going to "http://\:8765"; if you've enabled -holoscan-test-controls, that is accessable by "http://\:8767". You can +holoscan-test-suite by going to `http://:8765`; if you've enabled +holoscan-test-suite-controls, that is accessable by `http://:8767`. You can observe the console for holoscan-test-suite by running the command "screen -d -r holoscan-test-suite", which may be useful when developing new tests. If you're developing new tests, you may want to "systemctl stop holoscan-test-suite", then you can directly execute "run\_(configuration).sh" in your shell. The console -for holoscan-test-controls is available by "screen -d -r -holoscan-test-controls". +for holoscan-test-suite-controls is available by "screen -d -r +holoscan-test-suite-controls". diff --git a/meta-holoscan-test-controls/conf/layer.conf b/meta-holoscan-test-controls/conf/layer.conf deleted file mode 100644 index d26a31b..0000000 --- a/meta-holoscan-test-controls/conf/layer.conf +++ /dev/null @@ -1,30 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -BBPATH .= ":${LAYERDIR}" -BBFILES += " \ - ${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*.bb \ -" - -BBFILE_COLLECTIONS += "holoscan-test-controls" -BBFILE_PATTERN_holoscan-test-controls = "^${LAYERDIR}/" -BBFILE_PRIORITY_holoscan-test-controls = "7" - -LAYERVERSION_holoscan-test-controls = "1" - -LAYERDEPENDS_holoscan-test-controls = "core tegra openembedded-layer" - -LAYERSERIES_COMPAT_holoscan-test-controls = "kirkstone" diff --git a/meta-holoscan-test-controls/recipes-tests/files/holoscan-test-controls.service b/meta-holoscan-test-controls/recipes-tests/files/holoscan-test-controls.service deleted file mode 100644 index 99873e9..0000000 --- a/meta-holoscan-test-controls/recipes-tests/files/holoscan-test-controls.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description="Holoscan Test Controls" - -[Service] -Type=simple -WorkingDirectory=/opt/nvidia/holoscan-test-controls -ExecStart=/usr/bin/screen -D -m -S holoscan-test-controls /bin/sh run_controls.sh -ExecStop=/usr/bin/screen -X -S holoscan-test-controls -Restart=always -RestartSec=30sec - -[Install] -WantedBy=multi-user.target - diff --git a/meta-holoscan-test-controls/recipes-tests/holoscan-test-controls_0.0.1.bb b/meta-holoscan-test-controls/recipes-tests/holoscan-test-controls_0.0.1.bb deleted file mode 100644 index afdd457..0000000 --- a/meta-holoscan-test-controls/recipes-tests/holoscan-test-controls_0.0.1.bb +++ /dev/null @@ -1,67 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. -# - -# -# This bitbake file supports running holoscan-test-controls via systemd -# and screen. systemd is used to start the flask webserver under -# screen (https://linux.die.net/man/1/screen) -- this way you can -# observe the console output from the webserver by using the command -# -# screen -d -r holoscan-test-controls -# -# ("screen -ls" is useful to list out the screen instances currrently -# running.) To disconnect from the screen instance, press control/A then d. -# This will detach the console; but that screen instance will continue -# to run. -# - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${THISDIR}/../../LICENSE.txt;md5=480539e97a7fb5ad9df72e45418ff4ec" - -RDEPENDS:${PN} = " \ - holoscan-test-suite \ - iperf3 \ - memtester \ - nvidia-gpu-stress-test \ - python3-flask-socketio \ - util-linux-taskset \ -" - -inherit systemd - -# By default this guy is set to start at boot. -SYSTEMD_SERVICE:${PN} = "holoscan-test-controls.service" - -FILESEXTRAPATHS:prepend := "${THISDIR}/../..:" -SRC_URI = " \ - file://src \ - file://holoscan-test-controls.service \ -" -S="${WORKDIR}/src" -HOLOSCAN_TEST_CONTROLS_DIRECTORY := "${THISDIR}" - -do_install() { - install -d ${D}/opt/nvidia - cp -rd --no-preserve=ownership ${S} ${D}/opt/nvidia/holoscan-test-controls - (cd ${HOLOSCAN_TEST_CONTROLS_DIRECTORY}; git describe --abbrev=8 --dirty --always --tags >${D}/opt/nvidia/holoscan-test-controls/project-version) - install -d ${D}/${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/holoscan-test-controls.service ${D}/${systemd_unitdir}/system -} - -FILES:${PN} = " \ - /opt/nvidia/holoscan-test-controls \ - ${systemd_unitdir}/system/holoscan-test-controls.service \ -" diff --git a/meta-holoscan-test-controls/recipes-tests/nvidia-gpu-stress-test/files/0001-Update-CMakefile-for-OE-build.patch b/meta-holoscan-test-controls/recipes-tests/nvidia-gpu-stress-test/files/0001-Update-CMakefile-for-OE-build.patch deleted file mode 100644 index b5473c4..0000000 --- a/meta-holoscan-test-controls/recipes-tests/nvidia-gpu-stress-test/files/0001-Update-CMakefile-for-OE-build.patch +++ /dev/null @@ -1,130 +0,0 @@ -From e835e05f947b7a3c32d4835d8c9b00f557e0df1c Mon Sep 17 00:00:00 2001 -From: Ian Stewart -Date: Thu, 26 Jan 2023 16:20:51 -0700 -Subject: Update CMakefile for OE build - ---- - CMakeLists.txt | 98 +++++--------------------------------------------- - 1 file changed, 9 insertions(+), 89 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fd58cce..4a44b90 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,104 +1,24 @@ --cmake_minimum_required(VERSION 3.8.0) -+cmake_minimum_required(VERSION 3.22) - --set(CUDA_HOME "/usr/local/cuda" CACHE STRING "" FORCE) --set(GPUStressTest_HOME "/home/dfisk/GPUStressTest" CACHE STRING "" FORCE) --set(LD_LIBRARY_PATH "${CUDA_HOME}/lib64;${LD_LIBRARY_PATH}") --set(CMAKE_VERBOSE_MAKEFILE "ON" CACHE STRING "" FORCE) -+project(gst LANGUAGES CXX CUDA) - -+find_package(CUDAToolkit REQUIRED) - --project(gst LANGUAGES CXX CUDA C) -- --# For debugging matrix sizes; cmake -DDEBUG_MATRIX_SIZES:BOOL="ON" .. --set(DEBUG_MATRIX_SIZES "OFF" CACHE STRING "") -- --# Set a default build type if none was specified --if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) -- message(STATUS "Setting build type to 'Debug' as none was specified.") -- set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build." FORCE) -- set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "" "Debug" "Release" "MinSizeRel" "RelWithDebInfo") --endif() -- -- --#Config CUDA for this project: -- --set(FLAGS "") --set(CMAKE_CUDA_FLAGS "" CACHE STRING "" FORCE) --# Note that cmake will insert semicolons between these item automatically... --set(SM_LIST_IN "70,75,80" CACHE STRING "Please input compute capability") --MARK_AS_ADVANCED(SM_LIST) --string(REPLACE "\," "\ " DISPLAY_SMS_LIST ${SM_LIST_IN}) --string(REPLACE "\," "\;" SM_LIST ${SM_LIST_IN}) -- --foreach(SM ${SMS_LIST}) -- string(APPEND CMAKE_CUDA_FLAGS " -gencode arch=compute_${SM},code=sm_${SM}") --endforeach(SM) --message("-- GPU SM = " ${DISPLAY_SMS_LIST}) --message("-- CMAKE_CUDA_FLAGS = " ${CMAKE_CUDA_FLAGS}) -- --if(${CMAKE_BUILD_TYPE} MATCHES Debug) -- set(FLAGS ${FLAGS} "-G") -- set(FLAGS ${FLAGS} -Xcompiler -g) --endif() -- -- --set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -ccbin ${CMAKE_CXX_COMPILER}") --MARK_AS_ADVANCED(CLEAR CMAKE_CUDA_FLAGS) -- --# Global CXX/CUDA flags --set(CUDALIB_CUDA_CXX_FLAGS -- "-Wall -Wextra -fno-strict-aliasing -Wno-unused-parameter -I${CUDA_HOME}/include -I${CUDA_HOME}/cublasLt -L${CUDA_HOME}/lib64" -- # -fvisibility=hidde} -- CACHE STRING "Common CXX/CUDA flags") -- --# Global CXX flags/options - set(CMAKE_CXX_STANDARD 14) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_EXTENSIONS OFF) --set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CUDALIB_CUDA_CXX_FLAGS}") --if(CMAKE_BUILD_TYPE STREQUAL "Debug") -- add_definitions("-DDEBUG=1") --endif() -- --set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--no-allow-shlib-undefined") -- --# Global CUDA CXX flags/options --set(CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER}) --set(CMAKE_CUDA_STANDARD 14) --set(CMAKE_CUDA_STANDARD_REQUIRED ON) --set(CMAKE_CUDA_EXTENSIONS OFF) --if(CMAKE_CUDA_COMPILER_ID MATCHES CLANG) -- set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} ${CUDALIB_CUDA_CXX_FLAGS} -fPIC") -- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}") -- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}" ) --else() #NVCC -- set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -m64 -Xcompiler \"${CUDALIB_CUDA_CXX_FLAGS}\"") -- set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xfatbin -compress-all") -- set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xcudafe --display_error_number") # Show error/warning numbers --endif() -- --if(DEBUG_MATRIX_SIZES MATCHES ON) --message("DEBUG_MATRIX_SIZES ") -- set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -DDEBUG_MATRIX_SIZES") --endif() -- -- --get_filename_component(CUDA_COMPILER_DIR ${CMAKE_CUDA_COMPILER} DIRECTORY) --set(CUDA_TOOLKIT_ROOT_DIR ${CUDA_COMPILER_DIR}/..) --message(status " CUDA_TOOLKIT_ROOT_DIR: ${CUDA_TOOLKIT_ROOT_DIR}") -- --include_directories(${PROJECT_SOURCE_DIR}/util) --include_directories(${CUDA_TOOLKIT_ROOT_DIR}/include) --include_directories(${CUDA_HOME}/cublasLt) - - LIST(APPEND SRC_FILES - ${PROJECT_SOURCE_DIR}/util/test_args.cu - ${PROJECT_SOURCE_DIR}/util/measure.cc -- ${PROJECT_SOURCE_DIR}/util/device_info.cu -- ) -+ ${PROJECT_SOURCE_DIR}/util/device_info.cu) - - add_executable(gst main.cu ${SRC_FILES}) --set_target_properties(gst PROPERTIES CUDA_ARCHITECTURES ${SM_LIST}) --target_link_libraries(gst cublas cublasLt) - -+target_include_directories(gst PRIVATE -+ ${PROJECT_SOURCE_DIR}/util -+ ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}) - -+target_link_libraries(gst PRIVATE CUDA::cublasLt) - -+install(TARGETS gst) --- -2.34.1 - diff --git a/meta-holoscan-test-controls/recipes-tests/nvidia-gpu-stress-test/nvidia-gpu-stress-test_2.3.0.bb b/meta-holoscan-test-controls/recipes-tests/nvidia-gpu-stress-test/nvidia-gpu-stress-test_2.3.0.bb deleted file mode 100644 index f0e7a82..0000000 --- a/meta-holoscan-test-controls/recipes-tests/nvidia-gpu-stress-test/nvidia-gpu-stress-test_2.3.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "NVIDIA GPU Stress test" -HOMEPAGE = "https://github.com/NVIDIA/GPUStrestTest/" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://License;md5=5d5211213623d8c0032f9a9bcb4e514c" - -SRC_URI = "git://github.com/NVIDIA/GPUStressTest.git;branch=2.3;protocol=https" -SRCREV = "f15f6c5f8b2d46219de1f0115d907b30ae991fbb" - -SRC_URI += "file://0001-Update-CMakefile-for-OE-build.patch" - -S = "${WORKDIR}/git" - -inherit cmake cuda diff --git a/meta-holoscan-test-suite/conf/layer.conf b/meta-holoscan-test-suite/conf/layer.conf deleted file mode 100644 index b42368e..0000000 --- a/meta-holoscan-test-suite/conf/layer.conf +++ /dev/null @@ -1,30 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -BBPATH .= ":${LAYERDIR}" -BBFILES += " \ - ${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*.bb \ -" - -BBFILE_COLLECTIONS += "holoscan-test-suite" -BBFILE_PATTERN_holoscan-test-suite = "^${LAYERDIR}/" -BBFILE_PRIORITY_holoscan-test-suite = "7" - -LAYERVERSION_holoscan-test-suite = "1" - -LAYERDEPENDS_holoscan-test-suite = "core tegra openembedded-layer" - -LAYERSERIES_COMPAT_holoscan-test-suite = "kirkstone" diff --git a/meta-holoscan-test-suite/recipes-tests/files/holoscan-test-suite-clara-agx-devkit.service b/meta-holoscan-test-suite/recipes-tests/files/holoscan-test-suite-clara-agx-devkit.service deleted file mode 100644 index d63fe6e..0000000 --- a/meta-holoscan-test-suite/recipes-tests/files/holoscan-test-suite-clara-agx-devkit.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description="Holoscan Test Suite: Clara AGX DevKit" - -[Service] -Type=simple -WorkingDirectory=/opt/nvidia/holoscan-test-suite -ExecStart=/usr/bin/screen -D -m -S holoscan-test-suite /bin/sh run_clara_agx_devkit.sh -ExecStop=/usr/bin/screen -X -S holoscan-test-suite -Restart=always -RestartSec=30sec - -[Install] -WantedBy=multi-user.target - diff --git a/meta-holoscan-test-suite/recipes-tests/files/holoscan-test-suite-igx-orin-devkit.service b/meta-holoscan-test-suite/recipes-tests/files/holoscan-test-suite-igx-orin-devkit.service deleted file mode 100644 index c0c85ba..0000000 --- a/meta-holoscan-test-suite/recipes-tests/files/holoscan-test-suite-igx-orin-devkit.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description="Holoscan Test Suite: IGX Orin Devkit" - -[Service] -Type=simple -WorkingDirectory=/opt/nvidia/holoscan-test-suite -ExecStart=/usr/bin/screen -D -m -S holoscan-test-suite /bin/sh run_igx_orin_devkit.sh -ExecStop=/usr/bin/screen -X -S holoscan-test-suite -Restart=always -RestartSec=30sec - -[Install] -WantedBy=multi-user.target - diff --git a/meta-holoscan-test-suite/recipes-tests/holoscan-test-suite_0.0.1.bb b/meta-holoscan-test-suite/recipes-tests/holoscan-test-suite_0.0.1.bb deleted file mode 100644 index 05bcfcb..0000000 --- a/meta-holoscan-test-suite/recipes-tests/holoscan-test-suite_0.0.1.bb +++ /dev/null @@ -1,84 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -# -# This bitbake file supports running holoscan-test-suite via systemd -# and screen. systemd is used to start the flask webserver (see -# https://gitlab-master.nvidia.com/clara-holoscan/holoscan-test-suite/-/blob/699f450236dfa9988c907e24fa37d892fdc6a846/README.md -# for information about how holoscan-test-suite work) under -# screen (https://linux.die.net/man/1/screen) -- this way you can -# observe the console output from the webserver by using the command -# -# screen -d -r holoscan-test-suite -# -# ("screen -ls" is useful to list out the screen instances currrently -# running.) To disconnect from the screen instance, press control/A then d. -# This will detach the console; but that screen instance will continue -# to run. -# - -# -# Run the appropriate configuration based on MACHINE. -# -HOLOSCAN_TEST_SUITE:clara-agx-xavier-devkit = "holoscan-test-suite-clara-agx-devkit" -HOLOSCAN_TEST_SUITE:igx-orin-devkit = "holoscan-test-suite-igx-orin-devkit" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${THISDIR}/../../LICENSE.txt;md5=480539e97a7fb5ad9df72e45418ff4ec" - -RDEPENDS:${PN} = " \ - ajantv2-sdk \ - python3-ajantv2 \ - python3-flask \ - python3-holoscan-test-suite \ - python3-pytest \ - python3-pyyaml \ - python3-smbus2 \ - screen \ - util-linux-lsblk \ - ethtool \ - nvme-cli \ - opencv \ - gstreamer1.0-plugins-base \ - gstreamer1.0-plugins-good \ - v4l-utils \ -" - -inherit systemd - -# By default this guy is set to start at boot. -HOLOSCAN_TEST_SUITE_SERVICE = "${HOLOSCAN_TEST_SUITE}.service" -SYSTEMD_SERVICE:${PN} = "${HOLOSCAN_TEST_SUITE_SERVICE}" - -FILESEXTRAPATHS:prepend := "${THISDIR}/../..:" -SRC_URI = " \ - file://src \ - file://${HOLOSCAN_TEST_SUITE_SERVICE} \ -" -S="${WORKDIR}/src" -HOLOSCAN_TEST_SUITE_DIRECTORY := "${THISDIR}" - -do_install() { - install -d ${D}/opt/nvidia - cp -rd --no-preserve=ownership ${S} ${D}/opt/nvidia/holoscan-test-suite - (cd ${HOLOSCAN_TEST_SUITE_DIRECTORY}; git describe --abbrev=8 --dirty --always --tags >${D}/opt/nvidia/holoscan-test-suite/project-version) - install -d ${D}/${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/${HOLOSCAN_TEST_SUITE_SERVICE} ${D}/${systemd_unitdir}/system -} - -FILES:${PN} = " \ - /opt/nvidia/holoscan-test-suite \ - ${systemd_unitdir}/system/${HOLOSCAN_TEST_SUITE_SERVICE} \ -" diff --git a/meta-holoscan-test-suite/recipes-tests/python3-holoscan-test-suite_0.0.1.bb b/meta-holoscan-test-suite/recipes-tests/python3-holoscan-test-suite_0.0.1.bb deleted file mode 100644 index 0892cdc..0000000 --- a/meta-holoscan-test-suite/recipes-tests/python3-holoscan-test-suite_0.0.1.bb +++ /dev/null @@ -1,31 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${THISDIR}/../../LICENSE.txt;md5=480539e97a7fb5ad9df72e45418ff4ec" - -RDEPENDS:${PN} = " \ - python3-pyyaml \ - opencv \ -" - -inherit setuptools3 - -FILESEXTRAPATHS:prepend := "${THISDIR}/../..:" -SRC_URI = " \ - file://holoscan_test_suite \ - file://setup.py \ -" -S="${WORKDIR}" diff --git a/meta-holoscan-test-suite/recipes-video/ajantv2/files/CMakeLists.txt b/meta-holoscan-test-suite/recipes-video/ajantv2/files/CMakeLists.txt deleted file mode 100644 index 673758e..0000000 --- a/meta-holoscan-test-suite/recipes-video/ajantv2/files/CMakeLists.txt +++ /dev/null @@ -1,45 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -# -# Use SWIG to translate ajantv2.i into a python module that wraps calls to the -# AJA NTV2 library. -# - -cmake_minimum_required(VERSION 3.22) - -project(python3_ajantv2 LANGUAGES C CXX) - -set(CMAKE_CXX_STANDARD 11) - -list(APPEND CMAKE_PREFIX_PATH ${ajantv2_DIR}) - -find_package(ajantv2 REQUIRED) -get_target_property(ajantv2_include_directories AJA::ajantv2 INTERFACE_INCLUDE_DIRECTORIES) -include_directories(${ajantv2_include_directories}) - -find_package(SWIG REQUIRED) -include(${SWIG_USE_FILE}) - -find_package(PythonLibs) -include_directories(${PYTHON_INCLUDE_PATH}) - -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) - -list(APPEND CMAKE_SWIG_FLAGS "-py3" "-threads" "-O") - -set_source_files_properties(ajantv2.i PROPERTIES CPLUSPLUS ON) -swig_add_module(ajantv2 python ajantv2.i) -swig_link_libraries(ajantv2 ${PYTHON_LIBRARIES} AJA::ajantv2) diff --git a/meta-holoscan-test-suite/recipes-video/ajantv2/files/ajantv2.i b/meta-holoscan-test-suite/recipes-video/ajantv2/files/ajantv2.i deleted file mode 100644 index 705f04f..0000000 --- a/meta-holoscan-test-suite/recipes-video/ajantv2/files/ajantv2.i +++ /dev/null @@ -1,65 +0,0 @@ -/* SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed 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. - */ - -/** - * SWIG script with instructions allowing access to AJA's NTV2 library from - * python. - */ - -%module ajantv2 - -%{ -#define AJALinux 1 -#define AJA_LINUX 1 -#define AJAExport - -#include -#include -#include -#include -#include -#include -%} - -#define AJALinux 1 -#define AJA_LINUX 1 -#define AJAExport - -%include -%include -%include - -// ntv2utils.h declares this but its not in the library. -%ignore NTV2SmpteLineNumber::operator==; -// other problematic definitions (don't declare global variables in header files) -%ignore gNTV2_DEPRECATE; -%ignore __AJA_trigger_link_error_if_incompatible__; -// ambiguous declaration -%ignore SetAudioOutputMonitorSource; - -%apply std::string & OUTPUT { std::string & outSerialNumberString }; -%apply ULWord & OUTPUT { ULWord & outPCIDeviceID }; -%apply ULWord & OUTPUT { ULWord & outNumBytes }; -%apply std::string & OUTPUT { std::string & outDateStr }; -%apply std::string & OUTPUT { std::string & outTimeStr }; -%apply bool & OUTPUT { bool & outIsFailSafe }; - -%include -%include -%include -%include -%include -%include diff --git a/meta-holoscan-test-suite/recipes-video/ajantv2/python3-ajantv2_16.2.0.bb b/meta-holoscan-test-suite/recipes-video/ajantv2/python3-ajantv2_16.2.0.bb deleted file mode 100644 index 4cc58a1..0000000 --- a/meta-holoscan-test-suite/recipes-video/ajantv2/python3-ajantv2_16.2.0.bb +++ /dev/null @@ -1,44 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - - -DESCRIPTION = "AJA NTV2 Library for python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${THISDIR}/../../../LICENSE.txt;md5=480539e97a7fb5ad9df72e45418ff4ec" - -SRC_URI = " \ - file://CMakeLists.txt \ - file://ajantv2.i \ -" -S = "${WORKDIR}" - -inherit cmake python3-dir - -DEPENDS += " \ - python3 \ - swig-native \ - ajantv2-sdk \ -" - -FILES:${PN} = " \ - ${PYTHON_SITEPACKAGES_DIR}/_ajantv2.so \ - ${PYTHON_SITEPACKAGES_DIR}/ajantv2.py \ -" - -do_install() { - install -d ${D}${PYTHON_SITEPACKAGES_DIR} - install -m 0755 ${WORKDIR}/build/_ajantv2.so ${D}${PYTHON_SITEPACKAGES_DIR} - install -m 0755 ${WORKDIR}/build/ajantv2.py ${D}${PYTHON_SITEPACKAGES_DIR} -} diff --git a/src/holoscan_test_controls.py b/src/holoscan_test_controls.py index 302e175..a4d97ed 100644 --- a/src/holoscan_test_controls.py +++ b/src/holoscan_test_controls.py @@ -72,9 +72,9 @@ def setup(self): self.checkbox_command( control_name="recorded_endoscopy_demo", label="Run the tool tracking demo (with recorded input)", - command="./apps/endoscopy_tool_tracking/cpp/endoscopy_tool_tracking", + command="./applications/endoscopy_tool_tracking/cpp/endoscopy_tool_tracking", env_update={"DISPLAY": ":0"}, - cwd="/workspace", + cwd="/opt/nvidia/holohub", ) # Control: run iperf3, the server that supports network performance testing self.checkbox_command(