summaryrefslogtreecommitdiffstats
path: root/src/test/testcases/testAduMem_ecc.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/testcases/testAduMem_ecc.py')
-rw-r--r--src/test/testcases/testAduMem_ecc.py54
1 files changed, 32 insertions, 22 deletions
diff --git a/src/test/testcases/testAduMem_ecc.py b/src/test/testcases/testAduMem_ecc.py
index d7b10dd0..bcd03645 100644
--- a/src/test/testcases/testAduMem_ecc.py
+++ b/src/test/testcases/testAduMem_ecc.py
@@ -5,7 +5,7 @@
#
# OpenPOWER sbe Project
#
-# Contributors Listed Below - COPYRIGHT 2016
+# Contributors Listed Below - COPYRIGHT 2016,2017
# [+] International Business Machines Corp.
#
#
@@ -25,35 +25,45 @@
import sys
sys.path.append("targets/p9_nimbus/sbeTest" )
import testUtil
+import testMemUtil as testMemProcUtil
err = False
-LOOP_COUNT = 1
-
-GETMEMADU_TESTDATA_ECC = [0,0,0,0x6,
- 0,0,0xA4,0x01,
- 0,0,0x0,0xAD, #CoreChipletId/EccByte/Flags - CacheInhibit/FastMode/NoTag/Ecc/AutoIncr/Adu/Proc
- 0,0,0,0, # Addr Upper 32 bit
- 0x08,0x00,0x00,0x00, # Addr Lower 32 bit
- 0x00,0x00,0x00,0x20] # length of data
-
-GETMEMADU_EXPDATA_ECC = [0x00,0x00,0x00,0x24, # length of data
- 0xc0,0xde,0xa4,0x01,
- 0x0,0x0,0x0,0x0,
- 0x00,0x0,0x0,0x03];
-
# MAIN Test Run Starts Here...
#-------------------------------------------------
def main( ):
testUtil.runCycles( 10000000 )
- # GetMemAdu with Ecc
- testUtil.writeUsFifo( GETMEMADU_TESTDATA_ECC)
- testUtil.writeEot( )
+ #PutMemAdu with ECC
+ data = os.urandom(80)
+ data = [ord(c) for c in data]
+ testMemProcUtil.putmem(0x08000000, data, 0xAD, 0xEF)
+ data = testMemProcUtil.addItagEcc(data,False, True, 0xEF)
- testUtil.readDsEntry ( 9 )
- testUtil.readDsFifo( GETMEMADU_EXPDATA_ECC)
- testUtil.runCycles( 10000000 )
- testUtil.readEot( )
+ # GetMemAdu test with ECC
+ readData = testMemProcUtil.getmem(0x08000000, 80, 0xAD)
+ if(data == readData):
+ print ("Success - Write-Read ADU with ECC")
+ else:
+ print data
+ print readData
+ raise Exception('data mistmach')
+
+ # Partial Write test
+ readData = testMemProcUtil.getmem(0x08000000, 40, 0xAD)
+ data = os.urandom(8)
+ data = [ord(c) for c in data]
+ testMemProcUtil.putmem(0x08000008, data, 0xAD, 0xEF)
+ data = testMemProcUtil.addItagEcc(data,False, True, 0xEF)
+ readBackData = testMemProcUtil.getmem(0x08000000, 40, 0xAD)
+ sandwichData = readData[:9]+data+readData[len(data)+9:]
+ if(sandwichData == readBackData):
+ print ("Success - Write_Part-Read ADU with ECC")
+ else:
+ print readData
+ print data
+ print readBackData
+ print sandwichData
+ raise Exception('data mistmach')
#-------------------------------------------------
# Calling all test code
OpenPOWER on IntegriCloud