mt2503 Autotest时,对某一项按Send键进行重复测试,history.c中发生A...
时间:10-02
整理:3721RD
点击:
[php?mod=tag&id=6090" target="_blank" class="relatedlink">Framework]Autotest时,对某一项按Send键进行重复测试,history.c中发生Assert
[DESCRIPTION]
Autotest时,对某一项按Send键进行重复测试,history.c中发生AssertCover
[SOLUTION]
solution适用的SWversion:09A09B10A
该问发生的原因为,进行重复测试时,反复调用ExitFMAutoTestStart函数,其中手动将当前Screen压入历史,导致history栈压满。
修改方法为对当前history栈顶的screenID进行判断,若为指定的ScreenID,则不再进行压入历史得操作。
1.修改FactoryModeSrc.c//增加函数声明,以及增加条件判断,当该SCR_ID已经在历史栈,不再加入历史。
externU16GetTopHistoryScrn(void);
voidExitFMAutoTestStart(void)
{
if(NeedExitFunc)
{
if(GetTopHistoryScrn()!=SCR_ID_FM_AUTO_TEST_START)
{
historycurrHistory;
currHistory.scrnID=SCR_ID_FM_AUTO_TEST_START;
currHistory.entryFuncPtr=EntryFMAutoTestStart;
MMI_ucs2cpy((S8*)currHistory.inputBuffer,(S8*)L"");
GetCategoryHistory(currHistory.guiBuffer);
AddHistory(currHistory);
StopTimer(FM_AUTO_TEST_COMMNON_TIMER);
}
}
}
2.修改History.c//增加函数定义
U16GetTopHistoryScrn(void)
{
returnhistoryData[topHistoryIndex].scrnID;
}
3.修改HistoryGprot_Int.h,增加函数声明
externU16GetTopHistoryScrn(void);
[DESCRIPTION]
Autotest时,对某一项按Send键进行重复测试,history.c中发生AssertCover
[SOLUTION]
solution适用的SWversion:09A09B10A
该问发生的原因为,进行重复测试时,反复调用ExitFMAutoTestStart函数,其中手动将当前Screen压入历史,导致history栈压满。
修改方法为对当前history栈顶的screenID进行判断,若为指定的ScreenID,则不再进行压入历史得操作。
1.修改FactoryModeSrc.c//增加函数声明,以及增加条件判断,当该SCR_ID已经在历史栈,不再加入历史。
externU16GetTopHistoryScrn(void);
voidExitFMAutoTestStart(void)
{
if(NeedExitFunc)
{
if(GetTopHistoryScrn()!=SCR_ID_FM_AUTO_TEST_START)
{
historycurrHistory;
currHistory.scrnID=SCR_ID_FM_AUTO_TEST_START;
currHistory.entryFuncPtr=EntryFMAutoTestStart;
MMI_ucs2cpy((S8*)currHistory.inputBuffer,(S8*)L"");
GetCategoryHistory(currHistory.guiBuffer);
AddHistory(currHistory);
StopTimer(FM_AUTO_TEST_COMMNON_TIMER);
}
}
}
2.修改History.c//增加函数定义
U16GetTopHistoryScrn(void)
{
returnhistoryData[topHistoryIndex].scrnID;
}
3.修改HistoryGprot_Int.h,增加函数声明
externU16GetTopHistoryScrn(void);
顶顶顶