-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PR: gh #66 : Changes for GET Request support in ut-control #68
base: develop
Are you sure you want to change the base?
Conversation
dd609e7
to
70626d5
Compare
70626d5
to
ac330de
Compare
KVP now has a function which emits data in either json or yaml based on users demand. Also added tests to check the function Added curl clients to test GET Requests.
ac330de
to
f62d964
Compare
ut_control_test.sh results ./ut_control_test.sh
Listing Filename:[/tmp/ut-log_2025-01-20_164610.log-Listing.xml]
Results Filename:[/tmp/ut-log_2025-01-20_164610.log]
2025-01-20-16:46:10, LOG , ut_cunit.c, 147 : ---- start of test run ----
ut-core: Wrapper framework for testing frameworks
***************** CUNIT CONSOLE - MAIN MENU ******************************
(R)un (S)elect (L)ist (A)ctivate (F)ailures (O)ptions (H)elp (Q)uit
Enter command: r
2025-01-20-16:46:11, LOG , ut_console.c, 633 :
2025-01-20-16:46:11, LOG , ut_console.c, 636 : Running Suite : L1 - ut_control function tests
2025-01-20-16:46:11, LOG , ut_console.c, 639 : Running Test : 'ut-cp Init Exit'
2025-01-20-16:46:11, LOG , ut_test_control_plane.c, 62 :
test_ut_control_l1_testInitExit
2025-01-20-16:46:11, ERROR , ut_control_plane.c, 796 : Invalid Handle
2025-01-20-16:46:11, ERROR , ut_control_plane.c, 628 : port cannot be 0
2025-01-20-16:46:11, LOG , ut_test_control_plane.c, 83 : test_ut_control_l1_testInitExit
2025-01-20-16:46:11, LOG , ut_console.c, 661 : Test Complete : 'ut-cp Init Exit'
2025-01-20-16:46:11, LOG , ut_console.c, 633 :
2025-01-20-16:46:11, LOG , ut_console.c, 639 : Running Test : 'ut-cp register callback'
2025-01-20-16:46:11, LOG , ut_test_control_plane.c, 130 :
test_ut_control_l1_regsiterCallback
2025-01-20-16:46:11, ERROR , ut_control_plane.c, 725 : Invalid Param
2025-01-20-16:46:11, ERROR , ut_control_plane.c, 731 : NULL callbackFunction
2025-01-20-16:46:11, ERROR , ut_control_plane.c, 737 : NULL userData
2025-01-20-16:46:11, ERROR , ut_control_plane.c, 719 : Invalid Handle
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 1
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 2
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 3
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 4
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 5
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 6
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 7
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 8
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 9
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 10
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 11
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 12
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 13
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 14
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 15
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 16
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 17
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 18
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 19
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 20
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 21
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 22
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 23
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 24
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 25
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 26
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 27
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 28
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 29
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 30
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 31
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 32
2025-01-20-16:46:11, LOG , ut_test_control_plane.c, 166 : test_ut_control_l1_regsiterCallback
2025-01-20-16:46:11, LOG , ut_console.c, 661 : Test Complete : 'ut-cp register callback'
2025-01-20-16:46:11, LOG , ut_console.c, 633 :
2025-01-20-16:46:11, LOG , ut_console.c, 639 : Running Test : 'ut-cp websocket service'
2025-01-20-16:46:11, LOG , ut_test_control_plane.c, 92 :
test_ut_control_l1_testStartStop
2025-01-20-16:46:11, ERROR , ut_control_plane.c, 796 : Invalid Handle
2025-01-20-16:46:11, ERROR , ut_control_plane.c, 796 : Invalid Handle
2025-01-20-16:46:11, LOG , ut_test_control_plane.c, 99 : Control Plan Init
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 687 : pthread id = 139676935312960
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 205 : pthread id 2 = 139676926920256
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 215 : EXIT REQUESTED in thread1. Thread1 going to exit
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 242 : Thread2 exitted
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 687 : pthread id = 139676935312960
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 205 : pthread id 2 = 139676926920256
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 215 : EXIT REQUESTED in thread1. Thread1 going to exit
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 242 : Thread2 exitted
2025-01-20-16:46:11, LOG , ut_test_control_plane.c, 121 : test_ut_control_l1_testStartStop
2025-01-20-16:46:11, LOG , ut_console.c, 661 : Test Complete : 'ut-cp websocket service'
2025-01-20-16:46:11, LOG , ut_console.c, 633 :
2025-01-20-16:46:11, LOG , ut_console.c, 636 : Running Suite : L2 - ut_control Module tests
2025-01-20-16:46:11, LOG , ut_console.c, 639 : Running Test : 'ut-cp Init'
2025-01-20-16:46:11, LOG , ut_test_control_plane.c, 228 : test_ut_control_performInit()
2025-01-20-16:46:11, LOG , ut_console.c, 661 : Test Complete : 'ut-cp Init'
2025-01-20-16:46:11, LOG , ut_console.c, 633 :
2025-01-20-16:46:11, LOG , ut_console.c, 639 : Running Test : 'ut-cp Start'
2025-01-20-16:46:11, LOG , ut_test_control_plane.c, 237 : UT_ControlPlane_RegisterCallbackOnMessage() client testYAMLCallback - Negative
2025-01-20-16:46:11, ERROR , ut_control_plane.c, 737 : NULL userData
Original Yaml file
---
test:
yamlData: somevalue
x: 1
on: true
test2:
yamlData1: somevalue1
y: 2
off: false
2025-01-20-16:46:11, LOG , ut_test_control_plane.c, 246 : UT_ControlPlane_RegisterCallbackOnMessage() client testYAMLCallback - Positive
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 1
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 687 : pthread id = 139676935312960
Original Json file
{
"test": {
"jsonData": "somevalue",
"x": 1,
"on": true
},
"test2": {
"jsonData1": "somevalue1",
"y": 2,
"off": false
}
}
2025-01-20-16:46:11, LOG , ut_test_control_plane.c, 262 : UT_ControlPlane_RegisterCallbackOnMessage() client testJSONCallback - Positive
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 750 : callback_entry_index : 2
2025-01-20-16:46:11, LOG , ut_console.c, 661 : Test Complete : 'ut-cp Start'
2025-01-20-16:46:11, DEBUG , ut_control_plane.c, 205 : pthread id 2 = 139676926920256
2025-01-20-16:46:11, LOG , ut_console.c, 633 :
2025-01-20-16:46:11, LOG , ut_console.c, 639 : Running Test : 'ut-cp run client'
2025-01-20-16:46:11, LOG , ut_test_control_plane.c, 279 : Please Run the command `./curl-requests-script.sh` or `test_script_for_curl_request.sh` from another terminal and press return;'
2025-01-20-16:46:11, LOG , ut_test_control_plane.c, 280 : In order to pass the test you need to run each of the curl scripts'
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 366 : LWS_CALLBACK_HTTP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 378 : Requested URI: /api/getKVP
lws_hdr_copy: WSI_TOKEN_HTTP_URI_ARGS toklen 17
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 386 : Query String: key=test/yamlData
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 393 : Parsed Query Parameter: key=test/yamlData
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 410 : Accept Header: application/x-yaml
2025-01-20-16:46:18, ERROR , ut_kvp.c, 549 : node not found for key = [test/yamlData] : UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 366 : LWS_CALLBACK_HTTP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 378 : Requested URI: /api/getKVP
lws_hdr_copy: WSI_TOKEN_HTTP_URI_ARGS toklen 17
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 386 : Query String: key=test/jsonData
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 393 : Parsed Query Parameter: key=test/jsonData
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 410 : Accept Header: application/json
2025-01-20-16:46:18, ERROR , ut_kvp.c, 549 : node not found for key = [test/jsonData] : UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 366 : LWS_CALLBACK_HTTP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 378 : Requested URI: /api/getKVP
lws_hdr_copy: WSI_TOKEN_HTTP_URI_ARGS toklen 17
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 386 : Query String: key=test/yamlData
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 393 : Parsed Query Parameter: key=test/yamlData
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 410 : Accept Header: */*
2025-01-20-16:46:18, ERROR , ut_control_plane.c, 508 : Invalid key value or unsupported Accept header
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 366 : LWS_CALLBACK_HTTP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 378 : Requested URI: /api/getKVP
lws_hdr_copy: WSI_TOKEN_HTTP_URI_ARGS toklen 8
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 386 : Query String: key=test
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 393 : Parsed Query Parameter: key=test
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 410 : Accept Header: application/json
2025-01-20-16:46:18, ERROR , ut_kvp.c, 555 : invalid key
2025-01-20-16:46:18, ERROR , ut_kvp.c, 555 : invalid key
2025-01-20-16:46:18, ERROR , ut_control_plane.c, 430 : Failed to create response
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 366 : LWS_CALLBACK_HTTP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 378 : Requested URI: /api/getKVP
lws_hdr_copy: WSI_TOKEN_HTTP_URI_ARGS toklen 8
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 386 : Query String: key=test
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 393 : Parsed Query Parameter: key=test
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 410 : Accept Header: application/x-yaml
2025-01-20-16:46:18, ERROR , ut_kvp.c, 555 : invalid key
2025-01-20-16:46:18, ERROR , ut_kvp.c, 555 : invalid key
2025-01-20-16:46:18, ERROR , ut_control_plane.c, 471 : Failed to create response
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 366 : LWS_CALLBACK_HTTP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 378 : Requested URI: /api/postKVP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 533 : LWS_CALLBACK_HTTP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 536 : LWS_CALLBACK_HTTP, perSessionData not NULL
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 554 : LWS_CALLBACK_HTTP_BODY_COMPLETION
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 557 : LWS_CALLBACK_HTTP_BODY_COMPLETION, perSessionData not NULL
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 222 : DATA RECEIVED
*******************************Inside testYAMLCallback************************
---
test:
yamlData: somevalue
x: 1
on: true
test2:
yamlData1: somevalue1
y: 2
off: false
Original Yaml file
---
test:
yamlData: somevalue
x: 1
on: true
test2:
yamlData1: somevalue1
y: 2
off: false
2025-01-20-16:46:18, ERROR , ut_kvp.c, 549 : node not found for key = [test2/jsonData1] : UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 366 : LWS_CALLBACK_HTTP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 378 : Requested URI: /api/postKVP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 533 : LWS_CALLBACK_HTTP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 536 : LWS_CALLBACK_HTTP, perSessionData not NULL
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 554 : LWS_CALLBACK_HTTP_BODY_COMPLETION
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 557 : LWS_CALLBACK_HTTP_BODY_COMPLETION, perSessionData not NULL
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 222 : DATA RECEIVED
2025-01-20-16:46:18, ERROR , ut_kvp.c, 549 : node not found for key = [test/yamlData] : UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:18, LOG , ut_test_control_plane.c, 198 : **************testJSONCallback is called****************
{
"test": {
"jsonData": "somevalue",
"x": 1,
"on": true
},
"test2": {
"jsonData1": "somevalue1",
"y": 2,
"off": false
}
}
Original Json file
{
"test": {
"jsonData": "somevalue",
"x": 1,
"on": true
},
"test2": {
"jsonData1": "somevalue1",
"y": 2,
"off": false
}
}
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 366 : LWS_CALLBACK_HTTP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 378 : Requested URI: /api/postKVP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 533 : LWS_CALLBACK_HTTP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 536 : LWS_CALLBACK_HTTP, perSessionData not NULL
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 554 : LWS_CALLBACK_HTTP_BODY_COMPLETION
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 557 : LWS_CALLBACK_HTTP_BODY_COMPLETION, perSessionData not NULL
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 222 : DATA RECEIVED
*******************************Inside testYAMLCallback************************
---
test:
yamlData: somevalue
x: 1
on: true
test2:
yamlData1: somevalue1
y: 2
off: false
Original Yaml file
---
test:
yamlData: somevalue
x: 1
on: true
test2:
yamlData1: somevalue1
y: 2
off: false
2025-01-20-16:46:18, ERROR , ut_kvp.c, 549 : node not found for key = [test2/jsonData1] : UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 366 : LWS_CALLBACK_HTTP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 378 : Requested URI: /api/postKVP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 533 : LWS_CALLBACK_HTTP
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 536 : LWS_CALLBACK_HTTP, perSessionData not NULL
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 554 : LWS_CALLBACK_HTTP_BODY_COMPLETION
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 557 : LWS_CALLBACK_HTTP_BODY_COMPLETION, perSessionData not NULL
2025-01-20-16:46:18, DEBUG , ut_control_plane.c, 222 : DATA RECEIVED
2025-01-20-16:46:18, ERROR , ut_kvp.c, 549 : node not found for key = [test/yamlData] : UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:18, LOG , ut_test_control_plane.c, 198 : **************testJSONCallback is called****************
{
"test": {
"jsonData": "somevalue",
"x": 1,
"on": true
},
"test2": {
"jsonData1": "somevalue1",
"y": 2,
"off": false
}
}
Original Json file
{
"test": {
"jsonData": "somevalue",
"x": 1,
"on": true
},
"test2": {
"jsonData1": "somevalue1",
"y": 2,
"off": false
}
}
2025-01-20-16:46:26, LOG , ut_console.c, 661 : Test Complete : 'ut-cp run client'
2025-01-20-16:46:26, LOG , ut_console.c, 633 :
2025-01-20-16:46:26, LOG , ut_console.c, 639 : Running Test : 'ut-cp Stop'
2025-01-20-16:46:26, LOG , ut_test_control_plane.c, 310 : test_ut_control_performStop()
2025-01-20-16:46:26, DEBUG , ut_control_plane.c, 215 : EXIT REQUESTED in thread1. Thread1 going to exit
2025-01-20-16:46:41, DEBUG , ut_control_plane.c, 242 : Thread2 exitted
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'ut-cp Stop'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'ut-cp Exit'
2025-01-20-16:46:41, LOG , ut_test_control_plane.c, 316 : test_ut_control_performExit()
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'ut-cp Exit'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 636 : Running Suite : L1 - ut_control mapping tests
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'ut-control Get Map Value'
2025-01-20-16:46:41, LOG , ut_test_control_plane.c, 333 : test_ut_control_get_map_value()
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'ut-control Get Map Value'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'ut-control get Map String'
2025-01-20-16:46:41, LOG , ut_test_control_plane.c, 339 : test_ut_control_get_map_string()
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'ut-control get Map String'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 636 : Running Suite : ut-kvp - test functions
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp create / destroy'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 816 : Invalid Handle
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp create / destroy'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp read'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 90 : ut_kvp_open( NULL, NULL )
2025-01-20-16:46:41, ERROR , ut_kvp.c, 816 : Invalid Handle
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 95 : ut_kvp_createInstance
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 100 : ut_kvp_close( pInstance ) - Not been opened
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 104 : ut_kvp_open( pInstance, NULL ) - Negative
2025-01-20-16:46:41, ERROR , ut_kvp.c, 110 : Invalid Param [fileName]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 109 : ut_kvp_open( pInstance, assets/this_does_not_exist.yaml - filename doesn't exist ) - Negative
2025-01-20-16:46:41, ERROR , ut_kvp.c, 116 : [assets/this_does_not_exist.yaml] cannot be accesed
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 114 : ut_kvp_open( pInstance, assets/zero_length.yaml - zero length file ) - Negative[ERR]: fy_parse_load_document() failed
2025-01-20-16:46:41, ERROR , ut_kvp.c, 131 : Unable to parse file/memory
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 119 : ut_kvp_open( pInstance, KVP_VALID_TEST_YAML_FILE ) - Positive
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 123 : ut_kvp_open( pInstance, assets/no_data_file.yaml ) - Postive
2025-01-20-16:46:41, ERROR , ut_kvp.c, 981 : Warning: Cannot merge nodes of incompatible types
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 128 : ut_kvp_destroyInstance(1) - Positive
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 130 : ut_kvp_destroyInstance(2) - Positive
2025-01-20-16:46:41, ERROR , ut_kvp.c, 822 : Invalid Handle - magic failure
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 134 : ut_kvp_close(1) - Positive
2025-01-20-16:46:41, ERROR , ut_kvp.c, 822 : Invalid Handle - magic failure
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 136 : ut_kvp_close(2) - Positive
2025-01-20-16:46:41, ERROR , ut_kvp.c, 822 : Invalid Handle - magic failure
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 140 : ut_kvp_close(3) - Positive
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 144 : ut_kvp_close(3) - Positive
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 146 : ut_kvp_close(4) - Positive
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp read'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 636 : Running Suite : ut-kvp - test main functions YAML Decoder
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint8'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, DEBUG , ut_kvp.c, 332 : Value out of range for maxRange [0xff,255].
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint8'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint16'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, DEBUG , ut_kvp.c, 332 : Value out of range for maxRange [0xffff,65535].
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint16'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp bool'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp bool'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp string'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 352 : ut_kvp_getField() - Check for INVALID_PARAM
2025-01-20-16:46:41, ERROR , ut_kvp.c, 816 : Invalid Handle
2025-01-20-16:46:41, ERROR , ut_kvp.c, 518 : Invalid Param - pszKey
2025-01-20-16:46:41, ERROR , ut_kvp.c, 518 : Invalid Param - pszKey
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 364 : ut_kvp_getStringField() - Check for UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:41, ERROR , ut_kvp.c, 549 : node not found for key = [shouldNotWork/checkStringDeadBeef] : UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 377 : ut_kvp_getStringField() - Check String with no quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 381 : checkStringDeadBeefNoQuotes[the beef is dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 383 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 387 : checkStringDeadBeef[the beef is dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 389 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 393 : checkStringDeadBeef2[the beef is also dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 395 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 399 : checkStringDeadBeef[the beef is dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 401 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 405 : checkStringDeadBeef2[the beef is also dead]
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp string'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint32'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, DEBUG , ut_kvp.c, 332 : Value out of range for maxRange [0xffffffff,4294967295].
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint32'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint64'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint64'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp list'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 555 : invalid key
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp list'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp float'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 569 : ut_kvp_getFloatField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 573 : ut_kvp_getFloatField()
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp float'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp double'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 585 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 589 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 593 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 597 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 601 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, ERROR , ut_kvp.c, 449 : Error: Invalid floating-point string: 'invalid_string'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 605 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, ERROR , ut_kvp.c, 449 : Error: Invalid floating-point string: 'invalid_string'
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp double'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp node presence'
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp node presence'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp dataByte'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 416 : ut_kvp_getDataBytes() - Check for NULL_PARAM - First Argument
2025-01-20-16:46:41, ERROR , ut_kvp.c, 816 : Invalid Handle
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 421 : ut_kvp_getDataBytes() - Check for NULL_PARAM - Second Argument
2025-01-20-16:46:41, ERROR , ut_kvp.c, 650 : Invalid Param - pszKey
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 426 : ut_kvp_getDataBytes() - Check for NULL_PARAM - Third Argument
2025-01-20-16:46:41, ERROR , ut_kvp.c, 656 : Invalid address passed
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 432 : ut_kvp_getDataBytes() - checkBytesSpace for output_bytes = NULL and bytes_count = 0, when key is not found
2025-01-20-16:46:41, ERROR , ut_kvp.c, 680 : node not found for key = [shouldNotWork/checkStringDeadBeef] : UT_KVP_STATUS_KEY_NOT_FOUND
YAML file is =
---
decodeTest:
checkUint8IsDeHex: 0xde
checkUint8IsDeDec: 222
checkUint16IsDeadHex: 0xdead
checkUint16IsDeadDec: 57005
checkUint32IsDeadBeefHex: 0xdeadbeef
checkUint32IsDeadBeefDec: 3735928559
checkUint64IsDeadBeefHex: 0xdeadbeefdeadbeef
checkUint64IsDeadBeefDec: 16045690984833335023
checkStringDeadBeef: "the beef is dead"
checkStringDeadBeef2: the beef is also dead
checkStringDeadBeefNoQuotes: the beef is dead
checkBoolFalse: false
checkBoolFALSE: FALSE
checkBoolFaLse: FaLSE
checkBoolTRUE: TRUE
checkBooltrue: true
checkBoolTRuE: TRuE
checkStringList:
- stringA
- stringB
- stringC
checkUint32List:
- 720
- 800
- 1080
checkFloat: 5.1
checkDoublePi: 3.14159265358979323846
checkDoubleScientific : -4.2e8
checkDoubleInvalid : invalid_string
checkBytesSpace: 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01
0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a
0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b
0x2a 0x01 0x01 0x01 0x01
checkBytesComma: 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85,0x1b,0x2a,
0x01,0x01,0x01,0x01,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85,0x1b,
0x2a,0x01,0x01,0x01,0x01,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85,
0x1b,0x2a,0x01,0x01,0x01,0x01
checkBytesIncorrect: 00 ff ff ff ff ff ff 00 15 85 1b 2a 01 01 01 01 ff 20
01 03 80 7a 45 78 0a ee 91 a3 54 4c 99 26 0f 50 54 21 08 00 31 40 45 40 61
40 71 40 81 80 01 01 01 01 01 01 08 e8 00 30 f2 70 5a 80 b0 58 8a 00 40 84
63 00 00 1e 02 3a 80 18 71 38 2d 40 58 2c 45 00 40 84 63 00 00 1e 00 00 00
fd 00 17 3e 1e 88 3c 00 0a 20 20 20 20 20 20 00 00 00 fc 00 65 6c 65 6d 65
6e 74 20 54 56 0a 20 20 01 6f 02 03 5f f1 53 61 60 10 1f 04 13 05 14 03 02
12 20 21 22 15 01 5d 5e 5f 2c 09 57 03 15 07 50 57 07 00 67 7e 00 6d 03 0c
00 10 00 38 3c 20 00 60 01 02 03 68 d8 5d c4 01 78 88 0b 02 e2 00 cf e3 05
c0 00 e3 06 0d 01 e4 0f 03 00 00 eb 01 46 d0 00 4d 57 3a 94 34 07 a5 e6 11
46 d0 00 00 00 66 21 50 b0 51 00 1b 30 40 70 36 00 40 84 63 00 00 1e 00 00
00 00 00 00 00 00 00 00 00 00 00 00 66
checkByteCommaSpaces: 0x00, 0xff, 0xff, 0xff
checkByteSpaceSpaceCommaSpace: 0xff 0xdd, 0xee
checkBytesDecimalSpace: 00 55 255 255
checkBytesDecimalComma: 00,255,55,255
checkBytesDecimalCommaSpace: 00, 255, 255, 55
checkByteInvalid: 0xFF 9A
checkBytePrefix: 0xFF 0xed 0X15 0xee
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 442 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 446 : Parsed 48 bytes:
0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 451 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 455 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 459 : Parsed 48 bytes:
0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 464 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 468 : ut_kvp_getDataBytes() - checkBytesSpace for output_bytes = NULL and bytes_count = 0
2025-01-20-16:46:41, ERROR , ut_kvp.c, 738 : Invalid byte value: ff
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 472 : Parsed 0 bytes:
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 473 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 477 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 481 : Parsed 4 bytes:
0x00 0xff 0xff 0xff
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 486 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 490 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 494 : Parsed 4 bytes:
0x00 0x37 0xff 0xff
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 499 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 503 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 507 : Parsed 4 bytes:
0x00 0xff 0x37 0xff
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 512 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 516 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 520 : Parsed 4 bytes:
0x00 0xff 0xff 0x37
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 525 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 529 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 533 : Parsed 3 bytes:
0xff 0xdd 0xee
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 538 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 542 : ut_kvp_getDataBytes() - checkBytesSpace for output_bytes = NULL and bytes_count = 0
2025-01-20-16:46:41, ERROR , ut_kvp.c, 738 : Invalid byte value: 9A
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 546 : Parsed 0 bytes:
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 550 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 554 : Parsed 4 bytes:
0xff 0xed 0x15 0xee
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 559 :
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp dataByte'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp get JSON data'{
"decodeTest": {
"checkUint8IsDeHex": "0xde",
"checkUint8IsDeDec": 222,
"checkUint16IsDeadHex": "0xdead",
"checkUint16IsDeadDec": 57005,
"checkUint32IsDeadBeefHex": "0xdeadbeef",
"checkUint32IsDeadBeefDec": 3735928559,
"checkUint64IsDeadBeefHex": "0xdeadbeefdeadbeef",
"checkUint64IsDeadBeefDec": 16045690984833335023,
"checkStringDeadBeef": "the beef is dead",
"checkStringDeadBeef2": "the beef is also dead",
"checkStringDeadBeefNoQuotes": "the beef is dead",
"checkBoolFalse": false,
"checkBoolFALSE": "FALSE",
"checkBoolFaLse": "FaLSE",
"checkBoolTRUE": "TRUE",
"checkBooltrue": true,
"checkBoolTRuE": "TRuE",
"checkStringList": [
"stringA",
"stringB",
"stringC"
],
"checkUint32List": [
720,
800,
1080
],
"checkFloat": 5.1,
"checkDoublePi": 3.14159265358979323846,
"checkDoubleScientific": -4.2e8,
"checkDoubleInvalid": "invalid_string",
"checkBytesSpace": "0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01",
"checkBytesComma": "0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85,0x1b,0x2a, 0x01,0x01,0x01,0x01,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85,0x1b, 0x2a,0x01,0x01,0x01,0x01,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85, 0x1b,0x2a,0x01,0x01,0x01,0x01",
"checkBytesIncorrect": "00 ff ff ff ff ff ff 00 15 85 1b 2a 01 01 01 01 ff 20 01 03 80 7a 45 78 0a ee 91 a3 54 4c 99 26 0f 50 54 21 08 00 31 40 45 40 61 40 71 40 81 80 01 01 01 01 01 01 08 e8 00 30 f2 70 5a 80 b0 58 8a 00 40 84 63 00 00 1e 02 3a 80 18 71 38 2d 40 58 2c 45 00 40 84 63 00 00 1e 00 00 00 fd 00 17 3e 1e 88 3c 00 0a 20 20 20 20 20 20 00 00 00 fc 00 65 6c 65 6d 65 6e 74 20 54 56 0a 20 20 01 6f 02 03 5f f1 53 61 60 10 1f 04 13 05 14 03 02 12 20 21 22 15 01 5d 5e 5f 2c 09 57 03 15 07 50 57 07 00 67 7e 00 6d 03 0c 00 10 00 38 3c 20 00 60 01 02 03 68 d8 5d c4 01 78 88 0b 02 e2 00 cf e3 05 c0 00 e3 06 0d 01 e4 0f 03 00 00 eb 01 46 d0 00 4d 57 3a 94 34 07 a5 e6 11 46 d0 00 00 00 66 21 50 b0 51 00 1b 30 40 70 36 00 40 84 63 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 66",
"checkByteCommaSpaces": "0x00, 0xff, 0xff, 0xff",
"checkByteSpaceSpaceCommaSpace": "0xff 0xdd, 0xee",
"checkBytesDecimalSpace": "00 55 255 255",
"checkBytesDecimalComma": "00,255,55,255",
"checkBytesDecimalCommaSpace": "00, 255, 255, 55",
"checkByteInvalid": "0xFF 9A",
"checkBytePrefix": "0xFF 0xed 0X15 0xee"
}
}
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp get JSON data'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 636 : Running Suite : ut-kvp - test main functions JSON Decoder
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp string'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 352 : ut_kvp_getField() - Check for INVALID_PARAM
2025-01-20-16:46:41, ERROR , ut_kvp.c, 816 : Invalid Handle
2025-01-20-16:46:41, ERROR , ut_kvp.c, 518 : Invalid Param - pszKey
2025-01-20-16:46:41, ERROR , ut_kvp.c, 518 : Invalid Param - pszKey
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 364 : ut_kvp_getStringField() - Check for UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:41, ERROR , ut_kvp.c, 549 : node not found for key = [shouldNotWork/checkStringDeadBeef] : UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 377 : ut_kvp_getStringField() - Check String with no quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 381 : checkStringDeadBeefNoQuotes[the beef is dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 383 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 387 : checkStringDeadBeef[the beef is dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 389 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 393 : checkStringDeadBeef2[the beef is also dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 395 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 399 : checkStringDeadBeef[the beef is dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 401 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 405 : checkStringDeadBeef2[the beef is also dead]
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp string'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint8'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, DEBUG , ut_kvp.c, 332 : Value out of range for maxRange [0xff,255].
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint8'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint16'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, DEBUG , ut_kvp.c, 332 : Value out of range for maxRange [0xffff,65535].
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint16'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp bool'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp bool'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint32'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, DEBUG , ut_kvp.c, 332 : Value out of range for maxRange [0xffffffff,4294967295].
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint32'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint64'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint64'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp list'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 555 : invalid key
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp list'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp float'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 569 : ut_kvp_getFloatField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 573 : ut_kvp_getFloatField()
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp float'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp double'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 585 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 589 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 593 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 597 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 601 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, ERROR , ut_kvp.c, 449 : Error: Invalid floating-point string: 'invalid_string'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 605 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, ERROR , ut_kvp.c, 449 : Error: Invalid floating-point string: 'invalid_string'
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp double'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp node presence'
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp node presence'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp get Yaml data'{
"decodeTest": {
"checkUint8IsDeHex": "0xde",
"checkUint8IsDeDec": 222,
"checkUint16IsDeadHex": "0xdead",
"checkUint16IsDeadDec": 57005,
"checkUint32IsDeadBeefHex": "0xdeadbeef",
"checkUint32IsDeadBeefDec": 3735928559,
"checkUint64IsDeadBeefHex": "0xdeadbeefdeadbeef",
"checkUint64IsDeadBeefDec": 16045690984833335023,
"checkStringDeadBeef": "the beef is dead",
"checkStringDeadBeef2": "the beef is also dead",
"checkStringDeadBeefNoQuotes": "the beef is dead",
"checkBoolFalse": false,
"checkBoolFALSE": "FALSE",
"checkBoolFaLse": "FaLSE",
"checkBoolTRUE": "TRUE",
"checkBooltrue": true,
"checkBoolTRuE": "TRuE",
"checkStringList": [
"stringA",
"stringB",
"stringC"
],
"checkUint32List": [
720,
800,
1080
],
"checkFloat": 5.1,
"checkDoublePi": 3.14159265358979323846,
"checkDoubleScientific": -4.2e8,
"checkDoubleInvalid": "invalid_string"
}
}
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp get Yaml data'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 636 : Running Suite : ut-kvp - test main functions Test without Open
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp read negative'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 637 : ut_kvp_getBoolField() - negative
2025-01-20-16:46:41, ERROR , ut_kvp.c, 822 : Invalid Handle - magic failure
2025-01-20-16:46:41, ERROR , ut_kvp.c, 822 : Invalid Handle - magic failure
2025-01-20-16:46:41, ERROR , ut_kvp.c, 822 : Invalid Handle - magic failure
2025-01-20-16:46:41, ERROR , ut_kvp.c, 822 : Invalid Handle - magic failure
2025-01-20-16:46:41, ERROR , ut_kvp.c, 532 : No Data File open
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp read negative'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 636 : Running Suite : ut-kvp - test main functions YAML Decoder with malloc'd data
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint8'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, DEBUG , ut_kvp.c, 332 : Value out of range for maxRange [0xff,255].
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint8'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint16'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, DEBUG , ut_kvp.c, 332 : Value out of range for maxRange [0xffff,65535].
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint16'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp bool'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp bool'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp string'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 352 : ut_kvp_getField() - Check for INVALID_PARAM
2025-01-20-16:46:41, ERROR , ut_kvp.c, 816 : Invalid Handle
2025-01-20-16:46:41, ERROR , ut_kvp.c, 518 : Invalid Param - pszKey
2025-01-20-16:46:41, ERROR , ut_kvp.c, 518 : Invalid Param - pszKey
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 364 : ut_kvp_getStringField() - Check for UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:41, ERROR , ut_kvp.c, 549 : node not found for key = [shouldNotWork/checkStringDeadBeef] : UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 377 : ut_kvp_getStringField() - Check String with no quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 381 : checkStringDeadBeefNoQuotes[the beef is dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 383 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 387 : checkStringDeadBeef[the beef is dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 389 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 393 : checkStringDeadBeef2[the beef is also dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 395 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 399 : checkStringDeadBeef[the beef is dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 401 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 405 : checkStringDeadBeef2[the beef is also dead]
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp string'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint32'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, DEBUG , ut_kvp.c, 332 : Value out of range for maxRange [0xffffffff,4294967295].
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint32'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint64'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint64'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp float'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 569 : ut_kvp_getFloatField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 573 : ut_kvp_getFloatField()
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp float'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp double'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 585 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 589 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 593 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 597 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 601 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, ERROR , ut_kvp.c, 449 : Error: Invalid floating-point string: 'invalid_string'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 605 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, ERROR , ut_kvp.c, 449 : Error: Invalid floating-point string: 'invalid_string'
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp double'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp node presence'
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp node presence'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp dataByte'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 416 : ut_kvp_getDataBytes() - Check for NULL_PARAM - First Argument
2025-01-20-16:46:41, ERROR , ut_kvp.c, 816 : Invalid Handle
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 421 : ut_kvp_getDataBytes() - Check for NULL_PARAM - Second Argument
2025-01-20-16:46:41, ERROR , ut_kvp.c, 650 : Invalid Param - pszKey
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 426 : ut_kvp_getDataBytes() - Check for NULL_PARAM - Third Argument
2025-01-20-16:46:41, ERROR , ut_kvp.c, 656 : Invalid address passed
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 432 : ut_kvp_getDataBytes() - checkBytesSpace for output_bytes = NULL and bytes_count = 0, when key is not found
2025-01-20-16:46:41, ERROR , ut_kvp.c, 680 : node not found for key = [shouldNotWork/checkStringDeadBeef] : UT_KVP_STATUS_KEY_NOT_FOUND
YAML file is =
---
decodeTest:
checkUint8IsDeHex: 0xde
checkUint8IsDeDec: 222
checkUint16IsDeadHex: 0xdead
checkUint16IsDeadDec: 57005
checkUint32IsDeadBeefHex: 0xdeadbeef
checkUint32IsDeadBeefDec: 3735928559
checkUint64IsDeadBeefHex: 0xdeadbeefdeadbeef
checkUint64IsDeadBeefDec: 16045690984833335023
checkStringDeadBeef: "the beef is dead"
checkStringDeadBeef2: the beef is also dead
checkStringDeadBeefNoQuotes: the beef is dead
checkBoolFalse: false
checkBoolFALSE: FALSE
checkBoolFaLse: FaLSE
checkBoolTRUE: TRUE
checkBooltrue: true
checkBoolTRuE: TRuE
checkStringList:
- stringA
- stringB
- stringC
checkUint32List:
- 720
- 800
- 1080
checkFloat: 5.1
checkDoublePi: 3.14159265358979323846
checkDoubleScientific : -4.2e8
checkDoubleInvalid : invalid_string
checkBytesSpace: 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01
0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a
0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b
0x2a 0x01 0x01 0x01 0x01
checkBytesComma: 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85,0x1b,0x2a,
0x01,0x01,0x01,0x01,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85,0x1b,
0x2a,0x01,0x01,0x01,0x01,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85,
0x1b,0x2a,0x01,0x01,0x01,0x01
checkBytesIncorrect: 00 ff ff ff ff ff ff 00 15 85 1b 2a 01 01 01 01 ff 20
01 03 80 7a 45 78 0a ee 91 a3 54 4c 99 26 0f 50 54 21 08 00 31 40 45 40 61
40 71 40 81 80 01 01 01 01 01 01 08 e8 00 30 f2 70 5a 80 b0 58 8a 00 40 84
63 00 00 1e 02 3a 80 18 71 38 2d 40 58 2c 45 00 40 84 63 00 00 1e 00 00 00
fd 00 17 3e 1e 88 3c 00 0a 20 20 20 20 20 20 00 00 00 fc 00 65 6c 65 6d 65
6e 74 20 54 56 0a 20 20 01 6f 02 03 5f f1 53 61 60 10 1f 04 13 05 14 03 02
12 20 21 22 15 01 5d 5e 5f 2c 09 57 03 15 07 50 57 07 00 67 7e 00 6d 03 0c
00 10 00 38 3c 20 00 60 01 02 03 68 d8 5d c4 01 78 88 0b 02 e2 00 cf e3 05
c0 00 e3 06 0d 01 e4 0f 03 00 00 eb 01 46 d0 00 4d 57 3a 94 34 07 a5 e6 11
46 d0 00 00 00 66 21 50 b0 51 00 1b 30 40 70 36 00 40 84 63 00 00 1e 00 00
00 00 00 00 00 00 00 00 00 00 00 00 66
checkByteCommaSpaces: 0x00, 0xff, 0xff, 0xff
checkByteSpaceSpaceCommaSpace: 0xff 0xdd, 0xee
checkBytesDecimalSpace: 00 55 255 255
checkBytesDecimalComma: 00,255,55,255
checkBytesDecimalCommaSpace: 00, 255, 255, 55
checkByteInvalid: 0xFF 9A
checkBytePrefix: 0xFF 0xed 0X15 0xee
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 442 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 446 : Parsed 48 bytes:
0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 451 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 455 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 459 : Parsed 48 bytes:
0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 464 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 468 : ut_kvp_getDataBytes() - checkBytesSpace for output_bytes = NULL and bytes_count = 0
2025-01-20-16:46:41, ERROR , ut_kvp.c, 738 : Invalid byte value: ff
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 472 : Parsed 0 bytes:
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 473 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 477 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 481 : Parsed 4 bytes:
0x00 0xff 0xff 0xff
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 486 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 490 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 494 : Parsed 4 bytes:
0x00 0x37 0xff 0xff
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 499 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 503 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 507 : Parsed 4 bytes:
0x00 0xff 0x37 0xff
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 512 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 516 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 520 : Parsed 4 bytes:
0x00 0xff 0xff 0x37
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 525 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 529 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 533 : Parsed 3 bytes:
0xff 0xdd 0xee
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 538 :
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 542 : ut_kvp_getDataBytes() - checkBytesSpace for output_bytes = NULL and bytes_count = 0
2025-01-20-16:46:41, ERROR , ut_kvp.c, 738 : Invalid byte value: 9A
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 546 : Parsed 0 bytes:
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 550 : ut_kvp_getDataBytes() - checkBytesSpace for valid output_bytes and bytes_count
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 554 : Parsed 4 bytes:
0xff 0xed 0x15 0xee
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 559 :
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp dataByte'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 636 : Running Suite : ut-kvp - test main functions JSON Decoder with malloc'd data
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp string'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 352 : ut_kvp_getField() - Check for INVALID_PARAM
2025-01-20-16:46:41, ERROR , ut_kvp.c, 816 : Invalid Handle
2025-01-20-16:46:41, ERROR , ut_kvp.c, 518 : Invalid Param - pszKey
2025-01-20-16:46:41, ERROR , ut_kvp.c, 518 : Invalid Param - pszKey
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 364 : ut_kvp_getStringField() - Check for UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:41, ERROR , ut_kvp.c, 549 : node not found for key = [shouldNotWork/checkStringDeadBeef] : UT_KVP_STATUS_KEY_NOT_FOUND
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 377 : ut_kvp_getStringField() - Check String with no quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 381 : checkStringDeadBeefNoQuotes[the beef is dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 383 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 387 : checkStringDeadBeef[the beef is dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 389 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 393 : checkStringDeadBeef2[the beef is also dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 395 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 399 : checkStringDeadBeef[the beef is dead]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 401 : ut_kvp_getStringField() - Check String with Quotes for UT_KVP_STATUS_SUCCESS
2025-01-20-16:46:41, LOG , ut_test_kvp.c, 405 : checkStringDeadBeef2[the beef is also dead]
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp string'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint8'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, DEBUG , ut_kvp.c, 332 : Value out of range for maxRange [0xff,255].
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint8'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint16'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, DEBUG , ut_kvp.c, 332 : Value out of range for maxRange [0xffff,65535].
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint16'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp bool'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp bool'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint32'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, DEBUG , ut_kvp.c, 332 : Value out of range for maxRange [0xffffffff,4294967295].
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint32'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp uint64'
2025-01-20-16:46:41, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp uint64'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp float'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 569 : ut_kvp_getFloatField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 573 : ut_kvp_getFloatField()
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp float'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp double'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 585 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 589 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 593 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 597 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 601 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, ERROR , ut_kvp.c, 449 : Error: Invalid floating-point string: 'invalid_string'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 605 : ut_kvp_getDoubleField()
2025-01-20-16:46:41, ERROR , ut_kvp.c, 449 : Error: Invalid floating-point string: 'invalid_string'
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp double'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp node presence'
2025-01-20-16:46:41, LOG , ut_console.c, 661 : Test Complete : 'kvp node presence'
2025-01-20-16:46:41, LOG , ut_console.c, 633 :
2025-01-20-16:46:41, LOG , ut_console.c, 636 : Running Suite : ut-kvp - test kvp_open_memory()
2025-01-20-16:46:41, LOG , ut_console.c, 639 : Running Test : 'kvp read with malloced data'
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 155 : ut_kvp_openMemory( NULL, NULL, -1 )
2025-01-20-16:46:41, ERROR , ut_kvp.c, 816 : Invalid Handle
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 160 : ut_kvp_openMemory( gpMainTestInstance, NULL, -1 ) - Negative
2025-01-20-16:46:41, ERROR , ut_kvp.c, 161 : Invalid Param [string]
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 165 : ut_kvp_openMemory( gpMainTestInstance, - memory block for empty string ) - Negative[ERR]: fy_parse_load_document() failed
2025-01-20-16:46:41, ERROR , ut_kvp.c, 176 : Unable to parse file/memory
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 175 : ut_kvp_openMemory( gpMainTestInstance, assets/zero_length.yaml - zero length file ) - Negative
2025-01-20-16:46:41, ERROR , ut_test_common.c, 36 : zero length file
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 183 : ut_kvp_openMemory( gpMainTestInstance, assets/test_kvp.yaml ) - Positive
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 190 : ut_kvp_openMemory( gpMainTestInstance, assets/no_data_file.yaml ) - Postive
2025-01-20-16:46:41, ERROR , ut_kvp.c, 981 : Warning: Cannot merge nodes of incompatible types
2025-01-20-16:46:41, STEP , ut_test_kvp.c, 197 : ut_kvp_openMemory( gpMainTestInstance, assets/test_kvp.json ) - Postive
2025-01-20-16:46:42, LOG , ut_console.c, 661 : Test Complete : 'kvp read with malloced data'
2025-01-20-16:46:42, LOG , ut_console.c, 633 :
2025-01-20-16:46:42, LOG , ut_console.c, 636 : Running Suite : ut-kvp - test main functions YAML Decoder for includes using build from files
2025-01-20-16:46:42, LOG , ut_console.c, 639 : Running Test : 'kvp single include file'---
"1":
value: true
"2":
value: true
"3":
value: true
"4":
value: true
2025-01-20-16:46:42, LOG , ut_console.c, 661 : Test Complete : 'kvp single include file'
2025-01-20-16:46:42, LOG , ut_console.c, 633 :
2025-01-20-16:46:42, LOG , ut_console.c, 639 : Running Test : 'kvp single include url'---
"1":
value: true
"2":
value: true
"3":
value: true
"4":
value: true
2025-01-20-16:46:42, LOG , ut_console.c, 661 : Test Complete : 'kvp single include url'
2025-01-20-16:46:42, LOG , ut_console.c, 633 :
2025-01-20-16:46:42, LOG , ut_console.c, 639 : Running Test : 'kvp include depth check'---
"1":
value: true
"2":
value: true
"3":
value: true
"4":
value: true
"5":
value: true
2025-01-20-16:46:42, LOG , ut_console.c, 661 : Test Complete : 'kvp include depth check'
2025-01-20-16:46:42, LOG , ut_console.c, 633 :
2025-01-20-16:46:42, LOG , ut_console.c, 636 : Running Suite : ut-kvp - test main functions YAML Decoder for single include files using build from Malloced data
2025-01-20-16:46:42, LOG , ut_console.c, 639 : Running Test : 'kvp single include file'---
"1":
value: true
"2":
value: true
"3":
value: true
"4":
value: true
2025-01-20-16:46:42, LOG , ut_console.c, 661 : Test Complete : 'kvp single include file'
2025-01-20-16:46:42, LOG , ut_console.c, 633 :
2025-01-20-16:46:42, LOG , ut_console.c, 639 : Running Test : 'kvp single include url'---
"1":
value: true
"2":
value: true
"3":
value: true
"4":
value: true
2025-01-20-16:46:42, LOG , ut_console.c, 661 : Test Complete : 'kvp single include url'
2025-01-20-16:46:42, LOG , ut_console.c, 633 :
2025-01-20-16:46:42, LOG , ut_console.c, 639 : Running Test : 'kvp include depth check'---
"1":
value: true
"2":
value: true
"3":
value: true
"4":
value: true
"5":
value: true
2025-01-20-16:46:42, LOG , ut_console.c, 661 : Test Complete : 'kvp include depth check'
2025-01-20-16:46:42, LOG , ut_console.c, 633 :
2025-01-20-16:46:42, LOG , ut_console.c, 636 : Running Suite : ut-kvp - test main functions YAML Decoder for Yaml include support
2025-01-20-16:46:42, LOG , ut_console.c, 639 : Running Test : 'kvp bool from main yaml'
2025-01-20-16:46:42, ERROR , ut_kvp.c, 271 : Parsing Error
2025-01-20-16:46:42, LOG , ut_console.c, 661 : Test Complete : 'kvp bool from main yaml'
2025-01-20-16:46:42, LOG , ut_console.c, 633 :
2025-01-20-16:46:42, LOG , ut_console.c, 639 : Running Test : 'kvp node presence from main yaml'
2025-01-20-16:46:42, LOG , ut_console.c, 661 : Test Complete : 'kvp node presence from main yaml'
2025-01-20-16:46:42, LOG , ut_console.c, 633 :
2025-01-20-16:46:42, LOG , ut_console.c, 636 : Running Suite : ut-kvp - test main functions YAML Decoder for Yaml multiple profile inputs
2025-01-20-16:46:42, LOG , ut_console.c, 639 : Running Test : 'kvp multiple profile'
2025-01-20-16:46:42, STEP , ut_test_kvp.c, 750 : ut_kvp_open( pInstance, KVP_VALID_TEST_YAML_CONFIG_FILE )
2025-01-20-16:46:42, STEP , ut_test_kvp.c, 754 : ut_kvp_open( pInstance, KVP_VALID_TEST_SINGLE_INCLUDE_FILE_YAML )
2025-01-20-16:46:42, STEP , ut_test_kvp.c, 758 : ut_kvp_open( pInstance, KVP_VALID_TEST_DEPTH_CHECK_INCLUDE_YAML )---
decodeTest:
checkUint8IsDeHex: 0xde
checkUint8IsDeDec: 222
checkUint16IsDeadHex: 0xdead
checkUint16IsDeadDec: 57005
checkUint32IsDeadBeefHex: 0xdeadbeef
checkUint32IsDeadBeefDec: 3735928559
checkUint64IsDeadBeefHex: 0xdeadbeefdeadbeef
checkUint64IsDeadBeefDec: 16045690984833335023
checkStringDeadBeef: "the beef is dead"
checkStringDeadBeef2: the beef is also dead
checkStringDeadBeefNoQuotes: the beef is dead
checkBoolFalse: false
checkBoolFALSE: FALSE
checkBoolFaLse: FaLSE
checkBoolTRUE: TRUE
checkBooltrue: true
checkBoolTRuE: TRuE
checkStringList:
- stringA
- stringB
- stringC
checkUint32List:
- 720
- 800
- 1080
checkFloat: 5.1
checkDoublePi: 3.14159265358979323846
checkDoubleScientific: -4.2e8
checkDoubleInvalid: invalid_string
checkBytesSpace: 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01
checkBytesComma: 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85,0x1b,0x2a, 0x01,0x01,0x01,0x01,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85,0x1b, 0x2a,0x01,0x01,0x01,0x01,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85, 0x1b,0x2a,0x01,0x01,0x01,0x01
checkBytesIncorrect: 00 ff ff ff ff ff ff 00 15 85 1b 2a 01 01 01 01 ff 20 01 03 80 7a 45 78 0a ee 91 a3 54 4c 99 26 0f 50 54 21 08 00 31 40 45 40 61 40 71 40 81 80 01 01 01 01 01 01 08 e8 00 30 f2 70 5a 80 b0 58 8a 00 40 84 63 00 00 1e 02 3a 80 18 71 38 2d 40 58 2c 45 00 40 84 63 00 00 1e 00 00 00 fd 00 17 3e 1e 88 3c 00 0a 20 20 20 20 20 20 00 00 00 fc 00 65 6c 65 6d 65 6e 74 20 54 56 0a 20 20 01 6f 02 03 5f f1 53 61 60 10 1f 04 13 05 14 03 02 12 20 21 22 15 01 5d 5e 5f 2c 09 57 03 15 07 50 57 07 00 67 7e 00 6d 03 0c 00 10 00 38 3c 20 00 60 01 02 03 68 d8 5d c4 01 78 88 0b 02 e2 00 cf e3 05 c0 00 e3 06 0d 01 e4 0f 03 00 00 eb 01 46 d0 00 4d 57 3a 94 34 07 a5 e6 11 46 d0 00 00 00 66 21 50 b0 51 00 1b 30 40 70 36 00 40 84 63 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 66
checkByteCommaSpaces: 0x00, 0xff, 0xff, 0xff
checkByteSpaceSpaceCommaSpace: 0xff 0xdd, 0xee
checkBytesDecimalSpace: 00 55 255 255
checkBytesDecimalComma: 00,255,55,255
checkBytesDecimalCommaSpace: 00, 255, 255, 55
checkByteInvalid: 0xFF 9A
checkBytePrefix: 0xFF 0xed 0X15 0xee
profile: DUMMY_PROFILE
hal version: X.X.X
components:
- name: ComponentManager1
interfaceVersion: X
ResourceList1:
- id: 0
dummyCapabilities:
- DUMMY_CAPABILITY_1
- DUMMY_CAPABILITY_2
- DUMMY_CAPABILITY_3
- DUMMY_CAPABILITY_4
supportsFeatureX: true
- id: 1
dummyCapabilities:
- DUMMY_CAPABILITY_1
- DUMMY_CAPABILITY_2
- DUMMY_CAPABILITY_3
- DUMMY_CAPABILITY_4
supportsFeatureX: true
- name: ComponentManager2
interfaceVersion: X
platformCapabilities:
- supportsFeatureY: false
sampleRateHz: 00000
pcmFormat: DUMMY_FORMAT
supportsAdditionalFormat: false
ResourceList2:
- id: 0
- id: 1
- name: ComponentManager3
interfaceVersion: X
supportedModes:
- DUMMY_MODE
ResourceList3:
- id: 0
dummyCapabilities:
- capability: DUMMY_CODEC_1
maxFrameRate: XX
maxFrameWidth: XXXX
maxFrameHeight: XXXX
- capability: DUMMY_CODEC_2
maxFrameRate: XX
maxFrameWidth: XXXX
maxFrameHeight: XXXX
supportedRanges:
- RANGE_1
- RANGE_2
- RANGE_3
supportsFeatureZ: true
- id: 1
dummyCapabilities:
- capability: DUMMY_CODEC_1
maxFrameRate: XX
maxFrameWidth: XXXX
maxFrameHeight: XXXX
supportedRanges:
- RANGE_1
supportsFeatureZ: true
"1":
value: true
"2":
value: true
"3":
value: true
"4":
value: true
"5":
value: true
2025-01-20-16:46:42, LOG , ut_console.c, 661 : Test Complete : 'kvp multiple profile'
2025-01-20-16:46:42, LOG , ut_console.c, 633 :
2025-01-20-16:46:42, LOG , ut_console.c, 639 : Running Test : 'kvp multiple profile using open memory'
2025-01-20-16:46:42, STEP , ut_test_kvp.c, 778 : ut_kvp_openMemory( gpMainTestInstance, assets/config-test.yaml ) - Postive
2025-01-20-16:46:42, STEP , ut_test_kvp.c, 785 : ut_kvp_openMemory( gpMainTestInstance, assets/include/single-include-file.yaml ) - Postive
2025-01-20-16:46:42, STEP , ut_test_kvp.c, 792 : ut_kvp_openMemory( gpMainTestInstance, assets/include/depth_check.yaml ) - Postive---
decodeTest:
checkUint8IsDeHex: 0xde
checkUint8IsDeDec: 222
checkUint16IsDeadHex: 0xdead
checkUint16IsDeadDec: 57005
checkUint32IsDeadBeefHex: 0xdeadbeef
checkUint32IsDeadBeefDec: 3735928559
checkUint64IsDeadBeefHex: 0xdeadbeefdeadbeef
checkUint64IsDeadBeefDec: 16045690984833335023
checkStringDeadBeef: "the beef is dead"
checkStringDeadBeef2: the beef is also dead
checkStringDeadBeefNoQuotes: the beef is dead
checkBoolFalse: false
checkBoolFALSE: FALSE
checkBoolFaLse: FaLSE
checkBoolTRUE: TRUE
checkBooltrue: true
checkBoolTRuE: TRuE
checkStringList:
- stringA
- stringB
- stringC
checkUint32List:
- 720
- 800
- 1080
checkFloat: 5.1
checkDoublePi: 3.14159265358979323846
checkDoubleScientific: -4.2e8
checkDoubleInvalid: invalid_string
checkBytesSpace: 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x15 0x85 0x1b 0x2a 0x01 0x01 0x01 0x01
checkBytesComma: 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85,0x1b,0x2a, 0x01,0x01,0x01,0x01,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85,0x1b, 0x2a,0x01,0x01,0x01,0x01,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x15,0x85, 0x1b,0x2a,0x01,0x01,0x01,0x01
checkBytesIncorrect: 00 ff ff ff ff ff ff 00 15 85 1b 2a 01 01 01 01 ff 20 01 03 80 7a 45 78 0a ee 91 a3 54 4c 99 26 0f 50 54 21 08 00 31 40 45 40 61 40 71 40 81 80 01 01 01 01 01 01 08 e8 00 30 f2 70 5a 80 b0 58 8a 00 40 84 63 00 00 1e 02 3a 80 18 71 38 2d 40 58 2c 45 00 40 84 63 00 00 1e 00 00 00 fd 00 17 3e 1e 88 3c 00 0a 20 20 20 20 20 20 00 00 00 fc 00 65 6c 65 6d 65 6e 74 20 54 56 0a 20 20 01 6f 02 03 5f f1 53 61 60 10 1f 04 13 05 14 03 02 12 20 21 22 15 01 5d 5e 5f 2c 09 57 03 15 07 50 57 07 00 67 7e 00 6d 03 0c 00 10 00 38 3c 20 00 60 01 02 03 68 d8 5d c4 01 78 88 0b 02 e2 00 cf e3 05 c0 00 e3 06 0d 01 e4 0f 03 00 00 eb 01 46 d0 00 4d 57 3a 94 34 07 a5 e6 11 46 d0 00 00 00 66 21 50 b0 51 00 1b 30 40 70 36 00 40 84 63 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 66
checkByteCommaSpaces: 0x00, 0xff, 0xff, 0xff
checkByteSpaceSpaceCommaSpace: 0xff 0xdd, 0xee
checkBytesDecimalSpace: 00 55 255 255
checkBytesDecimalComma: 00,255,55,255
checkBytesDecimalCommaSpace: 00, 255, 255, 55
checkByteInvalid: 0xFF 9A
checkBytePrefix: 0xFF 0xed 0X15 0xee
profile: DUMMY_PROFILE
hal version: X.X.X
components:
- name: ComponentManager1
interfaceVersion: X
ResourceList1:
- id: 0
dummyCapabilities:
- DUMMY_CAPABILITY_1
- DUMMY_CAPABILITY_2
- DUMMY_CAPABILITY_3
- DUMMY_CAPABILITY_4
supportsFeatureX: true
- id: 1
dummyCapabilities:
- DUMMY_CAPABILITY_1
- DUMMY_CAPABILITY_2
- DUMMY_CAPABILITY_3
- DUMMY_CAPABILITY_4
supportsFeatureX: true
- name: ComponentManager2
interfaceVersion: X
platformCapabilities:
- supportsFeatureY: false
sampleRateHz: 00000
pcmFormat: DUMMY_FORMAT
supportsAdditionalFormat: false
ResourceList2:
- id: 0
- id: 1
- name: ComponentManager3
interfaceVersion: X
supportedModes:
- DUMMY_MODE
ResourceList3:
- id: 0
dummyCapabilities:
- capability: DUMMY_CODEC_1
maxFrameRate: XX
maxFrameWidth: XXXX
maxFrameHeight: XXXX
- capability: DUMMY_CODEC_2
maxFrameRate: XX
maxFrameWidth: XXXX
maxFrameHeight: XXXX
supportedRanges:
- RANGE_1
- RANGE_2
- RANGE_3
supportsFeatureZ: true
- id: 1
dummyCapabilities:
- capability: DUMMY_CODEC_1
maxFrameRate: XX
maxFrameWidth: XXXX
maxFrameHeight: XXXX
supportedRanges:
- RANGE_1
supportsFeatureZ: true
- name: ComponentManager1
interfaceVersion: X
ResourceList1:
- id: 0
dummyCapabilities:
- DUMMY_CAPABILITY_1
- DUMMY_CAPABILITY_2
- DUMMY_CAPABILITY_3
- DUMMY_CAPABILITY_4
supportsFeatureX: true
- id: 1
dummyCapabilities:
- DUMMY_CAPABILITY_1
- DUMMY_CAPABILITY_2
- DUMMY_CAPABILITY_3
- DUMMY_CAPABILITY_4
supportsFeatureX: true
- name: ComponentManager2
interfaceVersion: X
platformCapabilities:
- supportsFeatureY: false
sampleRateHz: 00000
pcmFormat: DUMMY_FORMAT
supportsAdditionalFormat: false
ResourceList2:
- id: 0
- id: 1
- name: ComponentManager3
interfaceVersion: X
supportedModes:
- DUMMY_MODE
ResourceList3:
- id: 0
dummyCapabilities:
- capability: DUMMY_CODEC_1
maxFrameRate: XX
maxFrameWidth: XXXX
maxFrameHeight: XXXX
- capability: DUMMY_CODEC_2
maxFrameRate: XX
maxFrameWidth: XXXX
maxFrameHeight: XXXX
supportedRanges:
- RANGE_1
- RANGE_2
- RANGE_3
supportsFeatureZ: true
- id: 1
dummyCapabilities:
- capability: DUMMY_CODEC_1
maxFrameRate: XX
maxFrameWidth: XXXX
maxFrameHeight: XXXX
supportedRanges:
- RANGE_1
supportsFeatureZ: true
"1":
value: true
"2":
value: true
"3":
value: true
"4":
value: true
"5":
value: true
2025-01-20-16:46:42, LOG , ut_console.c, 661 : Test Complete : 'kvp multiple profile using open memory'
Run Summary: Type Total Ran Passed Failed Inactive
suites 14 14 n/a 0 0
tests 66 66 66 0 0
asserts 395 395 395 0 n/a
Elapsed time = 0.315 seconds
***************** CUNIT CONSOLE - MAIN MENU ******************************
(R)un (S)elect (L)ist (A)ctivate (F)ailures (O)ptions (H)elp (Q)uit
Enter command: q
2025-01-20-16:47:05, LOG , ut_cunit.c, 177 : Logfile:[/tmp/ut-log_2025-01-20_164610.log]
2025-01-20-16:47:05, LOG , ut_cunit.c, 185 : ---- end of test run ---- |
Also results from curl script: ./test_script_for_curl_request.sh
Running: ./curl-get-client-yaml.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 101 100 101 0 0 59272 0 --:--:-- --:--:-- --:--:-- 98k
Test Passed: Output matches expected result.
---------------------------------
Running: ./curl-get-client-json.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 154 100 154 0 0 115k 0 --:--:-- --:--:-- --:--:-- 150k
Test Passed: Output matches expected result.
---------------------------------
Running: ./curl-get-client-no-header.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 54 100 54 0 0 34394 0 --:--:-- --:--:-- --:--:-- 54000
Test Passed: Output matches expected result.
---------------------------------
Running: ./curl-get-client-json-incorrect.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 34 100 34 0 0 26254 0 --:--:-- --:--:-- --:--:-- 34000
Test Passed: Output matches expected result.
---------------------------------
Running: ./curl-get-client-yaml-incorrect.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 29 100 29 0 0 22762 0 --:--:-- --:--:-- --:--:-- 29000
Test Passed: Output matches expected result.
---------------------------------
Running: ./curl-push-client-binary.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 100 0 0 100 100 0 65789 --:--:-- --:--:-- --:--:-- 97k
curl: (52) Empty reply from server
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 154 0 0 100 154 0 158k --:--:-- --:--:-- --:--:-- 150k
curl: (52) Empty reply from server
Test Passed: Output matches expected result.
---------------------------------
Running: ./curl-push-client-yaml.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 100 0 0 100 100 0 98135 --:--:-- --:--:-- --:--:-- 97k
curl: (52) Empty reply from server
Test Passed: Output matches expected result.
---------------------------------
Running: ./curl-push-client-json.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 142 0 0 100 142 0 140k --:--:-- --:--:-- --:--:-- 138k
curl: (52) Empty reply from server
Test Passed: Output matches expected result.
---------------------------------
|
078491d
to
6bd937b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
naming is confusing, you should know what the function does from reading it's name
include/ut_control_plane.h
Outdated
* | ||
* @returns A status code indicating the success or failure of the registration. | ||
*/ | ||
ut_control_plane_status_t UT_ControlPlane_RegisterAPIEndpointHandler( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if we're going to use the words GET
& POST
then I guess this one as you said should be renamed from Endpoint
to GET
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since we are now deprecating the other register function(as discussed), this register function will now handle both GET and POST requests. Hence keeping the same name. I have changed its documentation to reflect the same.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you can't have a single function because the user case is different.
- GET function is for the server to register with
- POST function is for the client to register with.
74cb6d9
to
492553d
Compare
492553d
to
d710c52
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nearly
include/ut_control_plane.h
Outdated
* | ||
* @returns A status code indicating the success or failure of the registration. | ||
*/ | ||
ut_control_plane_status_t UT_ControlPlane_RegisterAPIEndpointHandler( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you can't have a single function because the user case is different.
- GET function is for the server to register with
- POST function is for the client to register with.
ef4672b
to
a86303b
Compare
a86303b
to
5fedbd3
Compare
*/ | ||
typedef void (*ut_control_on_message_callback_t)(char *triggerKey, ut_kvp_instance_t *instance, void *userData); | ||
|
||
/** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what about this ->
/**
* @brief Callback function for handling HTTP requests to a specific REST API endpoint.
*
* This callback is invoked by the UT control server when an HTTP request (GET, POST, PUT, DELETE, etc.)
* is received and the requested REST API endpoint matches the `restAPI` parameter.
*
* @param restAPI The name of the REST API endpoint being called.
* @param httpMethod The HTTP method of the request (e.g., "GET", "POST", "PUT", "DELETE").
* @param userData User-defined data passed during registration of the callback. This can be used to
* pass context or state to the callback function.
*
* @return A dynamically allocated character string containing the JSON response from the API endpoint.
* The caller is responsible for freeing the returned string using `free()`. Returns `NULL` on error.
*/
typedef char *(*ut_control_endpoint_callback_t)(const char *restAPI, const char *httpMethod, void *userData);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Request Type | URL | Headers | Body (Data) | Parameter Type | restAPI Parameter Value (Example) |
httpMethod Parameter Value |
pData |
---|---|---|---|---|---|---|---|
POST | /products |
Content-Type: application/json |
{"name": "...", "description": "...", "price": ..., "category": "..."} |
Body | /products |
POST |
Body |
GET (Specific) | /products/123 |
(None usually needed) | (None usually needed) | Path | /products/123 |
GET |
NULL |
GET (Filtered) | /products?category=X&price_lt=Y |
(None usually needed) | (None usually needed) | Query | /products |
GET |
category=X&price_lt=Y |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ignoring the incorrectly defined types
typedef char *(*ut_control_endpoint_callback_t)(const char *restAPI, const char *httpRequestType, ut_kvp_instance_t *pData, void *userData);
In the cast of POST -> Body Data is used for pData
In the case of GET -> it will be the pData itself
* @param instance The key-value pair instance containing the incoming data. | ||
* @param userData User-defined data passed to the callback function. | ||
*/ | ||
typedef void (*ut_control_on_message_callback_t)(char *triggerKey, ut_kvp_instance_t *instance, void *userData); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what about this ->
/**
* @brief Callback function type for handling incoming messages or events received via POST requests.
*
* This callback is invoked by the UT control server when a POST request is received
* and a specific trigger key within the message data matches the registered `triggerKey`.
*
* @param triggerKey The trigger key that was matched within the incoming message data.
* @param instance A pointer to the key-value pair instance containing the parsed message data.
* The structure and contents of this instance are defined by the `ut_kvp_instance_t` type.
* Consult the documentation for `ut_kvp_instance_t` for details on accessing the data.
* @param userData User-defined data passed during registration of the callback. This can be used to
* provide context or state to the callback function.
*/
typedef void (*ut_control_on_message_callback_t)(const char *triggerKey, const ut_kvp_instance_t *instance, void *userData);
* @retval UT_CONTROL_PLANE_STATUS_INVALID_PARAM - Invalid parameter passed | ||
* @retval UT_CONTROL_PLANE_STATUS_CALLBACK_LIST_FULL - Callback list is full | ||
*/ | ||
ut_control_plane_status_t UT_ControlPlane_RegisterEndPointCallback( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this work better?
/**
* @brief Registers a callback for a REST API endpoint (GET) or POST message key.
*
* Registers a callback function to be invoked when a GET request is made to the
* specified `restAPI` endpoint, or when a POST request is received with
* `restAPI` as the message key.
*
* @param[in] pInstance Pointer to the control plane instance.
* @param[in] httpRequestType The HTTP request type ("GET" or "POST").
* @param[in] restAPI The REST API endpoint for GET requests, or the message key
* for POST requests. For example, "/users" for a GET
* request, or "status" for a POST request.
* @param[in] callbackFunction Pointer to the callback function. The function
* type depends on the request type:
* `ut_control_endpoint_callback_t` for GET requests,
* or `ut_control_on_message_callback_t` for POST
* requests.
* @param[in] userData Pointer to user-provided data that will be passed to the
* callback function. This can be used, for example, to
* pass a pointer to context data.
* @returns A status code indicating the result of the operation.
* @retval UT_CONTROL_PLANE_STATUS_OK Success.
* @retval UT_CONTROL_PLANE_STATUS_INVALID_HANDLE Invalid `pInstance`.
* @retval UT_CONTROL_PLANE_STATUS_INVALID_PARAM Invalid `restAPI` or
* `callbackFunction`.
* @retval UT_CONTROL_PLANE_STATUS_CALLBACK_LIST_FULL Callback list is full.
*/
ut_control_plane_status_t UT_ControlPlane_RegisterEndPointCallback(
ut_controlPlane_instance_t *pInstance,
const char *httpRequestType,
char *restAPI, ut_control_endpoint_callback_t *callbackFunction,
void *userData);
* @param instance The key-value pair instance containing the incoming data. | ||
* @param userData User-defined data passed to the callback function. | ||
*/ | ||
typedef void (*ut_control_on_message_callback_t)(char *triggerKey, ut_kvp_instance_t *instance, void *userData); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's deprecate this function
Changes for GET Request support in ut-control