Listing 1. Simple C code with two paths and MCDC testing requirements
#define UPPER_LIMIT 100
#define TRUE 1
#define FALSE 0
extern void logMessage(char *msg);
extern unsigned int MMIORead(unsigned int addr);
extern void StartRecovery(void);
extern void ContinueOperation(void);
extern int RecoveryRequired;
int LimitTest(unsigned int val)
{
if(val > UPPER_LIMIT)
{
logMessage("Limit Exceeded\n");
return TRUE;
}
else
{
return FALSE;
}
}
main()
{
unsigned int IOValue = 0;
IOValue = MMIORead(0xF0000100);
if(RecoveryRequired || LimitTest(IOValue))
{
StartRecovery();
}
else
{
ContinueOperation();
}
}
|