示例#1
0
/*test case:test the reaction of the system called with 
an activation of a task*/
static void test_t1_instance(void)
{
	
	StatusType result_inst_2, result_inst_4, result_inst_5, result_inst_6, result_inst_7, result_inst_10, result_inst_11, result_inst_12, result_inst_14;
	TickType result_inst_3, result_inst_13;
	AlarmBaseType result_inst_1;
	
	SCHEDULING_CHECK_INIT(1);
	result_inst_2 = GetAlarmBase(Alarm1, &result_inst_1);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(1,OSMAXALLOWEDVALUE_Counter1, (int)(result_inst_1.maxallowedvalue));
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(1,OSTICKSPERBASE_Counter1, (int)(result_inst_1.ticksperbase));
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(1,OSMINCYCLE_Counter1, (int)(result_inst_1.mincycle));
	SCHEDULING_CHECK_AND_EQUAL_INT(1,E_OK, result_inst_2);
	
	SCHEDULING_CHECK_INIT(2);
	result_inst_4 = GetAlarm(Alarm1, &result_inst_3);
	SCHEDULING_CHECK_AND_EQUAL_INT(2,E_OS_NOFUNC, result_inst_4);
	
	SCHEDULING_CHECK_INIT(3);
	result_inst_5 = CancelAlarm(Alarm1);
	SCHEDULING_CHECK_AND_EQUAL_INT(3,E_OS_NOFUNC, result_inst_5);
	
	SCHEDULING_CHECK_INIT(4);
	result_inst_6 = SetAbsAlarm(Alarm1, 2, 2);
	SCHEDULING_CHECK_AND_EQUAL_INT(4,E_OK, result_inst_6);
	
	SCHEDULING_CHECK_INIT(5);
	result_inst_7 = SetAbsAlarm(Alarm1, 3, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(5,E_OS_STATE, result_inst_7);
	
	WaitActivationPeriodicAlarm(Alarm1);
	
	WaitActivationPeriodicAlarm(Alarm1);
	
	SCHEDULING_CHECK_INIT(8);
	result_inst_10 = CancelAlarm(Alarm1);
	SCHEDULING_CHECK_AND_EQUAL_INT(8,E_OK, result_inst_10);
	
	SCHEDULING_CHECK_INIT(9);
	result_inst_11 = SetRelAlarm(Alarm1, 2, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(9,E_OK, result_inst_11);
	
	SCHEDULING_CHECK_INIT(10);
	result_inst_12 = SetRelAlarm(Alarm1, 3, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(10,E_OS_STATE, result_inst_12);
	
	SCHEDULING_CHECK_INIT(11);
	result_inst_14 = GetAlarm(Alarm1, &result_inst_13);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(11,2, result_inst_13);
	SCHEDULING_CHECK_AND_EQUAL_INT(11,E_OK, result_inst_14);
	
	WaitActivationOneShotAlarm(Alarm1);
	
	SCHEDULING_CHECK_STEP(13);
	
}
/*test case:test the reaction of the system called with 
 an activation of a task*/
static void test_t1_instance2(void)
{
	ApplicationType result_app_1;
	StatusType result_inst_1, result_inst_2, result_inst_3, result_inst_4;
	ScheduleTableStatusType ScheduleTableStatusType_inst_1;
	TickType TickType_inst_1;
	
	SCHEDULING_CHECK_INIT(10);
	result_app_1 = GetApplicationID(); 
	SCHEDULING_CHECK_AND_EQUAL_INT(10, app1, result_app_1);
	
	SCHEDULING_CHECK_INIT(11);
	result_inst_1 = GetAlarm(Alarm1, &TickType_inst_1); 
	SCHEDULING_CHECK_AND_EQUAL_INT(11, E_OS_NOFUNC, result_inst_1);
		
	SCHEDULING_CHECK_INIT(12);
	result_inst_2 = GetScheduleTableStatus(sched1, &ScheduleTableStatusType_inst_1);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(12 , SCHEDULETABLE_STOPPED , ScheduleTableStatusType_inst_1);
	SCHEDULING_CHECK_AND_EQUAL_INT(12, E_OK, result_inst_2);
	
	SCHEDULING_CHECK_INIT(13);
	result_inst_3 = ReleaseResource(Resource1); 
	SCHEDULING_CHECK_AND_EQUAL_INT(13, E_OS_NOFUNC, result_inst_3);
	
	SCHEDULING_CHECK_INIT(14);
	result_inst_4 = TerminateApplication(app1, NO_RESTART); 
	SCHEDULING_CHECK_AND_EQUAL_INT(140, E_OK, result_inst_4);
			
}
void CLogAlarmImpl::CheckedRunL()
{
#ifndef __WINS__
	CALLSTACKITEM_N(_CL("CLogAlarmImpl"), _CL("CheckedRunL"));
	if (iStatus.Int() < 0) {
		if (iErrorCount++ > MAX_ERRORS) User::Leave(iStatus.Int());
	} else {
		iErrorCount=0;
	}

	GetAlarm();
	if (iPrevValue==iValue) {
		TTime now; now.HomeTime();
		if (now>(iPrevTime+TTimeIntervalHours(1))) {
			post_unchanged_value(&iValue);
			iPrevTime.HomeTime();
		}
	} else {
		post_new_value(&iValue);
		iPrevValue()=iValue();
		iPrevTime.HomeTime();
	}
	NotifyOfChange();
#endif
}
/*test case:test the reaction of the system called with 
 an activation of a task*/
static void test_pretask_instance2(void)
{
	StatusType result_inst_1, result_inst_2, result_inst_3, result_inst_4, result_inst_5;
	TaskType task_id;
	TaskStateType task_state;
	EventMaskType event_mask;
	AlarmBaseType alarm_base;
	TickType tik;
	
	SCHEDULING_CHECK_INIT(15);
	result_inst_1 = GetTaskID(&task_id);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(15,INVALID_TASK , task_id); 
	SCHEDULING_CHECK_AND_EQUAL_INT(15,E_OK , result_inst_1); 
	
	SCHEDULING_CHECK_INIT(16);
	result_inst_2 = GetTaskState(task_id, &task_state);
	SCHEDULING_CHECK_AND_EQUAL_INT(17,E_OS_ID , result_inst_2);
	
	SCHEDULING_CHECK_INIT(18);
	result_inst_3 = GetEvent(task_id,&event_mask);
	SCHEDULING_CHECK_AND_EQUAL_INT(19,E_OS_ID , result_inst_3);
	
	SCHEDULING_CHECK_INIT(20);
	result_inst_4 = GetAlarmBase(Alarm1, &alarm_base);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(20,OSMAXALLOWEDVALUE_Counter1, (int)(alarm_base.maxallowedvalue));
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(20,OSTICKSPERBASE_Counter1, (int)(alarm_base.ticksperbase));
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(20,OSMINCYCLE_Counter1, (int)(alarm_base.mincycle));
	SCHEDULING_CHECK_AND_EQUAL_INT(20,E_OK , result_inst_4);
	
	SCHEDULING_CHECK_INIT(21);
	result_inst_5 = GetAlarm(Alarm1,&tik);
	SCHEDULING_CHECK_AND_EQUAL_INT(21,E_OK , result_inst_5);
}
示例#5
0
/*test case:test the reaction of the system called with 
an activation of a task*/
static void test_t1_instance(void)
{
	
	StatusType result_inst_1, result_inst_2, result_inst_3, result_inst_4, result_inst_5, result_inst_6, result_inst_7, result_inst_9, result_inst_10;
	TickType result_inst_8;

	SCHEDULING_CHECK_INIT(2);
	result_inst_1 = SetAbsAlarm(Alarm1, 2, 2);
	SCHEDULING_CHECK_AND_EQUAL_INT(2,E_OK, result_inst_1);
	
	SCHEDULING_CHECK_INIT(3);
	result_inst_2 = SetAbsAlarm(Alarm1, 3, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(3,E_OS_STATE, result_inst_2);
	
	WaitActivationPeriodicAlarm(Alarm1);
	
	SCHEDULING_CHECK_INIT(4);
	result_inst_3 = Schedule();
	SCHEDULING_CHECK_AND_EQUAL_INT(6,E_OK, result_inst_3);	

	WaitActivationPeriodicAlarm(Alarm1);
	
	SCHEDULING_CHECK_INIT(7);
	result_inst_4 = Schedule();
	SCHEDULING_CHECK_AND_EQUAL_INT(9,E_OK, result_inst_4);	
	
	SCHEDULING_CHECK_INIT(10);
	result_inst_5 = CancelAlarm(Alarm1);
	SCHEDULING_CHECK_AND_EQUAL_INT(10,E_OK, result_inst_5);
	
	SCHEDULING_CHECK_INIT(11);
	result_inst_6 = SetRelAlarm(Alarm1, 2, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(11,E_OK, result_inst_6);
	
	SCHEDULING_CHECK_INIT(12);
	result_inst_7 = SetRelAlarm(Alarm1, 3, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(12,E_OS_STATE, result_inst_7);
	
	SCHEDULING_CHECK_INIT(13);
	result_inst_9 = GetAlarm(Alarm1, &result_inst_8);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(13,2, result_inst_8);
	SCHEDULING_CHECK_AND_EQUAL_INT(13,E_OK, result_inst_9);
	
	WaitActivationOneShotAlarm(Alarm1);

	SCHEDULING_CHECK_INIT(14);
	result_inst_10 = Schedule();
	SCHEDULING_CHECK_AND_EQUAL_INT(15,E_OK, result_inst_10);
	
}
void CLogAlarmImpl::ConstructL()
{
	CALLSTACKITEM_N(_CL("CLogAlarmImpl"), _CL("ConstructL"));
	Mlog_base_impl::ConstructL();
	CActiveScheduler::Add(this);

#ifndef __WINS__
	User::LeaveIfError(iAlarmServer.Connect());
#endif

	iEvent.iData.SetValue(&iValue); iEvent.iData.SetOwnsValue(EFalse);

	GetAlarm();
	post_new_value(&iValue);
	NotifyOfChange();
}
示例#7
0
/*test case:test the reaction of the system called with 
 an activation of a task*/
static void test_t1_instance1(void)
{
	ApplicationType result_app_1;
	StatusType result_inst_1, result_inst_2, result_inst_3, result_inst_4, result_inst_5, result_inst_6, result_inst_7;
	ScheduleTableStatusType ScheduleTableStatusType_inst_1;
	TickType TickType_inst_1;
	
	SCHEDULING_CHECK_INIT(1);
	result_app_1 = GetApplicationID(); 
	SCHEDULING_CHECK_AND_EQUAL_INT(1, app1, result_app_1);
	
	SCHEDULING_CHECK_INIT(2);
	result_inst_1 = SetRelAlarm(Alarm1, 1, 0); 
	SCHEDULING_CHECK_AND_EQUAL_INT(2, E_OK, result_inst_1);
	
	SCHEDULING_CHECK_INIT(3);
	result_inst_2 = GetAlarm(Alarm1, &TickType_inst_1); 
	SCHEDULING_CHECK_AND_EQUAL_INT(3, E_OK, result_inst_2);
	
	SCHEDULING_CHECK_INIT(4);
	result_inst_3 = StartScheduleTableAbs(sched1, 0); 
	SCHEDULING_CHECK_AND_EQUAL_INT(4, E_OK, result_inst_3);
	
	SCHEDULING_CHECK_INIT(5);
	result_inst_4 = GetScheduleTableStatus(sched1, &ScheduleTableStatusType_inst_1);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(5 , SCHEDULETABLE_RUNNING , ScheduleTableStatusType_inst_1);
	SCHEDULING_CHECK_AND_EQUAL_INT(5, E_OK, result_inst_4);
	
	SCHEDULING_CHECK_INIT(6);
	result_inst_5 = GetResource(Resource1); 
	SCHEDULING_CHECK_AND_EQUAL_INT(6, E_OK, result_inst_5);
	
	SCHEDULING_CHECK_INIT(7);
	result_inst_6 = TerminateApplication(INVALID_RESTART);
	SCHEDULING_CHECK_AND_EQUAL_INT(8, E_OS_VALUE, result_inst_6);
	
	SCHEDULING_CHECK_INIT(9);
	result_inst_7 = TerminateApplication(RESTART); 
	SCHEDULING_CHECK_AND_EQUAL_INT(90, E_OK, result_inst_7);
	
			
}
/*test case:test the reaction of the system called with 
 an activation of a task*/
static void test_t1_instance(void)
{
	StatusType result_inst_1, result_inst_2, result_inst_3, result_inst_4, result_inst_5, result_inst_7;
	TickType result_inst_6;

	SCHEDULING_CHECK_INIT(1);
	result_inst_1 = SetAbsAlarm(Alarm1, 2, 2);
	SCHEDULING_CHECK_AND_EQUAL_INT(1,E_OK, result_inst_1);
	
	SCHEDULING_CHECK_INIT(2);
	result_inst_2 = SetAbsAlarm(Alarm1, 3, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(2,E_OS_STATE, result_inst_2);
	
	WaitActivationPeriodicAlarm(Alarm1);
	
	SCHEDULING_CHECK_STEP(4);

	WaitActivationPeriodicAlarm(Alarm1);
	
	SCHEDULING_CHECK_INIT(6);
	result_inst_3 = CancelAlarm(Alarm1);
	SCHEDULING_CHECK_AND_EQUAL_INT(6,E_OK, result_inst_3);
	
	SCHEDULING_CHECK_INIT(7);
	result_inst_4 = SetRelAlarm(Alarm1, 2, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(7,E_OK, result_inst_4);
	
	SCHEDULING_CHECK_INIT(8);
	result_inst_5 = SetRelAlarm(Alarm1, 3, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(8,E_OS_STATE, result_inst_5);
	
	SCHEDULING_CHECK_INIT(9);
	result_inst_7 = GetAlarm(Alarm1, &result_inst_6);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(9,2, result_inst_6);
	SCHEDULING_CHECK_AND_EQUAL_INT(9,E_OK, result_inst_7);
	
	WaitActivationOneShotAlarm(Alarm1);
	
	SCHEDULING_CHECK_STEP(11);
	
}
/*test case:test the reaction of the system called with 
an activation of a task*/
static void test_error_instance(void)
{
	StatusType result_inst_1, result_inst_2, result_inst_3, result_inst_4, result_inst_5, result_inst_6;
	TaskType task_id;
	TaskStateType task_state;
	EventMaskType event_mask;
	AlarmBaseType alarm_base;
	TickType tik;

	SCHEDULING_CHECK_INIT(4);
	result_inst_1 = GetActiveApplicationMode();
	SCHEDULING_CHECK_AND_EQUAL_INT(4,OSDEFAULTAPPMODE , result_inst_1); 
	
	SCHEDULING_CHECK_INIT(5);
	result_inst_2 = GetTaskID(&task_id);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(5,E_OK , result_inst_2); 
	SCHEDULING_CHECK_AND_EQUAL_INT(5,t1 , task_id); 
		
	SCHEDULING_CHECK_INIT(6);
	result_inst_3 = GetTaskState(task_id, &task_state);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(6,E_OK , result_inst_3); 
	SCHEDULING_CHECK_AND_EQUAL_INT(6,RUNNING , task_state); 
	
	SCHEDULING_CHECK_INIT(7);
	result_inst_4 = GetEvent(task_id,&event_mask);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(7,E_OK , result_inst_2); 
	SCHEDULING_CHECK_AND_EQUAL_INT(7,E_OK , result_inst_2); 
	
	SCHEDULING_CHECK_INIT(8);
	result_inst_5 = GetAlarmBase(Alarm1, &alarm_base);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(8,OSMAXALLOWEDVALUE_Counter1, (int)(alarm_base.maxallowedvalue));
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(8,OSTICKSPERBASE_Counter1, (int)(alarm_base.ticksperbase));
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(8,OSMINCYCLE_Counter1, (int)(alarm_base.mincycle));
	SCHEDULING_CHECK_AND_EQUAL_INT(8,E_OK , result_inst_5);
	
	SCHEDULING_CHECK_INIT(9);
	result_inst_6 = GetAlarm(Alarm1,&tik);
	SCHEDULING_CHECK_AND_EQUAL_INT(9,E_OK , result_inst_6); 
	
}
示例#10
0
/*test case:test the reaction of the system called with 
 an activation of a task*/
static void test_pretask_instance3(void)
{
	StatusType result_inst_1, result_inst_2, result_inst_3, result_inst_4, result_inst_5;
	TaskType task_id;
	TaskStateType task_state;
	EventMaskType event_mask;
	AlarmBaseType alarm_base;
	TickType tik;
	
	SCHEDULING_CHECK_INIT(25);
	result_inst_1 = GetTaskID(&task_id);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(25,t1 , task_id); 
	SCHEDULING_CHECK_AND_EQUAL_INT(25,E_OK , result_inst_1); 
	
	SCHEDULING_CHECK_INIT(26);
	result_inst_2 = GetTaskState(task_id, &task_state);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(26,RUNNING , task_state);
	SCHEDULING_CHECK_AND_EQUAL_INT(26,E_OK , result_inst_2);
	
	SCHEDULING_CHECK_INIT(27);
	result_inst_3 = GetEvent(task_id,&event_mask);
	SCHEDULING_CHECK_AND_EQUAL_INT(27,E_OK , result_inst_3);
	
	SCHEDULING_CHECK_INIT(28);
	result_inst_4 = GetAlarmBase(Alarm1, &alarm_base);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(28,OSMAXALLOWEDVALUE_Counter1, (int)(alarm_base.maxallowedvalue));
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(28,OSTICKSPERBASE_Counter1, (int)(alarm_base.ticksperbase));
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(28,OSMINCYCLE_Counter1, (int)(alarm_base.mincycle));
	SCHEDULING_CHECK_AND_EQUAL_INT(28,E_OK , result_inst_4);
	
	SCHEDULING_CHECK_INIT(29);
	result_inst_5 = GetAlarm(Alarm1,&tik);
	SCHEDULING_CHECK_AND_EQUAL_INT(30,E_OS_NOFUNC , result_inst_5);
	
	
}
示例#11
0
/*test case:test the reaction of the system called with 
 an activation of a task*/
static void test_t1_instance(void)
{
	
	StatusType result_inst_2, result_inst_4, result_inst_6, result_inst_7, result_inst_8, result_inst_9, result_inst_10, result_inst_11, result_inst_12, result_inst_13, result_inst_14, result_inst_15, result_inst_16, result_inst_17;
	AlarmBaseType result_inst_1, result_inst_5;
	TickType result_inst_3;
	
	SCHEDULING_CHECK_INIT(1);
	result_inst_2 = GetAlarmBase(INVALID_ALARM, &result_inst_1);
	SCHEDULING_CHECK_AND_EQUAL_INT(1,E_OS_ID, result_inst_2);
	
	SCHEDULING_CHECK_INIT(2);
	result_inst_4 = GetAlarm(INVALID_ALARM, &result_inst_3);
	SCHEDULING_CHECK_AND_EQUAL_INT(2,E_OS_ID, result_inst_4);
	
	SCHEDULING_CHECK_INIT(3);
	result_inst_6 = GetAlarmBase(Alarm1, &result_inst_5);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(3,OSMAXALLOWEDVALUE, (int)(result_inst_5.maxallowedvalue));
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(3,OSTICKSPERBASE, (int)(result_inst_5.ticksperbase));
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(3,OSMINCYCLE, (int)(result_inst_5.mincycle));	
	SCHEDULING_CHECK_AND_EQUAL_INT(3,E_OK, result_inst_6);
	
	SCHEDULING_CHECK_INIT(4);
	result_inst_7 = SetRelAlarm(INVALID_ALARM, 0, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(4,E_OS_ID, result_inst_7);
	
	SCHEDULING_CHECK_INIT(5);
	result_inst_8 = SetRelAlarm(Alarm1, -1, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(5,E_OS_VALUE, result_inst_8);
	
	SCHEDULING_CHECK_INIT(6);
	result_inst_9 = SetRelAlarm(Alarm1, result_inst_5.maxallowedvalue + 1, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(6,E_OS_VALUE, result_inst_9);
	
	SCHEDULING_CHECK_INIT(7);
	result_inst_10 = SetRelAlarm(Alarm1, 0, result_inst_5.mincycle - 1);
	SCHEDULING_CHECK_AND_EQUAL_INT(7,E_OS_VALUE, result_inst_10);
	
	SCHEDULING_CHECK_INIT(8);
	result_inst_11 = SetRelAlarm(Alarm1, 0,  result_inst_5.maxallowedvalue + 1);
	SCHEDULING_CHECK_AND_EQUAL_INT(8,E_OS_VALUE, result_inst_11);
	
	SCHEDULING_CHECK_INIT(9);
	result_inst_12 = SetAbsAlarm(INVALID_ALARM, 0, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(9,E_OS_ID, result_inst_12);
	
	SCHEDULING_CHECK_INIT(10);
	result_inst_13 = SetAbsAlarm(Alarm1, -1, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(10,E_OS_VALUE, result_inst_13);
	
	SCHEDULING_CHECK_INIT(11);
	result_inst_14 = SetAbsAlarm(Alarm1, result_inst_5.maxallowedvalue + 1, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(11,E_OS_VALUE, result_inst_14);
	
	SCHEDULING_CHECK_INIT(12);
	result_inst_15 = SetAbsAlarm(Alarm1, 0, result_inst_5.mincycle - 1);
	SCHEDULING_CHECK_AND_EQUAL_INT(12,E_OS_VALUE, result_inst_15);
	
	SCHEDULING_CHECK_INIT(13);
	result_inst_16 = SetAbsAlarm(Alarm1, 0,  result_inst_5.maxallowedvalue + 1);
	SCHEDULING_CHECK_AND_EQUAL_INT(13,E_OS_VALUE, result_inst_16);
	
	SCHEDULING_CHECK_INIT(14);
	result_inst_17 = CancelAlarm(INVALID_ALARM);
	SCHEDULING_CHECK_AND_EQUAL_INT(14,E_OS_ID, result_inst_17);
	
}
示例#12
0
/*test case:test the reaction of the system called with 
an activation of a task*/
static void test_t1_instance(void)
{
	AlarmBaseType AlarmBaseType_inst_1;
	EventMaskType EventMaskType_inst_1;
	StatusType result_inst_2, result_inst_3, result_inst_4, result_inst_5, result_inst_6, result_inst_7, result_inst_8, result_inst_9, result_inst_10, result_inst_11, result_inst_12, result_inst_13, result_inst_14, result_inst_15, result_inst_16, result_inst_17, result_inst_18, result_inst_19;
	TaskStateType TaskStateType_inst_1;
	TaskType TaskType_inst_1;
	TickType TickType_inst_1;
		
	SCHEDULING_CHECK_STEP(1);
	
	SCHEDULING_CHECK_STEP(2);
	SuspendAllInterrupts();
	
	SCHEDULING_CHECK_INIT(3);
	result_inst_2 = ActivateTask(t2);
	SCHEDULING_CHECK_AND_EQUAL_INT(4,E_OS_DISABLEDINT, result_inst_2);
	
	SCHEDULING_CHECK_INIT(5);
	result_inst_3 = TerminateTask();
	SCHEDULING_CHECK_AND_EQUAL_INT(6,E_OS_DISABLEDINT, result_inst_3);
	
	SCHEDULING_CHECK_INIT(7);
	result_inst_4 = ChainTask(t2);
	SCHEDULING_CHECK_AND_EQUAL_INT(8,E_OS_DISABLEDINT, result_inst_4);
	
	SCHEDULING_CHECK_INIT(9);
	result_inst_5 = Schedule();
	SCHEDULING_CHECK_AND_EQUAL_INT(10,E_OS_DISABLEDINT, result_inst_5);
	
	SCHEDULING_CHECK_INIT(11);
	result_inst_6 = GetTaskID(&TaskType_inst_1);
	SCHEDULING_CHECK_AND_EQUAL_INT(12,E_OS_DISABLEDINT, result_inst_6);
	
	SCHEDULING_CHECK_INIT(13);
	result_inst_7 = GetTaskState(t2, &TaskStateType_inst_1);
	SCHEDULING_CHECK_AND_EQUAL_INT(14,E_OS_DISABLEDINT, result_inst_7);
	
	SCHEDULING_CHECK_INIT(15);
	result_inst_8 = GetResource(Resource1);
	SCHEDULING_CHECK_AND_EQUAL_INT(16,E_OS_DISABLEDINT, result_inst_8);
	
	SCHEDULING_CHECK_INIT(17);
	result_inst_9 = ReleaseResource(Resource1);
	SCHEDULING_CHECK_AND_EQUAL_INT(18,E_OS_DISABLEDINT, result_inst_9);
	
	SCHEDULING_CHECK_INIT(19);
	result_inst_10 = SetEvent(t2, Event1);
	SCHEDULING_CHECK_AND_EQUAL_INT(20,E_OS_DISABLEDINT, result_inst_10);
	
	SCHEDULING_CHECK_INIT(21);
	result_inst_11 = ClearEvent(Event1);
	SCHEDULING_CHECK_AND_EQUAL_INT(22,E_OS_DISABLEDINT, result_inst_11);
	
	SCHEDULING_CHECK_INIT(23);
	result_inst_12 = GetEvent(t2, &EventMaskType_inst_1);
	SCHEDULING_CHECK_AND_EQUAL_INT(24,E_OS_DISABLEDINT, result_inst_12);
	
	SCHEDULING_CHECK_INIT(25);
	result_inst_13 = WaitEvent(Event1);
	SCHEDULING_CHECK_AND_EQUAL_INT(26,E_OS_DISABLEDINT, result_inst_13);
	
	SCHEDULING_CHECK_INIT(27);
	result_inst_14 = GetAlarmBase(Alarm1, &AlarmBaseType_inst_1);
	SCHEDULING_CHECK_AND_EQUAL_INT(28,E_OS_DISABLEDINT, result_inst_14);
	
	SCHEDULING_CHECK_INIT(29);
	result_inst_15 = GetAlarm(Alarm1, &TickType_inst_1);
	SCHEDULING_CHECK_AND_EQUAL_INT(30,E_OS_DISABLEDINT, result_inst_15);
	
	SCHEDULING_CHECK_INIT(31);
	result_inst_16 = SetRelAlarm(Alarm1, 1, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(32,E_OS_DISABLEDINT, result_inst_16);
	
	SCHEDULING_CHECK_INIT(33);
	result_inst_17 = SetAbsAlarm(Alarm1, 1, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(34,E_OS_DISABLEDINT, result_inst_17);
	
	SCHEDULING_CHECK_INIT(35);
	result_inst_18 = CancelAlarm(Alarm1);
	SCHEDULING_CHECK_AND_EQUAL_INT(36,E_OS_DISABLEDINT, result_inst_18);
	
	SCHEDULING_CHECK_INIT(37);
	result_inst_19 = GetActiveApplicationMode();
	SCHEDULING_CHECK_AND_EQUAL_INT(38,OSDEFAULTAPPMODE, result_inst_19);
	
	SCHEDULING_CHECK_STEP(39);
	ResumeAllInterrupts();
}
示例#13
0
/*test case:test the reaction of the system called with 
 an activation of a task*/
static void test_isr1_instance(void)
{
	StatusType result_inst_1, result_inst_1_5, result_inst_2, result_inst_3, result_inst_4, result_inst_5, result_inst_6, result_inst_7, result_inst_8, result_inst_9, result_inst_10, result_inst_11, result_inst_12, result_inst_13, result_inst_14, result_inst_15;
	StatusType result_inst_16, result_inst_17, result_inst_18, result_inst_19, result_inst_20, result_inst_21, result_inst_22, result_inst_23, result_inst_24, result_inst_25, result_inst_26, result_inst_27, result_inst_28, result_inst_29, result_inst_30, result_inst_31, result_inst_32, result_inst_33, result_inst_34, result_inst_35;
	AlarmBaseType alarmbase;
	TickType tik;
	
	SCHEDULING_CHECK_INIT(2);
	result_inst_1 = ActivateTask(t4);
	SCHEDULING_CHECK_AND_EQUAL_INT(2,E_OK, result_inst_1);
	
	SCHEDULING_CHECK_INIT(3);
	result_inst_1_5 = ActivateTask(t3);
	SCHEDULING_CHECK_AND_EQUAL_INT(3,E_OK, result_inst_1_5);
	
	SCHEDULING_CHECK_INIT(4);
	result_inst_2 = GetAlarmBase(INVALID_ALARM, &alarmbase);
	SCHEDULING_CHECK_AND_EQUAL_INT(4,E_OS_ID, result_inst_2);
	
	SCHEDULING_CHECK_INIT(5);
	result_inst_3 = GetAlarmBase(Alarm0, &alarmbase);
	SCHEDULING_CHECK_AND_EQUAL_INT(5,E_OK, result_inst_3);
	
	SCHEDULING_CHECK_INIT(6);
	result_inst_4 = GetAlarm(INVALID_ALARM, &tik);
	SCHEDULING_CHECK_AND_EQUAL_INT(6,E_OS_ID, result_inst_4);
	
	SCHEDULING_CHECK_INIT(7);
	result_inst_5 = GetAlarm(Alarm0, &tik);
	SCHEDULING_CHECK_AND_EQUAL_INT(7,E_OS_NOFUNC, result_inst_5);
	
	
	SCHEDULING_CHECK_INIT(8);
	result_inst_6 = SetRelAlarm(INVALID_ALARM, 0, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(8,E_OS_ID, result_inst_6);
	
	SCHEDULING_CHECK_INIT(9);
	result_inst_7 = SetRelAlarm(Alarm0, -1 , 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(9,E_OS_VALUE, result_inst_7);
	
	SCHEDULING_CHECK_INIT(10);
	result_inst_8 = SetRelAlarm(Alarm0, alarmbase.maxallowedvalue + 1 , 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(10,E_OS_VALUE, result_inst_8);	
	
	SCHEDULING_CHECK_INIT(11);
	result_inst_9 = SetRelAlarm(Alarm0, 0 , alarmbase.mincycle - 1);
	SCHEDULING_CHECK_AND_EQUAL_INT(11,E_OS_VALUE, result_inst_9);
	
	SCHEDULING_CHECK_INIT(12);
	result_inst_10 = SetRelAlarm(Alarm0, 0 , alarmbase.maxallowedvalue + 1);
	SCHEDULING_CHECK_AND_EQUAL_INT(12,E_OS_VALUE, result_inst_10);	
	
	
	SCHEDULING_CHECK_INIT(13);
	result_inst_11 = SetAbsAlarm(INVALID_ALARM, 0, 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(13,E_OS_ID, result_inst_11);
	
	SCHEDULING_CHECK_INIT(14);
	result_inst_12 = SetAbsAlarm(Alarm0, -1 , 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(14,E_OS_VALUE, result_inst_12);
	
	SCHEDULING_CHECK_INIT(15);
	result_inst_13 = SetAbsAlarm(Alarm0, alarmbase.maxallowedvalue + 1 , 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(15,E_OS_VALUE, result_inst_13);	
	
	SCHEDULING_CHECK_INIT(16);
	result_inst_14 = SetAbsAlarm(Alarm0, 0 , alarmbase.mincycle - 1);
	SCHEDULING_CHECK_AND_EQUAL_INT(16,E_OS_VALUE, result_inst_14);
	
	SCHEDULING_CHECK_INIT(17);
	result_inst_15 = SetAbsAlarm(Alarm0, 0 , alarmbase.maxallowedvalue + 1);
	SCHEDULING_CHECK_AND_EQUAL_INT(17,E_OS_VALUE, result_inst_15);	
	
	
	SCHEDULING_CHECK_INIT(18);
	result_inst_16 = CancelAlarm(INVALID_ALARM);
	SCHEDULING_CHECK_AND_EQUAL_INT(18,E_OS_ID, result_inst_16);	
	
	SCHEDULING_CHECK_INIT(19);
	result_inst_17 = CancelAlarm(Alarm0);
	SCHEDULING_CHECK_AND_EQUAL_INT(19,E_OS_NOFUNC, result_inst_17);	
	
	
	SCHEDULING_CHECK_INIT(20);
	result_inst_18 = SetRelAlarm(Alarm1_1, 2 , 2);
	SCHEDULING_CHECK_AND_EQUAL_INT(20,E_OK, result_inst_18);	
	
	SCHEDULING_CHECK_INIT(21);
	result_inst_19 = SetRelAlarm(Alarm1_1, 2 , 2);
	SCHEDULING_CHECK_AND_EQUAL_INT(21,E_OS_STATE, result_inst_19);	
	
	SCHEDULING_CHECK_INIT(22);
	result_inst_20 = GetAlarm(Alarm1_1, &tik);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(22,E_OK, result_inst_20);
	SCHEDULING_CHECK_AND_EQUAL_INT(22,2, tik);
	
	WaitActivationPeriodicAlarm(Alarm1_1);
	
	SCHEDULING_CHECK_INIT(23);
	result_inst_21 = CancelAlarm(Alarm1_1);
	SCHEDULING_CHECK_AND_EQUAL_INT(23,E_OK, result_inst_21);	
	
	
	SCHEDULING_CHECK_INIT(24);
	result_inst_22 = SetAbsAlarm(Alarm1_2, 2 , 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(24,E_OK, result_inst_22);	
	
	SCHEDULING_CHECK_INIT(25);
	result_inst_23 = SetAbsAlarm(Alarm1_2, 2 , 2);
	SCHEDULING_CHECK_AND_EQUAL_INT(25,E_OS_STATE, result_inst_23);	
	
	WaitActivationOneShotAlarm(Alarm1_2);
	
	
	SCHEDULING_CHECK_INIT(26);
	result_inst_24 = SetRelAlarm(Alarm2_1, 2 , 2);
	SCHEDULING_CHECK_AND_EQUAL_INT(26,E_OK, result_inst_24);	
	
	SCHEDULING_CHECK_INIT(27);
	result_inst_25 = SetRelAlarm(Alarm2_1, 2 , 2);
	SCHEDULING_CHECK_AND_EQUAL_INT(27,E_OS_STATE, result_inst_25);	
	
	SCHEDULING_CHECK_INIT(28);
	result_inst_26 = GetAlarm(Alarm2_1, &tik);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(28,E_OK, result_inst_26);
	SCHEDULING_CHECK_AND_EQUAL_INT(28,2, tik);
	
	WaitActivationPeriodicAlarm(Alarm2_1);
	
	SCHEDULING_CHECK_INIT(29);
	result_inst_27 = CancelAlarm(Alarm2_1);
	SCHEDULING_CHECK_AND_EQUAL_INT(29,E_OK, result_inst_27);	
	
	
	SCHEDULING_CHECK_INIT(30);
	result_inst_28 = SetAbsAlarm(Alarm2_2, 2 , 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(30,E_OK, result_inst_28);	
	
	SCHEDULING_CHECK_INIT(31);
	result_inst_29 = SetAbsAlarm(Alarm2_2, 2 , 2);
	SCHEDULING_CHECK_AND_EQUAL_INT(31,E_OS_STATE, result_inst_29);	
	
	WaitActivationOneShotAlarm(Alarm2_2);
	
	
	SCHEDULING_CHECK_INIT(32);
	result_inst_30 = SetRelAlarm(Alarm3, 2 , 2);
	SCHEDULING_CHECK_AND_EQUAL_INT(32,E_OK, result_inst_30);	
	
	SCHEDULING_CHECK_INIT(33);
	result_inst_31 = SetRelAlarm(Alarm3, 2 , 2);
	SCHEDULING_CHECK_AND_EQUAL_INT(33,E_OS_STATE, result_inst_31);	
	
	SCHEDULING_CHECK_INIT(34);
	result_inst_32 = GetAlarm(Alarm3, &tik);
	SCHEDULING_CHECK_AND_EQUAL_INT_FIRST(34,E_OK, result_inst_32);
	SCHEDULING_CHECK_AND_EQUAL_INT(34,2, tik);
	
	WaitActivationPeriodicAlarm(Alarm3);
	
	SCHEDULING_CHECK_INIT(36);
	result_inst_33 = CancelAlarm(Alarm3);
	SCHEDULING_CHECK_AND_EQUAL_INT(36,E_OK, result_inst_33);	
	
	
	SCHEDULING_CHECK_INIT(37);
	result_inst_34 = SetAbsAlarm(Alarm3, 2 , 0);
	SCHEDULING_CHECK_AND_EQUAL_INT(37,E_OK, result_inst_34);	
	
	SCHEDULING_CHECK_INIT(38);
	result_inst_35 = SetAbsAlarm(Alarm3, 2 , 2);
	SCHEDULING_CHECK_AND_EQUAL_INT(38,E_OS_STATE, result_inst_35);	
	
	WaitActivationOneShotAlarm(Alarm3);
	
	SCHEDULING_CHECK_STEP(40);
	
}