summaryrefslogtreecommitdiffstats
path: root/sbe/test
diff options
context:
space:
mode:
authorSachin Gupta <sgupta2m@in.ibm.com>2015-09-23 05:09:17 -0500
committerAmit J. Tendolkar <amit.tendolkar@in.ibm.com>2015-11-16 00:25:50 -0600
commit88f4efefa579dc33953936817b3e8d6ddf1d651f (patch)
tree35af4c2409b79b34c83cc69ec8e0f34662401ebd /sbe/test
parentdeb3046d088210c2af9c6e3f49f1155969702d27 (diff)
downloadtalos-sbe-88f4efefa579dc33953936817b3e8d6ddf1d651f.tar.gz
talos-sbe-88f4efefa579dc33953936817b3e8d6ddf1d651f.zip
CI Test infrastructure support
RTC: 123606 Change-Id: Icf1410c21a9b5691d3b6ea9b54e2507acef61a5d Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/20724 Tested-by: Jenkins Server Reviewed-by: Basabjit Sengupta <basengup@in.ibm.com> Reviewed-by: Amit J. Tendolkar <amit.tendolkar@in.ibm.com>
Diffstat (limited to 'sbe/test')
-rwxr-xr-xsbe/test/ffdc.xml7
-rwxr-xr-xsbe/test/simics-debug-framework.py60
-rwxr-xr-xsbe/test/test.xml17
-rwxr-xr-xsbe/test/testIstepAuto.py27
-rwxr-xr-xsbe/test/testIstepSuccess.py2
5 files changed, 98 insertions, 15 deletions
diff --git a/sbe/test/ffdc.xml b/sbe/test/ffdc.xml
index 1218f35d..e98a110c 100755
--- a/sbe/test/ffdc.xml
+++ b/sbe/test/ffdc.xml
@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-
+ <!--Collect FFDC -->
<test>
<subtest>
<testcase>
- <simcmd>pipe \"p9Proc0.sbe.mibo_space.x (p9Proc0.sbe.ppe.sym g_pk_trace_buf_ptr) 0x2028\" \"sed 's/^p:0x........ //g' | sed 's/ ................$//g' | sed 's/ //g' | xxd -r -p> ppetrace.bin\"</simcmd>
+ <simcmd>sbe-trace</simcmd>
+ </testcase>
+ <testcase>
+ <simcmd>p9Proc0.sbe.ppe->ppe_state</simcmd>
</testcase>
<testcase>
<simcmd>p9Proc0.proc_fifo->upstream_hw_fifo</simcmd>
diff --git a/sbe/test/simics-debug-framework.py b/sbe/test/simics-debug-framework.py
new file mode 100755
index 00000000..a96e891f
--- /dev/null
+++ b/sbe/test/simics-debug-framework.py
@@ -0,0 +1,60 @@
+import os
+import subprocess
+import re
+import random
+import sys
+sys.path.append("targets/p9_nimbus/sbeTest" )
+import testIstepAuto
+err = False
+
+syms = {};
+
+
+# @fn register_hb_debug_framework_tools
+# @brief Create a simics command wrapper for each debug tool module.
+def register_sbe_debug_framework_tools():
+ fillSymTable()
+ # Create command hook.
+ new_command("sbe-istep", testIstepAuto.sbe_istep_func,
+ args = [arg(int_t, "major"), arg(int_t, "minor")],
+ alias = "istep",
+ type = ["sbe-commands"],
+ short = "Runs the debug framework for istep ",
+ doc = "")
+ new_command("sbe-trace", collectTrace,
+ args = [],
+ alias = "strace",
+ type = ["sbe-commands"],
+ short = "Runs the debug framework for istep ",
+ doc = "")
+ print "SBE Debug Framework: Registered tool:", "sbe-istep"
+ print "SBE Debug Framework: Registered tool:", "sbe-trace"
+
+
+def fillSymTable():
+ symFile = os.environ['SBE_IMG_OUT_LOC'] + "/sbe.syms"
+ f = open( symFile, 'r')
+ for line in f:
+ words = line.split()
+ if( len(words) == 3):
+ syms[words[2]] = words[0]
+
+def collectTrace():
+ cmd1 = "pipe \"p9Proc0.sbe.mibo_space.x 0x" + syms['g_pk_trace_buf'] + " 0x2028\" \"sed 's/^p:0x........ //g' | sed 's/ ................$//g' | sed 's/ //g' | xxd -r -p> ppetrace.bin\""
+ toolPath = os.environ['SBE_IMG_OUT_LOC'] + "/../../tools/ppetracepp/"
+ cmd2 = "shell \"" + toolPath + "ppe2fsp ppetrace.bin sbetrace.bin \""
+ cmd3 = "shell \"" + toolPath + "fsp-trace -s " + os.environ['SBE_IMG_OUT_LOC'] + "/trexStringFile sbetrace.bin > tracMERG \""
+ cmd4 = "shell \"" + "cat tracMERG \""
+
+ ( rc, out ) = quiet_run_command( cmd1, output_modes.regular )
+ if ( rc ):
+ print "simics ERROR running %s: %d "%( cmd1, rc )
+
+ SIM_run_alone( run_command, cmd2 )
+ SIM_run_alone( run_command, cmd3 )
+ SIM_run_alone( run_command, cmd4 )
+
+
+# Run the registration automatically whenever this script is loaded.
+register_sbe_debug_framework_tools()
+
diff --git a/sbe/test/test.xml b/sbe/test/test.xml
index 434a6df8..9433ba87 100755
--- a/sbe/test/test.xml
+++ b/sbe/test/test.xml
@@ -5,18 +5,11 @@
<machine>%%machine%%</machine>
<test>
- <!-- testcase>
- <simcmd>new-symtable file = ~/workspace/sbe/obj/sbe_main.out name = sbe_main</simcmd>
- </testcase>
- <testcase>
- <simcmd>@SIM_create_object('context', 'myppectx', [])</simcmd>
- </testcase>
- <testcase>
- <simcmd>myppectx.symtable symtable = sbe_main</simcmd>
- </testcase>
- <testcase>
- <simcmd>p9Proc0.sbe.ppe.set-context context = myppectx</simcmd>
- </testcas -->
+ <!-- Register SBE tools -->
+ <testcase>
+ <simcmd>run-python-file targets/p9_nimbus/sbeTest/simics-debug-framework.py</simcmd>
+ <exitonerror>yes</exitonerror>
+ </testcase>
<include>../simics/targets/p9_nimbus/sbeTest/testIstep.xml</include>
<include>../simics/targets/p9_nimbus/sbeTest/testScom.xml</include>
<include>../simics/targets/p9_nimbus/sbeTest/testGeneric.xml</include>
diff --git a/sbe/test/testIstepAuto.py b/sbe/test/testIstepAuto.py
new file mode 100755
index 00000000..25b9d206
--- /dev/null
+++ b/sbe/test/testIstepAuto.py
@@ -0,0 +1,27 @@
+import sys
+sys.path.append("targets/p9_nimbus/sbeTest" )
+import testUtil
+err = False
+
+EXPDATA = [0xc0,0xde,0xa1,0x01,
+ 0x0,0x0,0x0,0x0,
+ 0x00,0x0,0x0,0x03];
+
+# MAIN Test Run Starts Here...
+#-------------------------------------------------
+def sbe_istep_func( major, minor ):
+ TESTDATA = [0,0,0,3,
+ 0,0,0xA1,0x01,
+ 0,major,0,minor ]
+ testUtil.runCycles( 10000000 )
+ testUtil.writeUsFifo( TESTDATA )
+ testUtil.writeEot( )
+ testUtil.readDsFifo( EXPDATA )
+ testUtil.readEot( )
+ if err:
+ print ("\nTest completed with error(s)")
+ #sys.exit(1)
+ else:
+ print ("\nTest completed with no errors")
+ #sys.exit(0);
+
diff --git a/sbe/test/testIstepSuccess.py b/sbe/test/testIstepSuccess.py
index 14d2e545..8c42a504 100755
--- a/sbe/test/testIstepSuccess.py
+++ b/sbe/test/testIstepSuccess.py
@@ -6,7 +6,7 @@ err = False
TESTDATA = [0,0,0,3,
0,0,0xA1,0x01,
- 0,0x02,0x00,0x3]
+ 0,0x02,0x00,0x2]
EXPDATA = [0xc0,0xde,0xa1,0x01,
0x0,0x0,0x0,0x0,
OpenPOWER on IntegriCloud