summaryrefslogtreecommitdiffstats
path: root/src/usr/fapi2/test/fapi2HwAccessTest.H
diff options
context:
space:
mode:
authorcrgeddes <crgeddes@us.ibm.com>2016-03-30 20:59:51 -0500
committerStephen Cprek <smcprek@us.ibm.com>2016-04-21 13:51:41 -0500
commit75fc7001ace168ef7c687d3b938d58c9e5adf48f (patch)
tree9ccb0814f8b30245523ffc108da66181f1add71d /src/usr/fapi2/test/fapi2HwAccessTest.H
parent43b31e59ca4f20d8172c8daff89eb0f648d14238 (diff)
downloadtalos-hostboot-75fc7001ace168ef7c687d3b938d58c9e5adf48f.tar.gz
talos-hostboot-75fc7001ace168ef7c687d3b938d58c9e5adf48f.zip
Fix format of fapi2 test cases
Refactoring some tests now so it follows what the other cases are doing. Note: I am pulling in some code from an abandoned commit in for toString test so it looks like new code is being added but really things are just moving around Change-Id: I7706c304f3ef3369e56516ac81f88dc91d059bf2 RTC:150514 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22692 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/fapi2/test/fapi2HwAccessTest.H')
-rw-r--r--src/usr/fapi2/test/fapi2HwAccessTest.H168
1 files changed, 168 insertions, 0 deletions
diff --git a/src/usr/fapi2/test/fapi2HwAccessTest.H b/src/usr/fapi2/test/fapi2HwAccessTest.H
new file mode 100644
index 000000000..626992fc3
--- /dev/null
+++ b/src/usr/fapi2/test/fapi2HwAccessTest.H
@@ -0,0 +1,168 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/fapi2/test/fapi2HwAccessTest.H $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* [+] International Business Machines Corp. */
+/* */
+/* */
+/* Licensed under the Apache License, Version 2.0 (the "License"); */
+/* you may not use this file except in compliance with the License. */
+/* You may obtain a copy of the License at */
+/* */
+/* http://www.apache.org/licenses/LICENSE-2.0 */
+/* */
+/* Unless required by applicable law or agreed to in writing, software */
+/* distributed under the License is distributed on an "AS IS" BASIS, */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
+/* implied. See the License for the specific language governing */
+/* permissions and limitations under the License. */
+/* */
+/* IBM_PROLOG_END_TAG */
+
+
+#ifndef __FAPI2_HWACCESSTEST_H
+#define __FAPI2_HWACCESSTEST_H
+
+/**
+ * @file src/usr/fapi2/test/fapi2HwAccessTest.H
+ *
+ * @brief Test various types of HW access with FAPI2 Macros
+ */
+
+
+
+
+#include <cxxtest/TestSuite.H>
+#include <errl/errlmanager.H>
+#include <errl/errlentry.H>
+#include <fapi2.H>
+#include <hwpf_fapi2_reasoncodes.H>
+#include <fapi2TestUtils.H>
+#include <p9_hwtests.H>
+
+
+
+using namespace fapi2;
+
+
+class Fapi2HwAccessTest : public CxxTest::TestSuite
+{
+public:
+//******************************************************************************
+// test_fapi2HwAccess
+//******************************************************************************
+void test_fapi2HwAccess()
+{
+ int numTests = 0;
+ int numFails = 0;
+ errlHndl_t l_errl = NULL;
+ do
+ {
+ // Create a vector of TARGETING::Target pointers
+ TARGETING::TargetHandleList l_chipList;
+
+ // Get a list of all of the proc chips
+ TARGETING::getAllChips(l_chipList, TARGETING::TYPE_PROC, false);
+
+ TARGETING::Target * l_nimbusProc = NULL;
+
+ //Take the first NIMBUS proc and use it
+ for(uint32_t i = 0; i < l_chipList.size(); i++)
+ {
+ if(TARGETING::MODEL_NIMBUS ==
+ l_chipList[i]->getAttr<TARGETING::ATTR_MODEL>())
+ {
+ l_nimbusProc = l_chipList[i];
+ break;
+ }
+ }
+
+ numTests++;
+ if(l_nimbusProc == NULL)
+ {
+ // Send an errorlog because we cannot find any NIMBUS procs.
+ TS_FAIL("FAPI2_GETPARENT:: could not find Nimbus proc, skipping tests");
+ numFails++;
+ break;
+ }
+
+ Target<fapi2::TARGET_TYPE_PROC_CHIP> fapi2_procTarget(
+ l_nimbusProc);
+
+ numTests++;
+ FAPI_INVOKE_HWP(l_errl, p9_scomtest_getscom_fail, fapi2_procTarget);
+ if(l_errl != NULL)
+ {
+ delete l_errl; // delete expected error log
+ }
+ else
+ {
+ TS_FAIL("No error from p9_scomtest_getscom_fail !!");
+ numFails++;
+ }
+ numTests++;
+ FAPI_INVOKE_HWP(l_errl, p9_scomtest_putscom_fail, fapi2_procTarget);
+ if(l_errl != NULL)
+ {
+ delete l_errl; // delete expected error log
+ }
+ else
+ {
+ TS_FAIL("No error from p9_scomtest_putscom_fail !!");
+ numFails++;
+ }
+ numTests++;
+ FAPI_INVOKE_HWP(l_errl, p9_cfamtest_putcfam_fail, fapi2_procTarget);
+ if(l_errl != NULL)
+ {
+ delete l_errl; // delete expected error log
+ }
+ else
+ {
+ TS_FAIL("No error from p9_cfamtest_putcfam_fail !!");
+ numFails++;
+ }
+ numTests++;
+ FAPI_INVOKE_HWP(l_errl, p9_cfamtest_getcfam_fail, fapi2_procTarget);
+ if(l_errl != NULL)
+ {
+ delete l_errl; // delete expected error log
+ }
+ else
+ {
+ TS_FAIL("No error from p9_cfamtest_getcfam_fail !!");
+ numFails++;
+ }
+ numTests++;
+ FAPI_INVOKE_HWP(l_errl, p9_scomtest_getscom_pass, fapi2_procTarget);
+ if(l_errl)
+ {
+ TS_FAIL("Error from p9_scomtest_getscom_pass !!");
+ numFails++;
+ errlCommit(l_errl,FAPI2_COMP_ID);
+ delete l_errl; // delete unexpected error log so we dont get
+ // a false negative on the next case
+ }
+ numTests++;
+ FAPI_INVOKE_HWP(l_errl, p9_scomtest_putscom_pass, fapi2_procTarget);
+ if(l_errl)
+ {
+ TS_FAIL("Error from p9_scomtest_putscom_pass !!");
+ numFails++;
+ errlCommit(l_errl,FAPI2_COMP_ID);
+ delete l_errl; // delete unexpected error log so we dont get
+ // a false negative on the next case (future?)
+ }
+ }while(0);
+
+ FAPI_INF("fapi2HwAccessTest Test Complete. %d/%d fails", numFails , numTests);
+
+}
+
+};
+
+#endif // End __FAPI2_HWACCESSTEST_H \ No newline at end of file
OpenPOWER on IntegriCloud