Index: vectorcast/Hercules_RM46_HD_Project/environment/NVDATAMGMT/NVDATAMGMT.env =================================================================== diff -u -r96344ec7d442efbcc3f1917d523b5e02c7324003 -rf5c33ea012de27ac138d7c5874ba1b7d54213b8b --- vectorcast/Hercules_RM46_HD_Project/environment/NVDATAMGMT/NVDATAMGMT.env (.../NVDATAMGMT.env) (revision 96344ec7d442efbcc3f1917d523b5e02c7324003) +++ vectorcast/Hercules_RM46_HD_Project/environment/NVDATAMGMT/NVDATAMGMT.env (.../NVDATAMGMT.env) (revision f5c33ea012de27ac138d7c5874ba1b7d54213b8b) @@ -9,7 +9,6 @@ ENVIRO.UNIT_PREFIX_USER_CODE_FILE:NVDataMgmt #include "F021.h" -//_Bool FSMStatus; uint8_t FSMStatus; #undef FAPI_CHECK_FSM_READY_BUSY #define FAPI_CHECK_FSM_READY_BUSY FSMStatus Index: vectorcast/Hercules_RM46_HD_Project/environment/NVDATAMGMT/NVDATAMGMT.tst =================================================================== diff -u -r96344ec7d442efbcc3f1917d523b5e02c7324003 -rf5c33ea012de27ac138d7c5874ba1b7d54213b8b --- vectorcast/Hercules_RM46_HD_Project/environment/NVDATAMGMT/NVDATAMGMT.tst (.../NVDATAMGMT.tst) (revision 96344ec7d442efbcc3f1917d523b5e02c7324003) +++ vectorcast/Hercules_RM46_HD_Project/environment/NVDATAMGMT/NVDATAMGMT.tst (.../NVDATAMGMT.tst) (revision f5c33ea012de27ac138d7c5874ba1b7d54213b8b) @@ -704,6 +704,31 @@ TEST.EXPECTED:NVDataMgmt.handleExecReadFromEEPROMState.return:NVDATAMGMT_EXEC_STATE_IDLE TEST.END +-- Subprogram: handleExecReadFromRAMState + +-- Test Case: RAM_Status_Not_Idle_No_Timeout +TEST.UNIT:NVDataMgmt +TEST.SUBPROGRAM:handleExecReadFromRAMState +TEST.NEW +TEST.NAME:RAM_Status_Not_Idle_No_Timeout +TEST.VALUE:NVDataMgmt.handleExecReadFromRAMState.return:NVDATAMGMT_EXEC_STATE_READ_FROM_RTC +TEST.VALUE:uut_prototype_stubs.getRTCRAMStatus.return:RTC_RAM_STATUS_IN_PROGRESS +TEST.VALUE:uut_prototype_stubs.didTimeout.return:0 +TEST.EXPECTED:NVDataMgmt.handleExecReadFromRAMState.return:NVDATAMGMT_EXEC_STATE_READ_FROM_RTC +TEST.END + +-- Test Case: RAM_Status_Not_Idle_Timeout +TEST.UNIT:NVDataMgmt +TEST.SUBPROGRAM:handleExecReadFromRAMState +TEST.NEW +TEST.NAME:RAM_Status_Not_Idle_Timeout +TEST.VALUE:NVDataMgmt.<>.currentJob.externalAddress:<> +TEST.VALUE:NVDataMgmt.handleExecReadFromRAMState.return:NVDATAMGMT_EXEC_STATE_READ_FROM_RTC +TEST.VALUE:uut_prototype_stubs.getRTCRAMStatus.return:RTC_RAM_STATUS_IN_PROGRESS +TEST.VALUE:uut_prototype_stubs.didTimeout.return:1 +TEST.EXPECTED:NVDataMgmt.handleExecReadFromRAMState.return:NVDATAMGMT_EXEC_STATE_IDLE +TEST.END + -- Subprogram: handleExecWaitForPostState -- Test Case: Self_Test_Complete @@ -761,6 +786,30 @@ TEST.EXPECTED:NVDataMgmt.handleExecWriteToEEPROMState.return:NVDATAMGMT_EXEC_STATE_IDLE TEST.END +-- Subprogram: handleExecWriteToRAMState + +-- Test Case: RAM_Status_Not_Idle_No_Timeout +TEST.UNIT:NVDataMgmt +TEST.SUBPROGRAM:handleExecWriteToRAMState +TEST.NEW +TEST.NAME:RAM_Status_Not_Idle_No_Timeout +TEST.VALUE:NVDataMgmt.handleExecWriteToRAMState.return:NVDATAMGMT_EXEC_STATE_WRITE_TO_RTC +TEST.VALUE:uut_prototype_stubs.getRTCRAMStatus.return:RTC_RAM_STATUS_IN_PROGRESS +TEST.VALUE:uut_prototype_stubs.didTimeout.return:0 +TEST.EXPECTED:NVDataMgmt.handleExecWriteToRAMState.return:NVDATAMGMT_EXEC_STATE_WRITE_TO_RTC +TEST.END + +-- Test Case: RAM_Status_Not_Idle_Timeout +TEST.UNIT:NVDataMgmt +TEST.SUBPROGRAM:handleExecWriteToRAMState +TEST.NEW +TEST.NAME:RAM_Status_Not_Idle_Timeout +TEST.VALUE:NVDataMgmt.handleExecWriteToRAMState.return:NVDATAMGMT_EXEC_STATE_WRITE_TO_RTC +TEST.VALUE:uut_prototype_stubs.getRTCRAMStatus.return:RTC_RAM_STATUS_IN_PROGRESS +TEST.VALUE:uut_prototype_stubs.didTimeout.return:1 +TEST.EXPECTED:NVDataMgmt.handleExecWriteToRAMState.return:NVDATAMGMT_EXEC_STATE_IDLE +TEST.END + -- Subprogram: handleSelfTestCheckCRC -- Test Case: CRC_Fail @@ -1270,6 +1319,61 @@ TEST.EXPECTED:NVDataMgmt.isQueueFull.return:0 TEST.END +-- Subprogram: prepareReadLogJobAndGetStartAddress + +-- Test Case: NextReadIndex_Not_Zero_Header_Not_Corrupted +TEST.UNIT:NVDataMgmt +TEST.SUBPROGRAM:prepareReadLogJobAndGetStartAddress +TEST.NEW +TEST.NAME:NextReadIndex_Not_Zero_Header_Not_Corrupted +TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:1 +TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:0 +TEST.VALUE:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0 +TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:2 +TEST.EXPECTED:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0xF0204020 +TEST.END + +-- Test Case: NextReadIndex_Zero_Header_Corrupted +TEST.UNIT:NVDataMgmt +TEST.SUBPROGRAM:prepareReadLogJobAndGetStartAddress +TEST.NEW +TEST.NAME:NextReadIndex_Zero_Header_Corrupted +TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.recordCount:7 +TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:1535 +TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:1 +TEST.VALUE:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0 +TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.recordCount:0 +TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:0 +TEST.EXPECTED:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0xF0204000 +TEST.END + +-- Test Case: NextReadIndex_Zero_Header_Not_Corrupted +TEST.UNIT:NVDataMgmt +TEST.SUBPROGRAM:prepareReadLogJobAndGetStartAddress +TEST.NEW +TEST.NAME:NextReadIndex_Zero_Header_Not_Corrupted +TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:0 +TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:0 +TEST.VALUE:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0 +TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:1 +TEST.EXPECTED:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0xF0204000 +TEST.END + +-- Subprogram: prepareWriteLogJobAndGetStartAddress + +-- Test Case: NextReadIndex_Not_Zero_Header_Not_Corrupted +TEST.UNIT:NVDataMgmt +TEST.SUBPROGRAM:prepareWriteLogJobAndGetStartAddress +TEST.NEW +TEST.NAME:NextReadIndex_Not_Zero_Header_Not_Corrupted +TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:1 +TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:0 +TEST.VALUE:NVDataMgmt.prepareWriteLogJobAndGetStartAddress.return:0 +TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:2 +TEST.EXPECTED:NVDataMgmt.prepareWriteLogJobAndGetStartAddress.return:0xF0204020 +TEST.ATTRIBUTES:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:EXPECTED_BASE=16 +TEST.END + -- Subprogram: readLogData -- Test Case: Min_Jobs_Available @@ -1388,24 +1492,56 @@ -- Subprogram: setMemoryOpsStruct --- Test Case: Queue_Not_Full +-- Test Case: Queue_Full_Ext_Address_Zero TEST.UNIT:NVDataMgmt TEST.SUBPROGRAM:setMemoryOpsStruct TEST.NEW -TEST.NAME:Queue_Not_Full +TEST.NAME:Queue_Full_Ext_Address_Zero TEST.VALUE:NVDataMgmt.<>.queueRearIndex:0 +TEST.VALUE:NVDataMgmt.<>.queueFrontIndex:0 +TEST.VALUE:NVDataMgmt.<>.queueCount:21 +TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.ops:NVDATAMGMT_WRITE +TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.location:NVDATAMGMT_EEPROM +TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.startAddress:2 +TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.data:<> +TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.data:"A" +TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.length:1 +TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].memoryOperation:NVDATAMGMT_WRITE +TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].memoryLocation:NVDATAMGMT_EEPROM +TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].startAddress[0]:2 +TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].buffer:"A" +TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].length:1 +TEST.END + +-- Test Case: Queue_Not_Full_Ext_Address_Zero +TEST.UNIT:NVDataMgmt +TEST.SUBPROGRAM:setMemoryOpsStruct +TEST.NEW +TEST.NAME:Queue_Not_Full_Ext_Address_Zero +TEST.VALUE:NVDataMgmt.<>.jobQueue[0].externalAddress:<> +TEST.VALUE:NVDataMgmt.<>.jobQueue[0].externalAddress[0].status:NVDATAMGMT_READ_IDLE +TEST.VALUE:NVDataMgmt.<>.jobQueue[0].externalAddress[0].externalBuffer:<> +TEST.VALUE:NVDataMgmt.<>.jobQueue[0].externalAddress[0].externalBuffer:"0" +TEST.VALUE:NVDataMgmt.<>.queueRearIndex:0 +TEST.VALUE:NVDataMgmt.<>.queueFrontIndex:0 TEST.VALUE:NVDataMgmt.<>.queueCount:1 TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.ops:NVDATAMGMT_WRITE TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.location:NVDATAMGMT_EEPROM TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.startAddress:2 TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.data:<> TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.data:"A" +TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.extAddress:<> +TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.extAddress[0].status:NVDATAMGMT_READ_IDLE +TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.extAddress[0].externalBuffer:<> +TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.extAddress[0].externalBuffer:"0" TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.length:1 TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].memoryOperation:NVDATAMGMT_WRITE TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].memoryLocation:NVDATAMGMT_EEPROM TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].startAddress[0]:2 TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].buffer:"A" TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].length:1 +TEST.EXPECTED:NVDataMgmt.<>.queueRearIndex:1 +TEST.EXPECTED:NVDataMgmt.<>.queueCount:2 TEST.END -- Subprogram: setMfgData