Hello, Both your CTT errors are unrelated to the stack.
For CT1.3.2.2, you need to prepare and supply the appropriate introspection file corresponding to your application. A default is provided in include/server_introspection.dat.h and if you were to update it with your own CBOR-encoded Swagger definition in that format, i.e. setting the introspection_data array (and its size) with the entire sequence bytes, that would be served up by the stack. Alternatively, you can rebuild the stack and your app after adding -DOC_IDD_API to CFLAGS, and then provide that byte array using the oc_set_introspection_data() API. Either way, providing the right introspection data is the application developer's responsibility. For CT1.7.4.5, it's either a matter with your environment or with the certification tool. There's no known issue in the stack, and in fact that test passes even when run as part of the whole sequence. In some test cases, I've noticed the tool ask to "Reset to RFOTM" more than once in attempting to discover the device, and it eventually goes through. I'd only suggest that you compile the stack with IPV4=1 if you aren't already, just in case something is blocking the multicast packet over IPv6. Thanks, -Kishen. -- Kishen Maloor Intel Corporation From: <iotivity-dev@lists.iotivity.org> on behalf of "kimjeong...@vinetech.co.kr" <kimjeong...@vinetech.co.kr> Date: Friday, November 15, 2019 at 1:52 AM To: "iotivity-dev@lists.iotivity.org" <iotivity-dev@lists.iotivity.org> Subject: Re: [dev] What should I implement for client to pass CT1.2.6 and CT1.3.2.2 Hi, again. I wrote more, but I sent wrong way. So I'm writing again. As Kishen said, I removed "oic.wk.con" in PICS and oc_set_con_res_announced(false). So my client passed CT1.2.6. Thanks so much, Kishen. Anyway, CT1.3.2.2 started to pour another error. ---- 1.428s 11:37:35 INFO: ======= Testing resource /oic/sec/roles using schema from coap://[fe80::ba27:ebff:fe0a:6549]:41308/oc/introspection ======= 1.428s 11:37:35 INFO: 1.428s 11:37:35 DEBUG: Schemas not found for interface oic.if.baseline 1.428s 11:37:35 INFO: Sending unicast CON RETRIEVE request with /oic/sec/roles?if=oic.if.baseline 1.428s 11:37:35 INFO: Prompting "Waiting for CoAP response... " 1.428s 11:37:35 VERBOSE: CTT Client -> [fe80::3c5f:2adb:8baf:a357%20]:49703->[fe80::ba27:ebff:fe0a:6549]:45036 CON-GET ID=10382, Token=382137BE, Options=[URI-Port=45036, URI-Path=oic, sec, roles, AcceptVersion=1.0.0, URI-Query=if=oic.if.baseline, Accept=application/vnd.ocf+cbor], Secured=true 1.438s 11:37:35 VERBOSE: CTT Client <- [fe80::ba27:ebff:fe0a:6549%20]:45036->[fe80::3c5f:2adb:8baf:a357%20]:49703 ACK-2.05 Content ID=10382, Token=382137BE, Options=[ContentFormatVersion=1.0.0, Content-Type=application/vnd.ocf+cbor], Secured=true 1.438s 11:37:35 VERBOSE: CTT Client <- msgId=10382: {"rt":["oic.r.roles"],"if":["oic.if.baseline"],"roles":[]} 1.446s 11:37:35 DEBUG: AgentBase multiple action complete 1.446s 11:37:35 DEBUG: Starting verification with ID:"CT_Assert_elements"... 1.446s 11:37:35 INFO: CT_Assert_elements: Device respond to /oic/sec/roles?if=oic.if.baseline (CON-GET ID:10382) 1.446s 11:37:35 DEBUG: Verification with ID:"CT_Assert_elements" ended with result: PASSED 1.446s 11:37:35 DEBUG: Starting verification with ID:"CT_Assert_success"... 1.446s 11:37:35 INFO: CT_Assert_success: 1 message(s) has code 2.xx 1.446s 11:37:35 DEBUG: Verification with ID:"CT_Assert_success" ended with result: PASSED 1.446s 11:37:35 DEBUG: Schema for get 205 not found try with code 200 1.446s 11:37:35 DEBUG: Starting verification with ID:"CT1.3.2.2_Check_8"... 1.448s 11:37:35 DEBUG: Traceback (most recent call last): File "C:\Program Files (x86)\OCF Conformance Test Tool\Python\helpers.py", line 163, in performVerification result, message = verificationCode() File "C:\Program Files (x86)\OCF Conformance Test Tool\Configuration\OCF\TestCases\Introspection_CT1.3.2-2.py", line 524, in <lambda$12599> performVerification(info.Id+"_Check_8", lambda: validate_swagger_empty_file(swagger)) File "C:\Program Files (x86)\OCF Conformance Test Tool\Configuration\OCF\TestCases\Introspection_CT1.3.2-2.py", line 213, in validate_swagger_empty_file if len(swagger.Paths.Paths) and len(swagger.Definitions.RawObject.ChildrenTokens) == 0: TypeError: len() of unsized object 1.448s 11:37:35 ERROR: CT1.3.2.2_Check_8: Verification with ID "CT1.3.2.2_Check_8" threw the exception: len() of unsized object So I digged the Introspection_CT1.3.2-2.py def validate_swagger_empty_file(swagger): if len(swagger.Paths.Paths) and len(swagger.Definitions.RawObject.ChildrenTokens) == 0: return TestCaseResults.PASSED, "Swagger file is empty as expected" return TestCaseResults.PASSED, "Swagger file shall be empty" I print out 2 variables : swagger.Paths.Paths : /oic/p swagger.Definitions.RawObject.ChildrenTokens : None === Other problems occured, sadly. :-( CT1.7.4.5 started to not pass(it was passed yesterday.) When I run CT1.7.4.5 alone, it passes. When I run Test sequencely, RUN CT1.7.4.4 then CT1.7.4.5 failed. 18:29:51 INFO Test case "CT1.7.4.5 Verify that the device handles role credentials" started 18:29:51 INFO Timestamp: 2019-11-15 18:29:51. Tool version: 1903.0.0.0 18:29:51 INFO Rediscovering IUT... 18:29:51 INFO Rediscovering CLIENT_A... 18:30:22 INFO Prompting "Please revert IUT to RFOTM / reset the device" 18:30:28 INFO Rediscovering CLIENT_A... 18:30:58 ERROR OCTT did not re-discover IUT. Check if IUT is in the network and responds to /oic/res on multicast. 18:30:58 ERROR Test case result: FAILED 18:30:58 INFO Execution of test case "CT1.7.4.5" completed. Timestamp: 2019-11-15 18:30:58 I wonder later problems is related with previous changes. But I can not figure out. Thank you for reading. -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#10293): https://lists.iotivity.org/g/iotivity-dev/message/10293 Mute This Topic: https://lists.iotivity.org/mt/57444364/21656 Group Owner: iotivity-dev+ow...@lists.iotivity.org Unsubscribe: https://lists.iotivity.org/g/iotivity-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-