Refactored the bacnet file object to be storage agnostic with callbacks. (#1056)

This commit is contained in:
Steve Karg
2025-08-01 09:58:07 -05:00
committed by GitHub
parent f88f5a3424
commit 1bebd6ac81
33 changed files with 869 additions and 308 deletions
@@ -17,6 +17,11 @@ string(REGEX REPLACE
"/test"
TST_DIR
${CMAKE_CURRENT_SOURCE_DIR})
string(REGEX REPLACE
"/test/bacnet/[a-zA-Z_/-]*$"
"/ports"
PORTS_DIR
${CMAKE_CURRENT_SOURCE_DIR})
set(ZTST_DIR "${TST_DIR}/ztest/src")
add_compile_definitions(
@@ -34,6 +39,7 @@ add_compile_definitions(
include_directories(
${SRC_DIR}
${PORTS_DIR}/posix
${TST_DIR}/bacnet/basic/object/test
${TST_DIR}/ztest/include
)
@@ -80,6 +86,7 @@ add_executable(${PROJECT_NAME}
${SRC_DIR}/bacnet/datalink/bvlc.c
${SRC_DIR}/bacnet/datalink/bvlc6.c
${SRC_DIR}/bacnet/datalink/bsc/bsc-util.c
${PORTS_DIR}/posix/bacfile-posix.c
# Test and test library files
${TST_DIR}/bacnet/basic/object/test/device_mock.c
${TST_DIR}/bacnet/basic/object/test/datetime_local.c
@@ -11,6 +11,7 @@
#include <bacnet/basic/object/netport.h>
#include <bacnet/basic/object/sc_netport.h>
#include <bacnet/basic/object/bacfile.h>
#include <bacfile-posix.h>
#include <property_test.h>
#ifndef BACDL_BSC
#define BACDL_BSC
@@ -765,6 +766,7 @@ static void test_network_port_sc_certificates(void)
zassert_true(count > 0, NULL);
bacfile_init();
bacfile_posix_init();
// CA certificate
status = bacfile_create(BSC_ISSUER_CERTIFICATE_FILE_1_INSTANCE);
zassert_true(status, NULL);
@@ -27,8 +27,8 @@ set(ZTST_DIR "${TST_DIR}/ztest/src")
add_compile_definitions(
BIG_ENDIAN=0
CONFIG_ZTEST=1
BACDL_BSC
MAX_BACFILES=4
BACFILE=1
BSC_CONF_WSURL_MAX_LEN=128
BSC_CONF_WEBSOCKET_ERR_DESC_STR_MAX_LEN=128
BSC_CONF_HUB_FUNCTION_CONNECTIONS_NUM=3
@@ -47,6 +47,7 @@ add_compile_definitions(
include_directories(
${SRC_DIR}
${PORTS_DIR}/posix
${TST_DIR}/ztest/include
)
@@ -197,6 +198,7 @@ target_sources(${PROJECT_NAME} PRIVATE
${SRC_DIR}/bacnet/timestamp.c
${SRC_DIR}/bacnet/weeklyschedule.c
${SRC_DIR}/bacnet/wp.c
${PORTS_DIR}/posix/bacfile-posix.c
# Test and test library files
./src/main.c
${TST_DIR}/bacnet/basic/object/test/device_mock.c
+7 -2
View File
@@ -23,7 +23,8 @@
#include <bacnet/datalink/bsc/bsc-util.h>
#include <bacnet/datalink/bsc/bsc-event.h>
#include <bacnet/bacdef.h>
#include "bacnet/basic/sys/debug.h"
#include <bacnet/basic/sys/debug.h>
#include <bacfile-posix.h>
unsigned char ca_key[] = { 0x2d,
0x2d,
@@ -10004,6 +10005,7 @@ static void test_sc_parameters(void)
// prepare
bacfile_init();
bacfile_posix_init();
netport_object_init(
SC_DATALINK_INSTANCE, ca_cert, sizeof(ca_cert), server_cert,
sizeof(server_cert), server_key, sizeof(server_key),
@@ -10017,7 +10019,9 @@ static void test_sc_parameters(void)
// check
zassert_equal(
bsc_conf.ca_cert_chain_size, sizeof(ca_cert) + ZERO_BYTE, NULL);
bsc_conf.ca_cert_chain_size, sizeof(ca_cert) + ZERO_BYTE,
"ca_cert=%zu actual=%zu", bsc_conf.ca_cert_chain_size,
sizeof(ca_cert) + ZERO_BYTE);
zassert_mem_equal(bsc_conf.ca_cert_chain, ca_cert, sizeof(ca_cert), NULL);
zassert_equal(
bsc_conf.cert_chain_size, sizeof(server_cert) + ZERO_BYTE, NULL);
@@ -10155,6 +10159,7 @@ static void test_sc_datalink(void)
SC_NETPORT_DIRECT_SERVER_PORT);
bacfile_init();
bacfile_posix_init();
netport_object_init(
SC_DATALINK_INSTANCE, ca_cert, sizeof(ca_cert), server_cert,
sizeof(server_cert), server_key, sizeof(server_key),