When the CF app received the correct Incoming PDUs(MD/FD/EOF) with Class2 ACK Mode,
it responded with ACK(NO-ERROR condition) PDU and sent FIN(NO-ERROR condition) PDU.
But the delivery code in the FIN PDU was 0(DONT_CARE_0) instead of 2(DATA_COMPLETE).
In this test case, the function, m__all_data_has_been_received(), was called
and the delivery code was set to 2(DATA_COMPLETE) : "mp->delivery_code = DATA_COMPLETE;".
But I found that the FIN PDU structure assigned only 1 bit for the delivery_code, which doesn't allow 2.
typedef struct
{
u_int_1 condition_code : 4;
u_int_1 end_system_status : 1;
u_int_1 delivery_code : 1;
u_int_1 spare : 2;
/ TLVs (i.e. Filestore Responses) /
} FIN;
This caused that this test case received FIN PDU with delivery code 0(DONT_CARE_0).
Test case: Test_CF_AppMain_IncomingMsgClass2Nominal()
When the CF app received the correct Incoming PDUs(MD/FD/EOF) with Class2 ACK Mode, it responded with ACK(NO-ERROR condition) PDU and sent FIN(NO-ERROR condition) PDU. But the delivery code in the FIN PDU was 0(DONT_CARE_0) instead of 2(DATA_COMPLETE).
In this test case, the function, m__all_data_has_been_received(), was called and the delivery code was set to 2(DATA_COMPLETE) : "mp->delivery_code = DATA_COMPLETE;". But I found that the FIN PDU structure assigned only 1 bit for the delivery_code, which doesn't allow 2. typedef struct { u_int_1 condition_code : 4; u_int_1 end_system_status : 1; u_int_1 delivery_code : 1; u_int_1 spare : 2; / TLVs (i.e. Filestore Responses) /
} FIN;
This caused that this test case received FIN PDU with delivery code 0(DONT_CARE_0).