Skip to content

Commit

Permalink
MDIA: Update mdiatestmba.H test case
Browse files Browse the repository at this point in the history
Change-Id: I47d4612fa063cd43e3d49e4cc47e466620add3c9
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82514
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Benjamen G Tyner <ben.tyner@ibm.com>
Reviewed-by: Zane C Shelley <zshelle@us.ibm.com>
  • Loading branch information
cnpalmer authored and zane131 committed Aug 22, 2019
1 parent 6d14af6 commit ea5da88
Showing 1 changed file with 67 additions and 46 deletions.
113 changes: 67 additions & 46 deletions src/usr/diag/mdia/test/mdiatestmba.H
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2012,2016 */
/* Contributors Listed Below - COPYRIGHT 2012,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -47,97 +47,118 @@ class MdiaMbaTest : public CxxTest::TestSuite
using namespace MDIA;
using namespace TARGETING;

TS_TRACE(ENTER_MRK "testGetDiagnosticMode");
TS_TRACE( ENTER_MRK "testGetDiagnosticMode" );

TargetHandleList mbaList;
getAllChiplets(mbaList, TYPE_MBA);
TargetHandleList list;
fapi2::TargetType type = getMdiaTargetType();
if ( fapi2::TARGET_TYPE_MBA_CHIPLET == type )
{
TARGETING::getAllChiplets( list, TYPE_MBA );
}
else if ( fapi2::TARGET_TYPE_MCBIST == type )
{
TARGETING::getAllChiplets( list, TYPE_MCBIST );
}
else if ( fapi2::TARGET_TYPE_OCMB_CHIP == type )
{
TARGETING::getAllChiplets( list, TYPE_OCMB_CHIP );
}

if( !mbaList.empty() )
if( !list.empty() )
{
DiagMode mode;
Globals globals;
TargetHandle_t mba = mbaList[0];
TargetHandle_t trgt = list[0];

errlHndl_t err = getDiagnosticMode(
globals, mba, mode);
errlHndl_t err = getDiagnosticMode( globals, trgt, mode );

if(err)
{
TS_FAIL("getDiagnosticMode failed "
"unexpectedly");
TS_FAIL( "getDiagnosticMode failed unexpectedly" );
}

if(mode != ONE_PATTERN)
{
TS_FAIL("mode != ONE_PATTERN");
TS_FAIL( "mode != ONE_PATTERN" );
}
}

TS_TRACE(EXIT_MRK "testGetDiagnosticMode");
TS_TRACE( EXIT_MRK "testGetDiagnosticMode" );
}

void testGetWorkFlow(void)
{
using namespace MDIA;
using namespace TARGETING;

TS_TRACE(ENTER_MRK "testGetWorkFlow");
TS_TRACE( ENTER_MRK "testGetWorkFlow" );

Globals globals;
TargetHandle_t mba = 0;
TargetHandle_t trgt = 0;
DiagMode mode;
errlHndl_t err = NULL;
TargetHandleList mbaList;
getAllChiplets(mbaList, TYPE_MBA);

if( !mbaList.empty() )
TargetHandleList list;
fapi2::TargetType type = getMdiaTargetType();
if ( fapi2::TARGET_TYPE_MBA_CHIPLET == type )
{
mba = mbaList[0];
err = getDiagnosticMode(
globals, mba, mode);
TARGETING::getAllChiplets( list, TYPE_MBA );
}
else if ( fapi2::TARGET_TYPE_MCBIST == type )
{
TARGETING::getAllChiplets( list, TYPE_MCBIST );
}
else if ( fapi2::TARGET_TYPE_OCMB_CHIP == type )
{
TARGETING::getAllChiplets( list, TYPE_OCMB_CHIP );
}

if(err)
if( !list.empty() )
{
trgt = list[0];
err = getDiagnosticMode( globals, trgt, mode );

if( err )
{
TS_FAIL("getDiagnosticMode "
"failed unexpectedly");
TS_FAIL( "getDiagnosticMode failed unexpectedly" );
}

if(mode != ONE_PATTERN)
if( mode != ONE_PATTERN )
{
TS_FAIL("mode != ONE_PATTERN");
TS_FAIL( "mode != ONE_PATTERN" );
}
}

WorkFlow wf, expected;
WorkFlow wf, expected;

expected.push_back(RESTORE_DRAM_REPAIRS);
expected.push_back(START_PATTERN_0);
expected.push_back(START_SCRUB);
expected.push_back(CLEAR_HW_CHANGED_STATE);
expected.push_back( RESTORE_DRAM_REPAIRS );
expected.push_back( START_PATTERN_0 );
expected.push_back( START_SCRUB );
expected.push_back( CLEAR_HW_CHANGED_STATE );

err = getWorkFlow(mode, wf, globals);
err = getWorkFlow( mode, wf, globals );

if(err)
{
TS_FAIL("getWorkFlow failed unexpectedly");
}
if( err )
{
TS_FAIL( "getWorkFlow failed unexpectedly" );
}

if(wf.size() != expected.size())
{
TS_FAIL("incorrect workflow size for init only mode");
}
if( wf.size() != expected.size() )
{
TS_FAIL( "incorrect workflow size for init only mode" );
}

int64_t index = wf.size();
int64_t index = wf.size();

while(index-- != 0)
{
if(wf[index] != expected[index])
while( index-- != 0 )
{
TS_FAIL("workflow entry incorrect or out of order");
if( wf[index] != expected[index] )
{
TS_FAIL( "workflow entry incorrect or out of order" );
}
}
}

TS_TRACE(EXIT_MRK "testGetWorkFlow");
TS_TRACE( EXIT_MRK "testGetWorkFlow" );
}
};
#endif

0 comments on commit ea5da88

Please sign in to comment.