Skip to content

Commit

Permalink
fix: update to firebolt-openrpc, c tests (#176)
Browse files Browse the repository at this point in the history
* native tests added (#140)

* native tests added

* review updates

* Test app alignment based on change in the static/generated code

* ctest: add WPEFrameworkCore also in the dependency

* Native test update based on interface return type change from uint32_t to int32_t

* fix: update to npm build of openrpc

* fix: Update packaeg-lock.json

---------

Co-authored-by: HaseenaSainul <[email protected]>
  • Loading branch information
jlacivita and HaseenaSainul authored Sep 5, 2023
1 parent 86cc983 commit 3984a78
Show file tree
Hide file tree
Showing 15 changed files with 1,335 additions and 9 deletions.
12 changes: 6 additions & 6 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
"devDependencies": {
"@commitlint/cli": "^17.0.3",
"@commitlint/config-conventional": "^17.0.3",
"@firebolt-js/openrpc": "2.0.4",
"@firebolt-js/openrpc": "2.1.0-next.1",
"@firebolt-js/schemas": "1.0.0-next.0",
"@semantic-release/changelog": "^6.0.1",
"@semantic-release/git": "^10.0.1",
Expand Down
4 changes: 2 additions & 2 deletions src/openrpc/capabilities.json
Original file line number Diff line number Diff line change
Expand Up @@ -563,7 +563,7 @@
}
],
"result": {
"name": "Default Result",
"name": "request",
"summary": "Returns an array of CapabilityInfo objects for the passed in capabilities.",
"schema": {
"type": "array",
Expand Down Expand Up @@ -907,4 +907,4 @@
}
}
}
}
}
70 changes: 70 additions & 0 deletions src/sdks/core/src/cpp/sdk/ctest/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Copyright 2023 Comcast Cable Communications Management, LLC
#
# 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.
#
# SPDX-License-Identifier: Apache-2.0

cmake_minimum_required(VERSION 3.3)

project(FireboltCoreSDKTests)

if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${SYSROOT_PATH}/usr" CACHE INTERNAL "" FORCE)
set(CMAKE_PREFIX_PATH ${SYSROOT_PATH}/usr/lib/cmake CACHE INTERNAL "" FORCE)
endif()

list(APPEND CMAKE_MODULE_PATH
"${SYSROOT_PATH}/usr/lib/cmake"
"${SYSROOT_PATH}/tools/cmake")
message("FIREBOLT_PATH inside cmake " ${FIREBOLT_PATH})
if (FIREBOLT_PATH)
set(CMAKE_FIREBOLT_PATH
"${FIREBOLT_PATH}/usr/lib/cmake/Firebolt"
"${FIREBOLT_PATH}/usr/lib/cmake/FireboltSDK")
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_FIREBOLT_PATH})
list(APPEND CMAKE_MODULE_PATH ${CMAKE_FIREBOLT_PATH})
else ()
set(FIREBOLT_PATH "${SYSROOT_PATH}" CACHE INTERNAL "" FORCE)
endif ()

find_package(WPEFramework CONFIG REQUIRED)
find_package(${NAMESPACE}Core CONFIG REQUIRED)
find_package(Firebolt CONFIG REQUIRED)
find_package(${FIREBOLT_NAMESPACE}SDK CONFIG REQUIRED)

set(TESTAPP TestFireboltCore)

message("Setup ${TESTAPP}")

add_executable(${TESTAPP} main.c)

target_link_libraries(${TESTAPP}
PRIVATE
${NAMESPACE}Core::${NAMESPACE}Core
${FIREBOLT_NAMESPACE}SDK::${FIREBOLT_NAMESPACE}SDK
)

target_include_directories(${TESTAPP}
PRIVATE
$<BUILD_INTERFACE:${FIREBOLT_PATH}/usr/include/${FIREBOLT_NAMESPACE}SDK>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SRC_DIR}/>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SRC_DIR}/../>
)

add_custom_command(
TARGET ${TESTAPP}
POST_BUILD
COMMENT "=================== Installing TestApp ======================"
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/${FIREBOLT_NAMESPACE}/usr/bin
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${TESTAPP} ${CMAKE_BINARY_DIR}/${FIREBOLT_NAMESPACE}/usr/bin
)
40 changes: 40 additions & 0 deletions src/sdks/core/src/cpp/sdk/ctest/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#!/bin/bash
usage()
{
echo "options:"
echo " -t test path"
echo " -s sysroot path"
echo " -f firebolt path"
echo " -c clear build"
echo " -h : help"
echo
echo "usage: "
echo " ./build.sh -t testpath -c -f fireboltpath -s sysrootpath"
}

TestPath="."
FireboltPath=${FIREBOLT_PATH}
SysrootPath=${SYSROOT_PATH}
ClearBuild="N"
while getopts t:s:f:ch flag
do
case "${flag}" in
t) TestPath="${OPTARG}";;
s) SysrootPath="${OPTARG}";;
f) FireboltPath="${OPTARG}";;
c) ClearBuild="Y";;
h) usage && exit 1;;
esac
done

if [ "${ClearBuild}" == "Y" ];
then
rm -rf ${TestPath}/build
fi

echo "TestPath"
echo "${TestPath}"
echo "FireboltPath"
echo ${FireboltPath}
cmake -B${TestPath}/build -S${TestPath} -DSYSROOT_PATH=${SysrootPath} -DFIREBOLT_PATH=${FireboltPath}
cmake --build ${TestPath}/build
Loading

0 comments on commit 3984a78

Please sign in to comment.