int main(int argc, char *argv[]){ check4running(PIDFILE, NULL); initial_setup(); Global_parameters = parse_args(argc, argv); assert(Global_parameters); if(!get_shm_block(&sdat, ClientSide) || !check_shm_block(&sdat)){ ERRX("Can't get SHM block!"); } #ifndef EBUG PRINT(_("Test multicast connection\n")); double last = M_time; WAIT_EVENT((fabs(M_time - last) > 0.02), 5.); if(tmout && fabs(M_time - last) < 4.) ERRX(_("Multicasts stale!")); #endif signal(SIGTERM, signals); // kill (-15) signal(SIGHUP, SIG_IGN); // hup - daemon signal(SIGINT, signals); // ctrl+C signal(SIGQUIT, signals); // ctrl+\ . signal(SIGTSTP, SIG_IGN); // ctrl+Z setbuf(stdout, NULL); setup_pins(); if(Global_parameters->absmove && gotozero()) ERRX(_("Can't locate zero-endswitch")); if(Global_parameters->gotoangle > -360. && Global_parameters->gotoangle < 360.){ if(Global_parameters->absmove) Global_parameters->gotoangle += PA_ZEROVAL; if(gotoangle(Global_parameters->gotoangle)) ERRX(_("Can't move for given angle")); } stepper_process(); return 0; }
void test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl( BUFFER_ID_TYPE * p_in, EVENT_ID_TYPE * the_receiver_PortIdAccess_barrier) { RETURN_CODE_TYPE test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_the_proc_the_receiver_runtime_call_ret; common_pkg__Integer test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_p_in_localVariable; MESSAGE_SIZE_TYPE test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_p_in_Length = sizeof(common_pkg__Integer); RETURN_CODE_TYPE test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_p_in_ErrorCode = 0; SYSTEM_TIME_TYPE test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_p_in_TimeOut = 0; SYSTEM_TIME_TYPE test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_the_proc_the_receiver_timed_wait; SYSTEM_TIME_TYPE test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_the_receiver_TimeOut = INFINITE_TIME_VALUE; test_sporadic_refined_model__the_proc_the_receiver_behaviorIdentifier_enum whichPortActivated = test_sporadic_refined_model__the_proc_the_receiver_behaviorIdentifier_enum_default_behavior; while(1) { switch(the_proc_the_receiver_entrypoint_impl_current_state) { case test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_BA_entrypoint_init_state: // Transition id: which_behavior_default_mode if(1) // no execution condition { the_proc_the_receiver_entrypoint_impl_current_state = test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_BA_entrypoint_exec_state; whichPortActivated = test_sporadic_refined_model__the_proc_the_receiver_behaviorIdentifier_enum_default_behavior; break; } case test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_BA_entrypoint_wait_dispatch_state: // Transition id: dispatch_transition if(1) // no execution condition { the_proc_the_receiver_entrypoint_impl_current_state = test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_BA_entrypoint_exec_state; TIMED_WAIT (test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_the_proc_the_receiver_timed_wait, &test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_the_proc_the_receiver_runtime_call_ret); WAIT_EVENT ((*the_receiver_PortIdAccess_barrier), test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_the_receiver_TimeOut, &test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_the_proc_the_receiver_runtime_call_ret); RESET_EVENT ((*the_receiver_PortIdAccess_barrier), &test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_the_proc_the_receiver_runtime_call_ret); break; } case test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_BA_entrypoint_exec_state: // Transition id: call -- Priority 0 if(whichPortActivated == test_sporadic_refined_model__the_proc_the_receiver_behaviorIdentifier_enum_default_behavior) { the_proc_the_receiver_entrypoint_impl_current_state = test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_BA_entrypoint_wait_dispatch_state; RECEIVE_BUFFER ((*p_in), test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_p_in_TimeOut, &test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_p_in_localVariable, &test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_p_in_Length, &test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_p_in_ErrorCode); if (test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_p_in_ErrorCode == 0) { receive (test_sporadic_refined_model__the_proc_the_receiver_entrypoint_impl_p_in_localVariable); } break; } } } }
void* thr1_1bis_job() { int flag = 0; RETURN_CODE_TYPE ret; SYSTEM_TIME_TYPE time = APERIODIC_PROCESS; printf(" Partition n. 1 - Thread n.2\n"); printf ("\t2: Sporadic (wait evt)\n"); while (1) { if (flag){ printf ("\t2: Th self-suspending.........zzzz\n"); } else { flag=1; } SUSPEND_SELF (time, &ret); printf ("\t2: Resume - Going to WAIT_EVENT \n"); WAIT_EVENT (pok_arinc653_events_ids[0], 0, &(ret)); printf ("\t2: Event %i is UP\n", pok_arinc653_events_ids[0]); } }
void CTestMachine::StepNamedRemoteViewsL() { const TContactViewPreferences viewPrefs = TContactViewPreferences(EUnSortedAtEnd | EContactsOnly); _LIT(KNamedRemoteView, "NamedRemoteView"); RContactViewSortOrder theNameSurnSortOrder; theNameSurnSortOrder.AppendL(KUidContactFieldGivenName); theNameSurnSortOrder.AppendL(KUidContactFieldFamilyName); theNameSurnSortOrder.AppendL(KUidContactFieldPrefixName); //Contains order numbers for given name BEGIN_ASYNC_TEST //Actions: Create named remote view a reverse sorting plugin. Check sorting order. iNamedRemoteView = CContactNamedRemoteView::NewL(*this, KNamedRemoteView, *iDb,iSurnNameSortOrder,viewPrefs, KReverseSortPlugin); WAIT_EVENT(1) //Expected Result: Named remote view must be created - sorting order must be reverse. test.Printf(_L("Named Remote View:\n")); CheckViewOrderL(iNamedRemoteView, ETrue); test.Printf(_L("\n\n")); //Actions: Create another instance of the named remote view with the same name, // but without a sorting plugin this time. Check sorting order. TESTTRAP(iNamedRemoteView2 = CContactNamedRemoteView::NewL(*this, KNamedRemoteView, *iDb, iSurnNameSortOrder,viewPrefs)); WAIT_EVENT(2) //Expected Result: When we create another named remote view with the name of existing view // - another copy of the view will not be created, instead will receive the handle //to existing view. That is why sort order should be as first time - reverse. test.Printf(_L("Another Copy of Named Remote View:\n")); CheckViewOrderL(iNamedRemoteView2, ETrue); test.Printf(_L("\n\n")); //Actions: Change the sort order of the named remote view to sort on // Name and then Surname of the contacts. Check sorting for both handles of the view. iNamedRemoteView2->ChangeSortOrderL(theNameSurnSortOrder); WAIT_EVENTS(3,4) //2 EUnavailable and 2 EOrderChanged //Expected Result: Both instances of the view must be sorted in reverse order on //Names and Surnames of the contacts. test.Printf(_L("First Copy of Named Remote View:\n")); CheckViewOrderL(iNamedRemoteView, ETrue); test.Printf(_L("\n\n")); test.Printf(_L("Another Copy of Named Remote View:\n")); CheckViewOrderL(iNamedRemoteView2, ETrue); test.Printf(_L("\n\n")); ///////////////////////////////////////// //Actions: Create a Find view on top of the first instance of named remote view, //using "Ma" search string iFindDesArray =new(ELeave)CPtrC16Array(1); _LIT(KMa,"Ma"); iFindDesArray->AppendL(TPtrC(KMa)); iNamedRemoteFindView= CContactFindView::NewL(*iDb,*iNamedRemoteView,*this,iFindDesArray); WAIT_EVENT(4) //Expected Result: Check the order of entries in the find view - it must be reverse, // sorting on Names and Surnames test.Printf(_L("NamedRemoteFind View created:\n")); CheckViewOrderL(iNamedRemoteFindView, ETrue); test.Printf(_L("\n\n")); ///////////////////////////////////////// //Actions: Create a Find view on top of the second instance of named remote view, // using "el" search string iFindDesArray->Reset(); _LIT(Kel,"el"); iFindDesArray->AppendL(TPtrC(Kel)); iNamedRemoteFindView2 = CContactFindView::NewL(*iDb,*iNamedRemoteView2,*this,iFindDesArray); WAIT_EVENT(5) //Expected Result: Check the order of entries in the find view - it must be reverse, //sorting on Names and Surnames test.Printf(_L("NamedRemoteFind View 2 created:\n")); CheckViewOrderL(iNamedRemoteFindView2, ETrue); test.Printf(_L("\n\n")); CloseView(iNamedRemoteFindView); CloseView(iNamedRemoteFindView2); CloseView(iNamedRemoteView); CloseView(iNamedRemoteView2); iFindDesArray->Reset(); delete iFindDesArray; iFindDesArray = NULL; END_ASYNC_TEST theNameSurnSortOrder.Close(); }
void CTestMachine::StepFindViewsL() { const TContactViewPreferences viewPrefs = TContactViewPreferences(EUnSortedAtEnd | EContactsOnly); _LIT(KMansell, "Mansell"); BEGIN_ASYNC_TEST ///////////////////////////////////////// //Actions: Create a local view with reverse sort plugin TESTTRAP(iLocalView = CContactLocalView::NewL(*this, *iDb, iSurnNameSortOrder, viewPrefs, KReverseSortPlugin)); WAIT_EVENT(1) //Expected Result: Check the order of entries in the view - it must be reverse. test.Printf(_L("Local View created:\n")); CheckViewOrderL(iLocalView); test.Printf(_L("\n\n")); ///////////////////////////////////////// //Actions: Create a remote view with reverse sort plugin TESTTRAP(iRemoteViewReverse = CContactRemoteView::NewL(*this, *iDb, iSurnNameSortOrder, viewPrefs, KReverseSortPlugin)); WAIT_EVENT(2) //Expected Result: Check the order of entries in the view - it must be reverse. test.Printf(_L("Remote View created:\n")); CheckViewOrderL(iRemoteViewReverse); test.Printf(_L("\n\n")); ///////////////////////////////////////// //Actions: Create a remote view with default sorting behaviour TESTTRAP(iRemoteViewForward = CContactRemoteView::NewL(*this, *iDb, iSurnNameSortOrder, viewPrefs)); WAIT_EVENT(3) //Expected Result: Check the order of entries in the view - it must be forward test.Printf(_L("Remote View created:\n")); CheckViewOrderL(iRemoteViewForward, EFalse, EFalse); //do not Print, forward order test.Printf(_L("\n\n")); ///////////////////////////////////////// //Actions: Create a Find view on top of the local view, using "Ma" search string iFindDesArray =new(ELeave)CPtrC16Array(1); _LIT(KMa,"Ma"); iFindDesArray->AppendL(TPtrC(KMa)); iLocalFindView= CContactFindView::NewL(*iDb,*iLocalView,*this,iFindDesArray); WAIT_EVENT(4) //Expected Result: Check the order of entries in the find view - it must be reverse test.Printf(_L("LocalFind View created:\n")); CheckViewOrderL(iLocalFindView); test.Printf(_L("\n\n")); ///////////////////////////////////////// //Actions: Create a Find view on top of the reverse remote view, using "el" search string iFindDesArray->Reset(); _LIT(Kel,"el"); iFindDesArray->AppendL(TPtrC(Kel)); iRemoteFindView = CContactFindView::NewL(*iDb,*iRemoteViewReverse,*this,iFindDesArray); WAIT_EVENT(5) //Expected Result: Check the order of entries in the find view - it must be reverse test.Printf(_L("RemoteFind View created:\n")); CheckViewOrderL(iRemoteFindView); test.Printf(_L("\n\n")); ///////////////// //Actions: Add a new contact to the database, it must have "ma" and "el" substrings in it // to appear in either find view. Check the sorting in every view. _LIT8(KIrvVCard, "BEGIN:VCARD\r\nVERSION:2.1\r\nN:Mansell;Nigel;11\r\nPensioner\r\nEND:VCARD"); RDesReadStream stream(KIrvVCard); stream.PushL(); TBool success(EFalse); CArrayPtr<CContactItem>* contactItems=iDb->ImportContactsL(TUid::Uid(KUidVCardConvDefaultImpl), stream, success, NULL); CleanupStack::PopAndDestroy(); // stream PUSH(contactItems); TESTTRUE(success); test.Printf(_L("%d entry was added created\n"), contactItems->Count()); contactItems->ResetAndDestroy(); //Potential memory leak - must be pushed onto the stack with ResetAndDestroy POPD(contactItems); WAIT_EVENTS(6,5) //Waiting for 5 events to arrive (one from each view) //Note, that if all 5 events won't arrive the code will stuck here //It can be solved with another "timeout" active object, but not yet implemented //Expected Result: Every view must send an event (5 events in total). //Sort order for all the views except for RemoteForward view must be reverse. //New entry must be inserted in every view. test.Printf(_L("Local View:\n")); CheckViewOrderL(iLocalView); test.Printf(_L("\n\n")); test.Printf(_L("Remote View Reverse:\n")); CheckViewOrderL(iRemoteViewReverse); test.Printf(_L("\n\n")); test.Printf(_L("Remote View Forward:\n")); CheckViewOrderL(iRemoteViewForward, EFalse, EFalse); //do not Print, forward order test.Printf(_L("\n\n")); test.Printf(_L("Local Find View:\n")); CheckViewOrderL(iLocalFindView); test.Printf(_L("\n\n")); test.Printf(_L("Remote Find View:\n")); CheckViewOrderL(iRemoteFindView); test.Printf(_L("\n\n")); //Searching for Mansell in the DB. TContactItemId manselId = SearchInViewL(iLocalFindView, KMansell); TESTTRUEL(manselId != 0); //Have we found it? //Actions: Change a newly added contact from "Nigel Mansell" to "Ayrton Senna". CContactItem* mansContact = iDb->OpenContactLX(manselId); PUSH(mansContact); CContactItemFieldSet& fieldSet = mansContact->CardFields(); CContactItemField& givenNameField = fieldSet[fieldSet.Find(KUidContactFieldGivenName)]; givenNameField.TextStorage()->SetTextL(_L("Ayrton")); CContactItemField& familyNameField = fieldSet[fieldSet.Find(KUidContactFieldFamilyName)]; familyNameField.TextStorage()->SetTextL(_L("Senna")); CContactItemField& ordinalNumField = fieldSet[fieldSet.Find(KUidContactFieldAdditionalName)]; ordinalNumField.TextStorage()->SetTextL(_L("20")); //Number is used for sorting checking iDb->CommitContactL(*mansContact); POPD(mansContact); CleanupStack::PopAndDestroy(); //record lock WAIT_EVENTS(7,10) //Waiting for 10 events to arrive (delele and insert event from each view) //Actions: Check the sorting in every view. //Expected Result: 10 events should arrive - 5 deletes and 5 inserts. //Sort order for all the views except for RemoteForward view must be reverse. //The entry must be updated in local and remote views and should disappear //from Find views because it doesn't contain substrings "Ma" or "el" anymore. test.Printf(_L("Local View:\n")); CheckViewOrderL(iLocalView, ETrue); test.Printf(_L("\n\n")); test.Printf(_L("Remote View Reverse:\n")); CheckViewOrderL(iRemoteViewReverse, ETrue); test.Printf(_L("\n\n")); test.Printf(_L("Remote View Forward:\n")); CheckViewOrderL(iRemoteViewForward, EFalse, EFalse); //do not Print, forward order test.Printf(_L("\n\n")); test.Printf(_L("Local Find View:\n")); CheckViewOrderL(iLocalFindView, ETrue); test.Printf(_L("\n\n")); test.Printf(_L("Remote Find View:\n")); CheckViewOrderL(iRemoteFindView, ETrue); test.Printf(_L("\n\n")); //We changed Mansell to Senna - the entry shouldn't appear in either find views TContactItemId manselId = SearchInViewL(iLocalFindView, KMansell); TESTTRUE(manselId == 0); manselId = SearchInViewL(iRemoteFindView, KMansell); TESTTRUE(manselId == 0); CloseView(iLocalFindView); CloseView(iLocalView); CloseView(iRemoteFindView); CloseView(iRemoteViewReverse); CloseView(iRemoteViewForward); iFindDesArray->Reset(); delete iFindDesArray; iFindDesArray = NULL; END_ASYNC_TEST }