Index: vectorcast/Hercules_RM46_HD_Project.vcm
===================================================================
diff -u -r1760616331f8dbf20f80bd9ec1cfaba01134b8f7 -rd582f46f70e37a65f3d47b0bfbbe7333a12fd1ca
--- vectorcast/Hercules_RM46_HD_Project.vcm (.../Hercules_RM46_HD_Project.vcm) (revision 1760616331f8dbf20f80bd9ec1cfaba01134b8f7)
+++ vectorcast/Hercules_RM46_HD_Project.vcm (.../Hercules_RM46_HD_Project.vcm) (revision d582f46f70e37a65f3d47b0bfbbe7333a12fd1ca)
@@ -160,6 +160,13 @@
Hercules_RM46_HD_Project/build/3336905608
+
+ 1
+ 0
+
+ Hercules_RM46_HD_Project/build/1776554132
+
+
1
0
@@ -305,6 +312,7 @@
+
Index: vectorcast/Hercules_RM46_HD_Project/environment/INT_NVDATAMGMT/INT_NVDATAMGMT.cfg
===================================================================
diff -u
--- vectorcast/Hercules_RM46_HD_Project/environment/INT_NVDATAMGMT/INT_NVDATAMGMT.cfg (revision 0)
+++ vectorcast/Hercules_RM46_HD_Project/environment/INT_NVDATAMGMT/INT_NVDATAMGMT.cfg (revision d582f46f70e37a65f3d47b0bfbbe7333a12fd1ca)
@@ -0,0 +1 @@
\ No newline at end of file
Index: vectorcast/Hercules_RM46_HD_Project/environment/INT_NVDATAMGMT/INT_NVDATAMGMT.env
===================================================================
diff -u
--- vectorcast/Hercules_RM46_HD_Project/environment/INT_NVDATAMGMT/INT_NVDATAMGMT.env (revision 0)
+++ vectorcast/Hercules_RM46_HD_Project/environment/INT_NVDATAMGMT/INT_NVDATAMGMT.env (revision d582f46f70e37a65f3d47b0bfbbe7333a12fd1ca)
@@ -0,0 +1,11 @@
+ENVIRO.NEW
+ENVIRO.NAME:INT_NVDATAMGMT
+ENVIRO.STUB_BY_FUNCTION:ModeInitPOST
+ENVIRO.STUB_BY_FUNCTION:NVDataMgmt
+ENVIRO.STUB_BY_FUNCTION:TaskBG
+ENVIRO.STUB_BY_FUNCTION:sys_main
+ENVIRO.MAX_VARY_RANGE: 20
+ENVIRO.STUB: ALL_BY_PROTOTYPE
+ENVIRO.TYPE_HANDLED_DIRS_ALLOWED:
+ENVIRO.LIBRARY_STUBS:
+ENVIRO.END
Index: vectorcast/Hercules_RM46_HD_Project/environment/INT_NVDATAMGMT/INT_NVDATAMGMT.mfg
===================================================================
diff -u
--- vectorcast/Hercules_RM46_HD_Project/environment/INT_NVDATAMGMT/INT_NVDATAMGMT.mfg (revision 0)
+++ vectorcast/Hercules_RM46_HD_Project/environment/INT_NVDATAMGMT/INT_NVDATAMGMT.mfg (revision d582f46f70e37a65f3d47b0bfbbe7333a12fd1ca)
@@ -0,0 +1,8 @@
+
+
+
+ COVERAGE_TYPE
+ FUNCTION
+
+ $(VCAST_SRC_DIR)/FWCommon/FlashDriver/
+
Index: vectorcast/Hercules_RM46_HD_Project/environment/INT_NVDATAMGMT/INT_NVDATAMGMT.tst
===================================================================
diff -u
--- vectorcast/Hercules_RM46_HD_Project/environment/INT_NVDATAMGMT/INT_NVDATAMGMT.tst (revision 0)
+++ vectorcast/Hercules_RM46_HD_Project/environment/INT_NVDATAMGMT/INT_NVDATAMGMT.tst (revision d582f46f70e37a65f3d47b0bfbbe7333a12fd1ca)
@@ -0,0 +1,65 @@
+-- VectorCAST 19.sp3 (11/13/19)
+-- Test Case Script
+--
+-- Environment : INT_NVDATAMGMT
+-- Unit(s) Under Test: ModeInitPOST NVDataMgmt TaskBG sys_main
+--
+-- Script Features
+TEST.SCRIPT_FEATURE:C_DIRECT_ARRAY_INDEXING
+TEST.SCRIPT_FEATURE:CPP_CLASS_OBJECT_REVISION
+TEST.SCRIPT_FEATURE:MULTIPLE_UUT_SUPPORT
+TEST.SCRIPT_FEATURE:MIXED_CASE_NAMES
+TEST.SCRIPT_FEATURE:STATIC_HEADER_FUNCS_IN_UUTS
+TEST.SCRIPT_FEATURE:VCAST_MAIN_NOT_RENAMED
+--
+
+-- Unit: ModeInitPOST
+
+-- Subprogram: execInitAndPOSTMode
+
+-- Test Case: NVDataMgmt_POST
+TEST.UNIT:ModeInitPOST
+TEST.SUBPROGRAM:execInitAndPOSTMode
+TEST.NEW
+TEST.NAME:NVDataMgmt_POST
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_START
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestResult:SELF_TEST_STATUS_IN_PROGRESS
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_START
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestResult:SELF_TEST_STATUS_IN_PROGRESS
+TEST.END
+
+-- Unit: TaskBG
+
+-- Subprogram: taskBackground
+
+-- Test Case: NVDataMgmt_Exec
+TEST.UNIT:TaskBG
+TEST.SUBPROGRAM:taskBackground
+TEST.NEW
+TEST.NAME:NVDataMgmt_Exec
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtExecState:NVDATAMGMT_EXEC_STATE_WAIT_FOR_POST
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtExecState:NVDATAMGMT_EXEC_STATE_WAIT_FOR_POST
+TEST.END
+
+-- Unit: sys_main
+
+-- Subprogram: initSoftware
+
+-- Test Case: initNVDataMgmt
+TEST.UNIT:sys_main
+TEST.SUBPROGRAM:initSoftware
+TEST.NEW
+TEST.NAME:initNVDataMgmt
+TEST.VALUE:NVDataMgmt.<>.queueRearIndex:3
+TEST.VALUE:NVDataMgmt.<>.queueFrontIndex:4
+TEST.VALUE:NVDataMgmt.<>.queueCount:54
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_ENABLE_EEPROM
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtExecState:NVDATAMGMT_EXEC_STATE_WRITE_TO_RTC
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestResult:SELF_TEST_STATUS_FAILED
+TEST.EXPECTED:NVDataMgmt.<>.queueRearIndex:0
+TEST.EXPECTED:NVDataMgmt.<>.queueFrontIndex:0
+TEST.EXPECTED:NVDataMgmt.<>.queueCount:0
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_START
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtExecState:NVDATAMGMT_EXEC_STATE_WAIT_FOR_POST
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestResult:SELF_TEST_STATUS_IN_PROGRESS
+TEST.END
Index: vectorcast/Hercules_RM46_HD_Project/environment/NVDATAMGMT/NVDATAMGMT.tst
===================================================================
diff -u -rf5c33ea012de27ac138d7c5874ba1b7d54213b8b -rd582f46f70e37a65f3d47b0bfbbe7333a12fd1ca
--- vectorcast/Hercules_RM46_HD_Project/environment/NVDATAMGMT/NVDATAMGMT.tst (.../NVDATAMGMT.tst) (revision f5c33ea012de27ac138d7c5874ba1b7d54213b8b)
+++ vectorcast/Hercules_RM46_HD_Project/environment/NVDATAMGMT/NVDATAMGMT.tst (.../NVDATAMGMT.tst) (revision d582f46f70e37a65f3d47b0bfbbe7333a12fd1ca)
@@ -81,22 +81,58 @@
-- Subprogram: enqueue
--- Test Case: Write_EEPROM_Address_Not_Zero
+-- Test Case: Read_EEPROM
TEST.UNIT:NVDataMgmt
TEST.SUBPROGRAM:enqueue
TEST.NEW
-TEST.NAME:Write_EEPROM_Address_Not_Zero
-TEST.VALUE:NVDataMgmt.enqueue.ops:NVDATAMGMT_WRITE
+TEST.NAME:Read_EEPROM
+TEST.VALUE:NVDataMgmt.<>.jobQueue[0].startAddress:<>
+TEST.VALUE:NVDataMgmt.enqueue.ops:NVDATAMGMT_READ
TEST.VALUE:NVDataMgmt.enqueue.location:NVDATAMGMT_EEPROM
+TEST.VALUE:NVDataMgmt.enqueue.startAddress:2
+TEST.VALUE:NVDataMgmt.enqueue.data:<>
+TEST.VALUE:NVDataMgmt.enqueue.data:"A"
+TEST.VALUE:NVDataMgmt.enqueue.length:1
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].memoryOperation:NVDATAMGMT_READ
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].memoryLocation:NVDATAMGMT_EEPROM
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].buffer:"A"
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].length:1
TEST.END
--- Test Case: Write_EEPROM_Address_Not_Zero.001
+-- Test Case: Read_RTC
TEST.UNIT:NVDataMgmt
TEST.SUBPROGRAM:enqueue
TEST.NEW
-TEST.NAME:Write_EEPROM_Address_Not_Zero.001
+TEST.NAME:Read_RTC
+TEST.VALUE:NVDataMgmt.<>.jobQueue[0].startAddress:<>
TEST.VALUE:NVDataMgmt.enqueue.ops:NVDATAMGMT_READ
+TEST.VALUE:NVDataMgmt.enqueue.location:NVDATAMGMT_RTC
+TEST.VALUE:NVDataMgmt.enqueue.startAddress:2
+TEST.VALUE:NVDataMgmt.enqueue.data:<>
+TEST.VALUE:NVDataMgmt.enqueue.data:"A"
+TEST.VALUE:NVDataMgmt.enqueue.length:1
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].memoryOperation:NVDATAMGMT_READ
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].memoryLocation:NVDATAMGMT_RTC
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].buffer:"A"
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].length:1
+TEST.END
+
+-- Test Case: Write_EEPROM
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:enqueue
+TEST.NEW
+TEST.NAME:Write_EEPROM
+TEST.VALUE:NVDataMgmt.<>.jobQueue[0].startAddress:<>
+TEST.VALUE:NVDataMgmt.enqueue.ops:NVDATAMGMT_WRITE
TEST.VALUE:NVDataMgmt.enqueue.location:NVDATAMGMT_EEPROM
+TEST.VALUE:NVDataMgmt.enqueue.startAddress:2
+TEST.VALUE:NVDataMgmt.enqueue.data:<>
+TEST.VALUE:NVDataMgmt.enqueue.data:"A"
+TEST.VALUE:NVDataMgmt.enqueue.length:1
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].memoryOperation:NVDATAMGMT_WRITE
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].memoryLocation:NVDATAMGMT_EEPROM
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].buffer:"A"
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].length:1
TEST.END
-- Subprogram: enqueueBank7Sector0Records
@@ -221,6 +257,35 @@
-- Subprogram: execNVDataMgmtSelfTest
+-- Test Case: Check_CRC_Record
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:execNVDataMgmtSelfTest
+TEST.NEW
+TEST.NAME:Check_CRC_Record
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_CHECK_CRC
+TEST.VALUE:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_COMPLETE
+TEST.EXPECTED:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_PASSED
+TEST.END
+
+-- Test Case: Complete
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:execNVDataMgmtSelfTest
+TEST.NEW
+TEST.NAME:Complete
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_COMPLETE
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_COMPLETE
+TEST.END
+
+-- Test Case: Default
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:execNVDataMgmtSelfTest
+TEST.NEW
+TEST.NAME:Default
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestState:NUM_OF_NVDATAMGMT_SELF_TEST_STATES
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_COMPLETE
+TEST.END
+
-- Test Case: Enable_EEPROM
TEST.UNIT:NVDataMgmt
TEST.SUBPROGRAM:execNVDataMgmtSelfTest
@@ -232,17 +297,94 @@
TEST.EXPECTED:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
TEST.END
--- Test Case: Enable_EEPROM.001
+-- Test Case: Read_Bootloader
TEST.UNIT:NVDataMgmt
TEST.SUBPROGRAM:execNVDataMgmtSelfTest
TEST.NEW
-TEST.NAME:Enable_EEPROM.001
+TEST.NAME:Read_Bootloader
TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_BOOTLOADER_FLAG
TEST.VALUE:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
-TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_BOOTLOADER_FLAG
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_WATER_CONSUMPTION
TEST.EXPECTED:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
TEST.END
+-- Test Case: Read_Calibration_Record
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:execNVDataMgmtSelfTest
+TEST.NEW
+TEST.NAME:Read_Calibration_Record
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_CAL_RECORD
+TEST.VALUE:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_CAL_RECORD
+TEST.EXPECTED:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.END
+
+-- Test Case: Read_DG_Water_Consumption
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:execNVDataMgmtSelfTest
+TEST.NEW
+TEST.NAME:Read_DG_Water_Consumption
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_WATER_CONSUMPTION
+TEST.VALUE:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_LOG_RECORD
+TEST.EXPECTED:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.END
+
+-- Test Case: Read_Disinfection_Record
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:execNVDataMgmtSelfTest
+TEST.NEW
+TEST.NAME:Read_Disinfection_Record
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_LAST_DISINFECTION_DATE
+TEST.VALUE:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_CHECK_CRC
+TEST.EXPECTED:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.END
+
+-- Test Case: Read_HD_Treatment_Time
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:execNVDataMgmtSelfTest
+TEST.NEW
+TEST.NAME:Read_HD_Treatment_Time
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_TREATMENT_TIME
+TEST.VALUE:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_LOG_RECORD
+TEST.EXPECTED:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.END
+
+-- Test Case: Read_Log_Record
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:execNVDataMgmtSelfTest
+TEST.NEW
+TEST.NAME:Read_Log_Record
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_LOG_RECORD
+TEST.VALUE:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_MFG_RECORD
+TEST.EXPECTED:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.END
+
+-- Test Case: Read_Mfg_Record
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:execNVDataMgmtSelfTest
+TEST.NEW
+TEST.NAME:Read_Mfg_Record
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_MFG_RECORD
+TEST.VALUE:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_MFG_RECORD
+TEST.EXPECTED:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.END
+
+-- Test Case: Read_Service_Record
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:execNVDataMgmtSelfTest
+TEST.NEW
+TEST.NAME:Read_Service_Record
+TEST.VALUE:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_SERVICE_RECORD
+TEST.VALUE:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.EXPECTED:NVDataMgmt.<>.NVDataMgmtSelfTestState:NVDATAMGMT_SELF_TEST_STATE_READ_LAST_DISINFECTION_DATE
+TEST.EXPECTED:NVDataMgmt.execNVDataMgmtSelfTest.return:SELF_TEST_STATUS_IN_PROGRESS
+TEST.END
+
-- Test Case: Test_Start
TEST.UNIT:NVDataMgmt
TEST.SUBPROGRAM:execNVDataMgmtSelfTest
@@ -641,6 +783,20 @@
TEST.EXPECTED:NVDataMgmt.handleExecIdleState.return:NVDATAMGMT_EXEC_STATE_WRITE_TO_EEPROM
TEST.END
+-- Test Case: Queue_Not_Empty_Write_EEPROM_Default_Location
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:handleExecIdleState
+TEST.NEW
+TEST.NAME:Queue_Not_Empty_Write_EEPROM_Default_Location
+TEST.VALUE:NVDataMgmt.<>.jobQueue[0].memoryOperation:NVDATAMGMT_WRITE
+TEST.VALUE:NVDataMgmt.<>.jobQueue[0].memoryLocation:NUM_OF_NVDATAMGMT_LOC_STATES
+TEST.VALUE:NVDataMgmt.<>.jobQueue[0].externalAddress:<>
+TEST.VALUE:NVDataMgmt.<>.queueCount:1
+TEST.VALUE:NVDataMgmt.handleExecIdleState.return:NVDATAMGMT_EXEC_STATE_IDLE
+TEST.VALUE:uut_prototype_stubs.getRTCRAMState.return:RTC_RAM_STATE_READY
+TEST.EXPECTED:NVDataMgmt.handleExecIdleState.return:NVDATAMGMT_EXEC_STATE_IDLE
+TEST.END
+
-- Test Case: Queue_Not_Empty_Write_RTC_Busy
TEST.UNIT:NVDataMgmt
TEST.SUBPROGRAM:handleExecIdleState
@@ -1333,17 +1489,49 @@
TEST.EXPECTED:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0xF0204020
TEST.END
--- Test Case: NextReadIndex_Zero_Header_Corrupted
+-- Test Case: NextReadIndex_Wrap_Header_Corrupted_Erase
TEST.UNIT:NVDataMgmt
TEST.SUBPROGRAM:prepareReadLogJobAndGetStartAddress
TEST.NEW
-TEST.NAME:NextReadIndex_Zero_Header_Corrupted
+TEST.NAME:NextReadIndex_Wrap_Header_Corrupted_Erase
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.<>.logRecord.logHeader.isHdrCorrupted:0
+TEST.EXPECTED:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0xF020FFE0
+TEST.END
+
+-- Test Case: NextReadIndex_Wrap_Header_Corrupted_No_Erase
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:prepareReadLogJobAndGetStartAddress
+TEST.NEW
+TEST.NAME:NextReadIndex_Wrap_Header_Corrupted_No_Erase
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.recordCount:7
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:1535
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:1
+TEST.VALUE:NVDataMgmt.<>.queueCount:18
+TEST.VALUE:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.recordCount:0
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:0
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:1
+TEST.EXPECTED:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0xF020FFE0
+TEST.END
+
+-- Test Case: NextReadIndex_Zero_Header_Corrupted_Erase
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:prepareReadLogJobAndGetStartAddress
+TEST.NEW
+TEST.NAME:NextReadIndex_Zero_Header_Corrupted_Erase
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.recordCount:7
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:0
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:1
+TEST.VALUE:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.recordCount:7
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:1
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:1
TEST.EXPECTED:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0xF0204000
TEST.END
@@ -1356,24 +1544,84 @@
TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:0
TEST.VALUE:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0
TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:1
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:0
TEST.EXPECTED:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:0xF0204000
TEST.END
-- Subprogram: prepareWriteLogJobAndGetStartAddress
--- Test Case: NextReadIndex_Not_Zero_Header_Not_Corrupted
+-- Test Case: Modulus_Not_Zero
TEST.UNIT:NVDataMgmt
TEST.SUBPROGRAM:prepareWriteLogJobAndGetStartAddress
TEST.NEW
-TEST.NAME:NextReadIndex_Not_Zero_Header_Not_Corrupted
-TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:1
+TEST.NAME:Modulus_Not_Zero
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.recordCount:8
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextWriteIndex:1
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:5
TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:0
TEST.VALUE:NVDataMgmt.prepareWriteLogJobAndGetStartAddress.return:0
-TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:2
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.recordCount:9
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextWriteIndex:2
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:5
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:0
TEST.EXPECTED:NVDataMgmt.prepareWriteLogJobAndGetStartAddress.return:0xF0204020
TEST.ATTRIBUTES:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:EXPECTED_BASE=16
TEST.END
+-- Test Case: Modulus_Not_Zero_Write_Wrap
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:prepareWriteLogJobAndGetStartAddress
+TEST.NEW
+TEST.NAME:Modulus_Not_Zero_Write_Wrap
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.recordCount:8
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextWriteIndex:1535
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:5
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:0
+TEST.VALUE:NVDataMgmt.prepareWriteLogJobAndGetStartAddress.return:0
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.recordCount:9
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextWriteIndex:0
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:5
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:0
+TEST.EXPECTED:NVDataMgmt.prepareWriteLogJobAndGetStartAddress.return:0xF020FFE0
+TEST.ATTRIBUTES:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:EXPECTED_BASE=16
+TEST.END
+
+-- Test Case: Modulus_Zero_No_Write_Wrap
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:prepareWriteLogJobAndGetStartAddress
+TEST.NEW
+TEST.NAME:Modulus_Zero_No_Write_Wrap
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.recordCount:8
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextWriteIndex:0
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:5
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:0
+TEST.VALUE:NVDataMgmt.prepareWriteLogJobAndGetStartAddress.return:0
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.recordCount:9
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextWriteIndex:1
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:5
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:0
+TEST.EXPECTED:NVDataMgmt.prepareWriteLogJobAndGetStartAddress.return:0xF0204000
+TEST.ATTRIBUTES:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:EXPECTED_BASE=16
+TEST.END
+
+-- Test Case: Modulus_Zero_Write_Wrap
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:prepareWriteLogJobAndGetStartAddress
+TEST.NEW
+TEST.NAME:Modulus_Zero_Write_Wrap
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.recordCount:1536
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextWriteIndex:0
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:5
+TEST.VALUE:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:0
+TEST.VALUE:NVDataMgmt.prepareWriteLogJobAndGetStartAddress.return:0
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.recordCount:1025
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextWriteIndex:1
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.nextReadIndex:517
+TEST.EXPECTED:NVDataMgmt.<>.logRecord.logHeader.isHdrCorrupted:0
+TEST.EXPECTED:NVDataMgmt.prepareWriteLogJobAndGetStartAddress.return:0xF0204000
+TEST.ATTRIBUTES:NVDataMgmt.prepareReadLogJobAndGetStartAddress.return:EXPECTED_BASE=16
+TEST.END
+
-- Subprogram: readLogData
-- Test Case: Min_Jobs_Available
@@ -1492,55 +1740,80 @@
-- Subprogram: setMemoryOpsStruct
--- Test Case: Queue_Full_Ext_Address_Zero
+-- Test Case: Queue_Not_Full_Ext_Address_Not_Zero
TEST.UNIT:NVDataMgmt
TEST.SUBPROGRAM:setMemoryOpsStruct
TEST.NEW
-TEST.NAME:Queue_Full_Ext_Address_Zero
+TEST.NAME:Queue_Not_Full_Ext_Address_Not_Zero
+TEST.VALUE:NVDataMgmt.<>.jobQueue[0].startAddress:<>
+TEST.VALUE:NVDataMgmt.<>.jobQueue[0].externalAddress:<>
+TEST.VALUE:NVDataMgmt.<>.jobQueue[0].externalAddress[0].status:NVDATAMGMT_READ_IN_PROGRESS
+TEST.VALUE:NVDataMgmt.<>.jobQueue[0].externalAddress[0].externalBuffer:<>
TEST.VALUE:NVDataMgmt.<>.queueRearIndex:0
-TEST.VALUE:NVDataMgmt.<>.queueFrontIndex:0
-TEST.VALUE:NVDataMgmt.<>.queueCount:21
+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]:10
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].externalAddress[0].status:NVDATAMGMT_READ_IDLE
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].externalAddress[0].externalBuffer[0]:10
TEST.EXPECTED:NVDataMgmt.<>.jobQueue[0].length:1
+TEST.EXPECTED:NVDataMgmt.<>.queueRearIndex:1
+TEST.EXPECTED:NVDataMgmt.<>.queueCount:2
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.<>.jobQueue[0].startAddress:<>
TEST.VALUE:NVDataMgmt.<>.queueRearIndex:0
TEST.VALUE:NVDataMgmt.<>.queueFrontIndex:0
-TEST.VALUE:NVDataMgmt.<>.queueCount:1
+TEST.VALUE:NVDataMgmt.<>.queueCount:15
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.END
+
+-- Test Case: Queue_Not_Full_Ext_Address_Zero_Wrap
+TEST.UNIT:NVDataMgmt
+TEST.SUBPROGRAM:setMemoryOpsStruct
+TEST.NEW
+TEST.NAME:Queue_Not_Full_Ext_Address_Zero_Wrap
+TEST.VALUE:NVDataMgmt.<>.jobQueue[19].startAddress:<>
+TEST.VALUE:NVDataMgmt.<>.jobQueue[19].externalAddress:<>
+TEST.VALUE:NVDataMgmt.<>.jobQueue[19].externalAddress[0].status:NVDATAMGMT_READ_IN_PROGRESS
+TEST.VALUE:NVDataMgmt.<>.jobQueue[19].externalAddress[0].externalBuffer:<>
+TEST.VALUE:NVDataMgmt.<>.queueRearIndex:19
+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.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]:10
+TEST.VALUE:NVDataMgmt.setMemoryOpsStruct.length:1
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[19].memoryOperation:NVDATAMGMT_WRITE
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[19].memoryLocation:NVDATAMGMT_EEPROM
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[19].externalAddress[0].status:NVDATAMGMT_READ_IDLE
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[19].externalAddress[0].externalBuffer[0]:10
+TEST.EXPECTED:NVDataMgmt.<>.jobQueue[19].length:1
+TEST.EXPECTED:NVDataMgmt.<>.queueRearIndex:0
TEST.EXPECTED:NVDataMgmt.<>.queueCount:2
TEST.END
Index: vectorcast/Hercules_RM46_HD_Project/project.db
===================================================================
diff -u -r96344ec7d442efbcc3f1917d523b5e02c7324003 -rd582f46f70e37a65f3d47b0bfbbe7333a12fd1ca
Binary files differ