diff options
| author | crgeddes <crgeddes@us.ibm.com> | 2016-03-30 20:59:51 -0500 |
|---|---|---|
| committer | Stephen Cprek <smcprek@us.ibm.com> | 2016-04-21 13:51:41 -0500 |
| commit | 75fc7001ace168ef7c687d3b938d58c9e5adf48f (patch) | |
| tree | 9ccb0814f8b30245523ffc108da66181f1add71d /src/usr/fapi2/test/fapi2HwAccessTest.H | |
| parent | 43b31e59ca4f20d8172c8daff89eb0f648d14238 (diff) | |
| download | talos-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.H | 168 |
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 |

