<ahref="testevt_8c.html">Go to the documentation of this file.</a><divclass="fragment"><preclass="fragment"><aname="l00001"></a>00001 <spanclass="comment">/*</span>
<aname="l00027"></a>00027 <spanclass="preprocessor">#include "<aclass="code"href="ch_8h.html"title="ChibiOS/RT main include file.">ch.h</a>"</span>
<aname="l00028"></a>00028 <spanclass="preprocessor">#include "<aclass="code"href="test_8h.html"title="Tests support header.">test.h</a>"</span>
<aname="l00092"></a>00092 <aclass="code"href="group__events.html#ga76f41b9668c3f1adafc516a8f92b9cad"title="Clears the pending events specified in the mask.">chEvtClear</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>);
<aname="l00093"></a>00093 }
<aname="l00094"></a>00094
<aname="l00095"></a>00095 <spanclass="keyword">static</span><spanclass="keywordtype">void</span> h1(<aclass="code"href="group__types.html#gada5ed33935b8347e213aeb76582642e7"title="Event Id, use fastest signed.">eventid_t</a><spanclass="keywordtype">id</span>) {(void)<spanclass="keywordtype">id</span>;<aclass="code"href="group__test.html#gab3d9527d7616b3f9f8cba60cda0211a8"title="Emits a token into the tokens buffer.">test_emit_token</a>(<spanclass="charliteral">'A'</span>);}
<aname="l00096"></a>00096 <spanclass="keyword">static</span><spanclass="keywordtype">void</span> h2(<aclass="code"href="group__types.html#gada5ed33935b8347e213aeb76582642e7"title="Event Id, use fastest signed.">eventid_t</a><spanclass="keywordtype">id</span>) {(void)<spanclass="keywordtype">id</span>;<aclass="code"href="group__test.html#gab3d9527d7616b3f9f8cba60cda0211a8"title="Emits a token into the tokens buffer.">test_emit_token</a>(<spanclass="charliteral">'B'</span>);}
<aname="l00097"></a>00097 <spanclass="keyword">static</span><spanclass="keywordtype">void</span> h3(<aclass="code"href="group__types.html#gada5ed33935b8347e213aeb76582642e7"title="Event Id, use fastest signed.">eventid_t</a><spanclass="keywordtype">id</span>) {(void)<spanclass="keywordtype">id</span>;<aclass="code"href="group__test.html#gab3d9527d7616b3f9f8cba60cda0211a8"title="Emits a token into the tokens buffer.">test_emit_token</a>(<spanclass="charliteral">'C'</span>);}
<aname="l00106"></a>00106 <aclass="code"href="group__events.html#gab8d0fdc09be629dfb438c32a0523db42"title="Initializes an Event Source.">chEvtInit</a>(&es1);
<aname="l00107"></a>00107 <aclass="code"href="group__events.html#ga4002600fe552128aaf96a6a1d3ada3ee"title="Registers an Event Listener on an Event Source.">chEvtRegisterMask</a>(&es1, &el1, 1);
<aname="l00108"></a>00108 <aclass="code"href="group__events.html#ga4002600fe552128aaf96a6a1d3ada3ee"title="Registers an Event Listener on an Event Source.">chEvtRegisterMask</a>(&es1, &el2, 2);
<aname="l00109"></a>00109 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(1, <aclass="code"href="group__events.html#ga440eefff93d7c8f741b7572bcc24355f"title="Verifies if there is at least one EventListener registered.">chEvtIsListening</a>(&es1), <spanclass="stringliteral">"no listener"</span>);
<aname="l00110"></a>00110 <aclass="code"href="group__events.html#ga68d15e1c7e12e96edd40069a27981d38"title="Unregisters an Event Listener from its Event Source.">chEvtUnregister</a>(&es1, &el1);
<aname="l00111"></a>00111 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(2, <aclass="code"href="group__events.html#ga440eefff93d7c8f741b7572bcc24355f"title="Verifies if there is at least one EventListener registered.">chEvtIsListening</a>(&es1), <spanclass="stringliteral">"no listener"</span>);
<aname="l00112"></a>00112 <aclass="code"href="group__events.html#ga68d15e1c7e12e96edd40069a27981d38"title="Unregisters an Event Listener from its Event Source.">chEvtUnregister</a>(&es1, &el2);
<aname="l00113"></a>00113 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(3, !<aclass="code"href="group__events.html#ga440eefff93d7c8f741b7572bcc24355f"title="Verifies if there is at least one EventListener registered.">chEvtIsListening</a>(&es1), <spanclass="stringliteral">"stuck listener"</span>);
<aname="l00118"></a>00118 <aclass="code"href="group__events.html#gaba2061f315848a8a722efcae258edc8c"title="Invokes the event handlers associated to an event flags mask.">chEvtDispatch</a>(evhndl, 7);
<aname="l00122"></a>00122 <spanclass="keyword">const</span><spanclass="keyword">struct </span><aclass="code"href="structtestcase.html"title="Structure representing a test case.">testcase</a> testevt1 = {
<aname="l00150"></a>00150 <aclass="code"href="group__events.html#ga76f41b9668c3f1adafc516a8f92b9cad"title="Clears the pending events specified in the mask.">chEvtClear</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>);
<aname="l00151"></a>00151 }
<aname="l00152"></a>00152
<aname="l00153"></a>00153 <spanclass="keyword">static</span><aclass="code"href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3"title="Message, use signed pointer equivalent.">msg_t</a> thread1(<spanclass="keywordtype">void</span> *p) {
<aname="l00154"></a>00154
<aname="l00155"></a>00155 <aclass="code"href="group__threads.html#ga5aebc25e053a0094714abce4cad9f56f"title="Delays the invoking thread for the specified number of milliseconds.">chThdSleepMilliseconds</a>(50);
<aname="l00156"></a>00156 <aclass="code"href="group__events.html#ga75a812ae99ce83a3689f51d797a038de"title="Pends a set of event flags on the specified Thread.">chEvtSignal</a>((<aclass="code"href="struct_thread.html"title="Structure representing a thread.">Thread</a> *)p, 1);
<aname="l00160"></a>00160 <spanclass="keyword">static</span><aclass="code"href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3"title="Message, use signed pointer equivalent.">msg_t</a> thread2(<spanclass="keywordtype">void</span> *p) {
<aname="l00161"></a>00161
<aname="l00162"></a>00162 (void)p;
<aname="l00163"></a>00163 <aclass="code"href="group__events.html#ga44015af4dd20f74b0f73824ff1c1b2f4"title="Signals all the Event Listeners registered on the specified Event Source.">chEvtBroadcast</a>(&es1);
<aname="l00164"></a>00164 <aclass="code"href="group__threads.html#ga5aebc25e053a0094714abce4cad9f56f"title="Delays the invoking thread for the specified number of milliseconds.">chThdSleepMilliseconds</a>(50);
<aname="l00165"></a>00165 <aclass="code"href="group__events.html#ga44015af4dd20f74b0f73824ff1c1b2f4"title="Signals all the Event Listeners registered on the specified Event Source.">chEvtBroadcast</a>(&es2);
<aname="l00177"></a>00177 <aclass="code"href="group__events.html#ga94f14b6063f42b9be79a7dabde18232d"title="Pends a set of event flags on the current thread, this is much faster than using chEvtBroadcast() or ...">chEvtPend</a>(5);
<aname="l00178"></a>00178 m = <aclass="code"href="group__events.html#ga77651e22578713ebe355c1213286c2e9"title="Waits for exactly one of the specified events.">chEvtWaitOne</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>);
<aname="l00179"></a>00179 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(1, m == 1, <spanclass="stringliteral">"single event error"</span>);
<aname="l00180"></a>00180 m = <aclass="code"href="group__events.html#ga77651e22578713ebe355c1213286c2e9"title="Waits for exactly one of the specified events.">chEvtWaitOne</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>);
<aname="l00181"></a>00181 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(2, m == 4, <spanclass="stringliteral">"single event error"</span>);
<aname="l00182"></a>00182 m = <aclass="code"href="group__events.html#ga76f41b9668c3f1adafc516a8f92b9cad"title="Clears the pending events specified in the mask.">chEvtClear</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>);
<aname="l00183"></a>00183 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(3, m == 0, <spanclass="stringliteral">"stuck event"</span>);
<aname="l00188"></a>00188 <aclass="code"href="group__test.html#gac067dd7ee03b2c56d4d26ce9815ed3f7"title="Delays execution until next system time tick.">test_wait_tick</a>();
<aname="l00189"></a>00189 target_time = <aclass="code"href="group__time.html#ga137c8f67c450f34416a786d169be90e2"title="Current system time.">chTimeNow</a>() + <aclass="code"href="group__time.html#ga0a7e7bc6c6225bd9652c4f1567f1bc6a"title="Time conversion utility.">MS2ST</a>(50);
<aname="l00190"></a>00190 threads[0] = <aclass="code"href="group__threads.html#ga048e588238dd336c6059133b3d0c3435"title="Creates a new thread into a static memory area.">chThdCreateStatic</a>(wa[0], WA_SIZE, <aclass="code"href="group__threads.html#gac71903de6268d886ff58022854b8b6dd"title="Returns the current thread priority.">chThdGetPriority</a>() - 1,
<aname="l00191"></a>00191 thread1, <aclass="code"href="group__threads.html#gaa36662628234799d205ff8c0cc6745c5"title="Returns a pointer to the current Thread.">chThdSelf</a>());
<aname="l00192"></a>00192 m = <aclass="code"href="group__events.html#ga77651e22578713ebe355c1213286c2e9"title="Waits for exactly one of the specified events.">chEvtWaitOne</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>);
<aname="l00193"></a>00193 <aclass="code"href="group__test.html#gabb18a77859d6fc0972a35d88f11a90e1"title="Test time window assertion.">test_assert_time_window</a>(4, target_time, target_time + ALLOWED_DELAY);
<aname="l00194"></a>00194 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(5, m == 1, <spanclass="stringliteral">"single event error"</span>);
<aname="l00195"></a>00195 m = <aclass="code"href="group__events.html#ga76f41b9668c3f1adafc516a8f92b9cad"title="Clears the pending events specified in the mask.">chEvtClear</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>);
<aname="l00196"></a>00196 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(6, m == 0, <spanclass="stringliteral">"stuck event"</span>);
<aname="l00197"></a>00197 <aclass="code"href="group__test.html#ga361d9d2685d79754206ae8af370a303c"title="Waits for the completion of all the test-spawned threads.">test_wait_threads</a>();
<aname="l00202"></a>00202 <aclass="code"href="group__events.html#ga94f14b6063f42b9be79a7dabde18232d"title="Pends a set of event flags on the current thread, this is much faster than using chEvtBroadcast() or ...">chEvtPend</a>(5);
<aname="l00203"></a>00203 m = <aclass="code"href="group__events.html#gabd731d3ed2f037b2409e370676575f8d"title="Waits for any of the specified events.">chEvtWaitAny</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>);
<aname="l00204"></a>00204 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(7, m == 5, <spanclass="stringliteral">"unexpected pending bit"</span>);
<aname="l00205"></a>00205 m = <aclass="code"href="group__events.html#ga76f41b9668c3f1adafc516a8f92b9cad"title="Clears the pending events specified in the mask.">chEvtClear</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>);
<aname="l00206"></a>00206 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(8, m == 0, <spanclass="stringliteral">"stuck event"</span>);
<aname="l00211"></a>00211 <aclass="code"href="group__test.html#gac067dd7ee03b2c56d4d26ce9815ed3f7"title="Delays execution until next system time tick.">test_wait_tick</a>();
<aname="l00212"></a>00212 target_time = <aclass="code"href="group__time.html#ga137c8f67c450f34416a786d169be90e2"title="Current system time.">chTimeNow</a>() + <aclass="code"href="group__time.html#ga0a7e7bc6c6225bd9652c4f1567f1bc6a"title="Time conversion utility.">MS2ST</a>(50);
<aname="l00213"></a>00213 threads[0] = <aclass="code"href="group__threads.html#ga048e588238dd336c6059133b3d0c3435"title="Creates a new thread into a static memory area.">chThdCreateStatic</a>(wa[0], WA_SIZE, <aclass="code"href="group__threads.html#gac71903de6268d886ff58022854b8b6dd"title="Returns the current thread priority.">chThdGetPriority</a>() - 1,
<aname="l00214"></a>00214 thread1, <aclass="code"href="group__threads.html#gaa36662628234799d205ff8c0cc6745c5"title="Returns a pointer to the current Thread.">chThdSelf</a>());
<aname="l00215"></a>00215 m = <aclass="code"href="group__events.html#gabd731d3ed2f037b2409e370676575f8d"title="Waits for any of the specified events.">chEvtWaitAny</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>);
<aname="l00216"></a>00216 <aclass="code"href="group__test.html#gabb18a77859d6fc0972a35d88f11a90e1"title="Test time window assertion.">test_assert_time_window</a>(9, target_time, target_time + ALLOWED_DELAY);
<aname="l00217"></a>00217 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(10, m == 1, <spanclass="stringliteral">"single event error"</span>);
<aname="l00218"></a>00218 m = <aclass="code"href="group__events.html#ga76f41b9668c3f1adafc516a8f92b9cad"title="Clears the pending events specified in the mask.">chEvtClear</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>);
<aname="l00219"></a>00219 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(11, m == 0, <spanclass="stringliteral">"stuck event"</span>);
<aname="l00220"></a>00220 <aclass="code"href="group__test.html#ga361d9d2685d79754206ae8af370a303c"title="Waits for the completion of all the test-spawned threads.">test_wait_threads</a>();
<aname="l00225"></a>00225 <aclass="code"href="group__events.html#gab8d0fdc09be629dfb438c32a0523db42"title="Initializes an Event Source.">chEvtInit</a>(&es1);
<aname="l00226"></a>00226 <aclass="code"href="group__events.html#gab8d0fdc09be629dfb438c32a0523db42"title="Initializes an Event Source.">chEvtInit</a>(&es2);
<aname="l00227"></a>00227 <aclass="code"href="group__events.html#ga4002600fe552128aaf96a6a1d3ada3ee"title="Registers an Event Listener on an Event Source.">chEvtRegisterMask</a>(&es1, &el1, 1);
<aname="l00228"></a>00228 <aclass="code"href="group__events.html#ga4002600fe552128aaf96a6a1d3ada3ee"title="Registers an Event Listener on an Event Source.">chEvtRegisterMask</a>(&es2, &el2, 4);
<aname="l00229"></a>00229 <aclass="code"href="group__test.html#gac067dd7ee03b2c56d4d26ce9815ed3f7"title="Delays execution until next system time tick.">test_wait_tick</a>();
<aname="l00230"></a>00230 target_time = <aclass="code"href="group__time.html#ga137c8f67c450f34416a786d169be90e2"title="Current system time.">chTimeNow</a>() + <aclass="code"href="group__time.html#ga0a7e7bc6c6225bd9652c4f1567f1bc6a"title="Time conversion utility.">MS2ST</a>(50);
<aname="l00231"></a>00231 threads[0] = <aclass="code"href="group__threads.html#ga048e588238dd336c6059133b3d0c3435"title="Creates a new thread into a static memory area.">chThdCreateStatic</a>(wa[0], WA_SIZE, <aclass="code"href="group__threads.html#gac71903de6268d886ff58022854b8b6dd"title="Returns the current thread priority.">chThdGetPriority</a>() - 1,
<aname="l00233"></a>00233 m = <aclass="code"href="group__events.html#ga8c5c6bf310a08cdc836d23f98a87dbf5"title="Waits for all the specified events.">chEvtWaitAll</a>(5);
<aname="l00234"></a>00234 <aclass="code"href="group__test.html#gabb18a77859d6fc0972a35d88f11a90e1"title="Test time window assertion.">test_assert_time_window</a>(12, target_time, target_time + ALLOWED_DELAY);
<aname="l00235"></a>00235 m = <aclass="code"href="group__events.html#ga76f41b9668c3f1adafc516a8f92b9cad"title="Clears the pending events specified in the mask.">chEvtClear</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>);
<aname="l00236"></a>00236 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(13, m == 0, <spanclass="stringliteral">"stuck event"</span>);
<aname="l00237"></a>00237 <aclass="code"href="group__test.html#ga361d9d2685d79754206ae8af370a303c"title="Waits for the completion of all the test-spawned threads.">test_wait_threads</a>();
<aname="l00238"></a>00238 <aclass="code"href="group__events.html#ga68d15e1c7e12e96edd40069a27981d38"title="Unregisters an Event Listener from its Event Source.">chEvtUnregister</a>(&es1, &el1);
<aname="l00239"></a>00239 <aclass="code"href="group__events.html#ga68d15e1c7e12e96edd40069a27981d38"title="Unregisters an Event Listener from its Event Source.">chEvtUnregister</a>(&es2, &el2);
<aname="l00240"></a>00240 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(14, !<aclass="code"href="group__events.html#ga440eefff93d7c8f741b7572bcc24355f"title="Verifies if there is at least one EventListener registered.">chEvtIsListening</a>(&es1), <spanclass="stringliteral">"stuck listener"</span>);
<aname="l00241"></a>00241 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(15, !<aclass="code"href="group__events.html#ga440eefff93d7c8f741b7572bcc24355f"title="Verifies if there is at least one EventListener registered.">chEvtIsListening</a>(&es2), <spanclass="stringliteral">"stuck listener"</span>);
<aname="l00242"></a>00242 }
<aname="l00243"></a>00243
<aname="l00244"></a>00244 <spanclass="keyword">const</span><spanclass="keyword">struct </span><aclass="code"href="structtestcase.html"title="Structure representing a test case.">testcase</a> testevt2 = {
<aname="l00274"></a>00274 <aclass="code"href="group__events.html#ga76f41b9668c3f1adafc516a8f92b9cad"title="Clears the pending events specified in the mask.">chEvtClear</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>);
<aname="l00283"></a>00283 m = <aclass="code"href="group__events.html#ga2944a7fc82e7cc15537f5a7c04f457d3"title="Waits for exactly one of the specified events.">chEvtWaitOneTimeout</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>, <aclass="code"href="group__scheduler.html#gad1ac15e9e5fc17810a94a779257f3d29"title="Zero time specification for some syscalls with a timeout specification.">TIME_IMMEDIATE</a>);
<aname="l00284"></a>00284 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(1, m == 0, <spanclass="stringliteral">"spurious event"</span>);
<aname="l00285"></a>00285 m = <aclass="code"href="group__events.html#gaf690406ccc833e2c9235e7e2041a6715"title="Waits for any of the specified events.">chEvtWaitAnyTimeout</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>, <aclass="code"href="group__scheduler.html#gad1ac15e9e5fc17810a94a779257f3d29"title="Zero time specification for some syscalls with a timeout specification.">TIME_IMMEDIATE</a>);
<aname="l00286"></a>00286 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(2, m == 0, <spanclass="stringliteral">"spurious event"</span>);
<aname="l00287"></a>00287 m = <aclass="code"href="group__events.html#ga90d702300eecee3d05f83e95b155c3ee"title="Waits for all the specified events.">chEvtWaitAllTimeout</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>, <aclass="code"href="group__scheduler.html#gad1ac15e9e5fc17810a94a779257f3d29"title="Zero time specification for some syscalls with a timeout specification.">TIME_IMMEDIATE</a>);
<aname="l00288"></a>00288 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(3, m == 0, <spanclass="stringliteral">"spurious event"</span>);
<aname="l00289"></a>00289 m = <aclass="code"href="group__events.html#ga2944a7fc82e7cc15537f5a7c04f457d3"title="Waits for exactly one of the specified events.">chEvtWaitOneTimeout</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>, 10);
<aname="l00290"></a>00290 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(4, m == 0, <spanclass="stringliteral">"spurious event"</span>);
<aname="l00291"></a>00291 m = <aclass="code"href="group__events.html#gaf690406ccc833e2c9235e7e2041a6715"title="Waits for any of the specified events.">chEvtWaitAnyTimeout</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>, 10);
<aname="l00292"></a>00292 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(5, m == 0, <spanclass="stringliteral">"spurious event"</span>);
<aname="l00293"></a>00293 m = <aclass="code"href="group__events.html#ga90d702300eecee3d05f83e95b155c3ee"title="Waits for all the specified events.">chEvtWaitAllTimeout</a>(<aclass="code"href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>, 10);
<aname="l00294"></a>00294 <aclass="code"href="group__test.html#ga835cb17ca3869922b49435d95324a68b"title="Test assertion.">test_assert</a>(6, m == 0, <spanclass="stringliteral">"spurious event"</span>);
<aname="l00295"></a>00295 }
<aname="l00296"></a>00296
<aname="l00297"></a>00297 <spanclass="keyword">const</span><spanclass="keyword">struct </span><aclass="code"href="structtestcase.html"title="Structure representing a test case.">testcase</a> testevt3 = {
<aname="l00308"></a><aclass="code"href="testevt_8h.html#ab12febe9a612a65be6fd2af3be8b5a14">00308</a><spanclass="keyword">const</span><spanclass="keyword">struct </span><aclass="code"href="structtestcase.html"title="Structure representing a test case.">testcase</a> * <spanclass="keyword">const</span><aclass="code"href="testevt_8c.html#ac18f9a59a9f086d1752448b81d6af6e1"title="Test sequence for events.">patternevt</a>[] = {
Generated on Sun Nov 28 2010 14:09:49 for ChibiOS/RT by <ahref="http://www.doxygen.org/index.html"><imgsrc="doxygen.png"alt="doxygen"align="middle"border="0"></a> 1.7.1</small></address>