ItsSpatem_TpFunctions.ttcn 25.5 KB
Newer Older
1
2
3
4
5
/**
 *    @author   ETSI STF517
 *    @version  $URL$
 *              $Id$
 *    @desc     SPATEM TP functions
garciay's avatar
garciay committed
6
7
8
9
 *    @copyright   ETSI Copyright Notification
 *                 No part may be reproduced except as authorized by written permission.
 *                 The copyright and the foregoing restriction extend to reproduction in all media.
 *                 All rights reserved.
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 *
 */

module ItsSpatem_TpFunctions {
    
    // LibCommon
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_Sync all;
    import from LibCommon_VerdictControl all;
    import from LibCommon_Time all;
    
    // LibItsCommon
    import from LibItsCommon_Functions all;
    import from LibItsCommon_TypesAndValues all;
    
    // LibIts
    import from ITS_Container language "ASN.1:1997" all;
    import from MAPEM_PDU_Descriptions language "ASN.1:1997" all;
    import from SPATEM_PDU_Descriptions language "ASN.1:1997" all;
    import from DSRC language "ASN.1:1997" all;
    
    // LibItsMapemSpatem
    import from LibItsMapemSpatem_TestSystem all;
    import from LibItsMapemSpatem_Functions all;
    import from LibItsMapemSpatem_Templates all;
    import from LibItsMapemSpatem_TypesAndValues all;
    import from LibItsMapemSpatem_Pics all;
    
    group spateMessageDissemination { 
        
        group spateMessageFormat { 
            
            /**
             * @desc    TP Function for TC_IS_RLT_MSGF_BV_01
             */
            function f_IS_TLM_MSGF_BV_01 () runs on ItsMapemSpatem {
                
                // Local variables
                
                // Test control
garciay's avatar
garciay committed
50
51
                if (not PICS_SPATEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
52
53
54
55
56
57
58
59
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                    
                // Preamble
garciay's avatar
garciay committed
60
                f_prInitialState();
61
                f_utTriggerEvent(m_utTriggerEvent(startTLMService));
garciay's avatar
garciay committed
62
63
                // Wait for SPATEM sent
                tc_ac.start(2.0);
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                    
                // Test Body
                tc_ac.start;
                alt {
                    [] mapemSpatemPort.receive(
                        mw_spatemInd(
                            mw_spatemPdu
                    )) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": PASS: Successfully received SAPTEM PDU header. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_TLM_MSGF_BV_01
            
        } // End of group spateMessageFormat
        
garciay's avatar
garciay committed
92
        group spateEventGeneration { 
93
94
            
            /**
garciay's avatar
garciay committed
95
             * @desc    TP Function for f_IS_TLM_EVGN_BV_01
96
             */
garciay's avatar
garciay committed
97
            function f_IS_TLM_EVGN_BV_01() runs on ItsMapemSpatem {
98
99
100
101
                
                // Local variables
                
                // Test control
garciay's avatar
garciay committed
102
103
                if (not PICS_SPATEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
104
105
106
107
108
109
110
111
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                
                // Preamble
garciay's avatar
garciay committed
112
                f_prInitialState();
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
                f_utTriggerEvent(m_utTriggerEvent(startTLMService));
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                    
                // Test Body
                tc_ac.start;
                alt {
                    [] mapemSpatemPort.receive(
                        mw_spatemInd(
                            mw_spatemPdu(
                                mw_spatemWellFormatted
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": PASS: Successfully received well-formed SPATEM. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] mapemSpatemPort.receive(
                        mw_spatemInd(
                            mw_spatemPdu(
                                mw_defaultSpatem
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: Received a SPATEM with incorrect information. ***");
                        f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
                    }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_TLM_EVGN_BV_01
            
            /**
garciay's avatar
garciay committed
151
             * @desc    TP Function for f_IS_TLM_EVGN_BV_02
152
             */
garciay's avatar
garciay committed
153
            function f_IS_TLM_EVGN_BV_02() runs on ItsMapemSpatem {
154
155
156
157
158
                
                // Local variables
                var SpatemInd v_spatem;
                
                // Test control
garciay's avatar
garciay committed
159
160
                if (not PICS_SPATEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
161
162
163
164
165
166
167
168
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                    
                // Preamble
garciay's avatar
garciay committed
169
                f_prInitialState();
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
                f_utTriggerEvent(m_utTriggerEvent(startTLMService));
                f_awaitSpateMessage(
                    mw_spatemInd(
                        mw_spatemPdu(
                            mw_spatemWellFormatted
                        )
                    ), 
                    v_spatem
                );
                
                // Test Body
                f_utTriggerEvent(m_utTriggerEvent(spatemNewContent));
                tc_ac.start;
                alt {
                    [] mapemSpatemPort.receive(v_spatem) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: The same SPATEM was received. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] mapemSpatemPort.receive(
                        mw_spatemInd(
                            mw_spatemPdu(
                                mw_spatemWellFormatted
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": PASS: Successfully received a new well-formed SPATE message. ***");
                        f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
                    }
                    [] mapemSpatemPort.receive(
                        mw_spatemInd(
                            mw_spatemPdu(
                                mw_defaultSpatem
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: Received a SPATEM with incorrect information. ***");
                        f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
                    }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_TLM_EVGN_BV_02
            
            /**
garciay's avatar
garciay committed
221
             * @desc    TP Function for f_IS_TLM_EVGN_BV_03
222
             */
garciay's avatar
garciay committed
223
            function f_IS_TLM_EVGN_BV_03() runs on ItsMapemSpatem { 
224
225
226
227
                
                // Local variables
                
                // Test control
garciay's avatar
garciay committed
228
229
                if (not PICS_SPATEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
230
231
232
233
234
235
236
237
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                
                // Preamble
garciay's avatar
garciay committed
238
                f_prInitialState();
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
                f_utTriggerEvent(m_utTriggerEvent(startTLMService));
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                    
                // Test Body
                f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
                mapemSpatemPort.clear;
                tc_noac.start;
                alt {
                    [] mapemSpatemPort.receive(
                        mw_spatemInd(
                            mw_spatemPdu(
                                mw_defaultSpatem
                    ))) { 
                        tc_noac.stop;
                        log("*** " & testcasename() & ": FAIL: No more SPATEM messages were expected. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] tc_noac.timeout {
                        log("*** " & testcasename() & ": PASS: TLM Service terminated. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                }
                    
                // Postamble
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_TLM_EVGN_BV_03
            
            /**
garciay's avatar
garciay committed
269
             * @desc    TP Function for f_IS_TLM_EVGN_BV_04
270
             */
garciay's avatar
garciay committed
271
            function f_IS_TLM_EVGN_BV_04() runs on ItsMapemSpatem {
272
273
274
275
276
                
                // Local variables
                var SpatemInd v_spatem;
                
                // Test control
garciay's avatar
garciay committed
277
278
                if (not PICS_SPATEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
279
280
281
282
283
284
285
286
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                    
                // Preamble
garciay's avatar
garciay committed
287
                f_prInitialState();
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
                f_utTriggerEvent(m_utTriggerEvent(startTLMService));
                f_awaitSpateMessage(
                    mw_spatemInd(
                        mw_spatemPdu(
                            mw_defaultSpatem
                        )
                    ), 
                    v_spatem
                );
                
                // Test Body
                f_utTriggerEvent(m_utTriggerEvent(spatemNewContent));
                tc_ac.start;
                alt {
                    [] mapemSpatemPort.receive(v_spatem) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: A different SPATE message was expected. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] mapemSpatemPort.receive(
                        mw_spatemInd(
                            mw_spatemPdu(
                                mw_spatemWellFormatted
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": PASS: Successfully received a new well-formed SPATE message. ***");
                        f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
                    }
                    [] mapemSpatemPort.receive(
                        mw_spatemInd(
                            mw_spatemPdu(
                                mw_defaultSpatem
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: Received a SPATEM with incorrect information. ***");
                        f_selfOrClientSyncAndVerdictPreamble(c_tbDone, e_success);
                    }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_TLM_EVGN_BV_04
            
garciay's avatar
garciay committed
338
        } // End of group spateEventGeneration
339
340
341
342
        
        group spateCommunication {
            
            /**
garciay's avatar
garciay committed
343
             * @desc    TP Function for f_IS_TLM_COMM_BV_01
344
             */
garciay's avatar
garciay committed
345
            function f_IS_TLM_COMM_BV_01 () runs on ItsMapemSpatem {
346
347
348
                
                // Local variables
                
garciay's avatar
garciay committed
349
                // Test control
garciay's avatar
garciay committed
350
351
                if (not PICS_SPATEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
garciay's avatar
garciay committed
352
353
354
355
                    setverdict(inconc);
                    stop;
                }
                
356
357
358
359
                // Test component configuration
                f_cfUp();
                
                // Preamble
garciay's avatar
garciay committed
360
                f_prInitialState();
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
                f_utTriggerEvent(m_utTriggerEvent(startTLMService));
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                
                // Test Body
                tc_ac.start;
                alt {
                    [] mapemSpatemPort.receive(
                        mw_spatemInd(
                           mw_spatemPdu(
                               mw_spatem_with_region_id
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": PASS: Successfully received MAPEM using GBC. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_TLM_COMM_BV_01
            
            /**
garciay's avatar
garciay committed
390
             * @desc    TP Function for f_IS_TLM_COMM_BV_02_01
391
             */
garciay's avatar
garciay committed
392
            function f_IS_TLM_COMM_BV_02_01 () runs on ItsMapemSpatem {
393
394
395
396
                
                // Local variables
                const UInt8 c_gnNhBtpB := 2;
                
garciay's avatar
garciay committed
397
                // Test control
garciay's avatar
garciay committed
398
399
                if (not PICS_SPATEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
garciay's avatar
garciay committed
400
401
402
403
                    setverdict(inconc);
                    stop;
                }
                
404
405
406
407
                // Test component configuration
                f_cfUp();
                
                // Preamble
garciay's avatar
garciay committed
408
                f_prInitialState();
409
410
411
412
413
414
415
416
417
418
419
420
                f_utTriggerEvent(m_utTriggerEvent(startTLMService));
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                
                // Test Body
                tc_ac.start;
                alt {
                    [] mapemSpatemPort.receive(
                        mw_spatemIndWithGnParameters(
                           mw_spatemPdu, 
                           c_gnNhBtpB
                    )) { 
                        tc_ac.stop;
garciay's avatar
garciay committed
421
                        log("*** " & testcasename() & ": PASS: Expected SPATEM encapsultated in BTP-B packet received. ***");
422
423
424
425
426
427
428
429
430
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] mapemSpatemPort.receive(mw_spatemIndWithGnParameters(mw_spatemPdu(mw_defaultSpatem), omit)) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: no GN NH information in SpatemInd ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);  
                    }                    
                    [] mapemSpatemPort.receive(mw_spatemInd(mw_spatemPdu(mw_defaultSpatem))) { 
                        tc_ac.stop;
garciay's avatar
garciay committed
431
                        log("*** " & testcasename() & ": FAIL: Expected SPATEM received, but not encapsulated in BTP-B packet ***");
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);  
                    }                    
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_TLM_COMM_BV_02_01
            
            /**
garciay's avatar
garciay committed
448
             * @desc    TP Function for f_IS_TLM_COMM_BV_02_02
449
             */
garciay's avatar
garciay committed
450
            function f_IS_TLM_COMM_BV_02_02 () runs on ItsMapemSpatem {
451
452
453
454
                
                // Local variables
                const UInt16 c_gnNhBtpBPort := 2004;
                
garciay's avatar
garciay committed
455
                // Test control
garciay's avatar
garciay committed
456
457
                if (not PICS_SPATEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
garciay's avatar
garciay committed
458
459
460
461
                    setverdict(inconc);
                    stop;
                }
                
462
463
464
465
                // Test component configuration
                f_cfUp();
                
                // Preamble
garciay's avatar
garciay committed
466
                f_prInitialState();
467
468
469
470
471
472
473
474
475
476
477
478
479
                f_utTriggerEvent(m_utTriggerEvent(startTLMService));
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                
                // Test Body
                tc_ac.start;
                alt {
                    [] mapemSpatemPort.receive(
                        mw_spatemIndWithBtpParameters(
                           mw_spatemPdu, 
                           c_gnNhBtpBPort,
                           0
                    )) { 
                        tc_ac.stop;
garciay's avatar
garciay committed
480
                        log("*** " & testcasename() & ": PASS: Expected SPATEM encapsultated in BTP packet with port value 2004 received. ***");
481
482
483
484
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] mapemSpatemPort.receive(mw_spatemInd(mw_spatemPdu(mw_defaultSpatem))) { 
                        tc_ac.stop;
garciay's avatar
garciay committed
485
                        log("*** " & testcasename() & ": FAIL: Expected SPATEM received, but not addressed to the correct destination port. ***");
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);  
                    }                    
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_TLM_COMM_BV_02_02
            
            /**
garciay's avatar
garciay committed
502
             * @desc    TP Function for f_IS_TLM_COMM_BV_03
503
             */
garciay's avatar
garciay committed
504
            function f_IS_TLM_COMM_BV_03 () runs on ItsMapemSpatem {
505
506
507
508
                
                // Local variables
                const UInt8 c_gnHtGbc := 4;
                
garciay's avatar
garciay committed
509
                // Test control
garciay's avatar
garciay committed
510
511
                if (not PICS_SPATEM_GENERATION) {
                    log("*** " & testcasename() & ": PICS_SPATEM_GENERATION required for executing the TC ***");
garciay's avatar
garciay committed
512
513
514
515
                    setverdict(inconc);
                    stop;
                }
                
516
517
518
519
                // Test component configuration
                f_cfUp();
                
                // Preamble
garciay's avatar
garciay committed
520
                f_prInitialState();
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
                f_utTriggerEvent(m_utTriggerEvent(startTLMService));
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                
                // Test Body
                tc_ac.start;
                alt {
                    [] mapemSpatemPort.receive(
                        mw_spatemIndWithGnParameters(
                           mw_spatemPdu(
                               mw_spatemWellFormatted
                           ),
                           -,
                           c_gnHtGbc
                    )) { 
                        tc_ac.stop;
garciay's avatar
garciay committed
536
                        log("*** " & testcasename() & ": PASS: Expected SPATEM encapsulated in GBC packet received. ***");
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    }
                    [] mapemSpatemPort.receive(
                        mw_spatemIndWithGnParameters(
                           mw_spatemPdu(
                               mw_spatemWellFormatted
                           ),
                           -,
                           omit
                    )) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: Eno GN HT information in SpatemInd. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] mapemSpatemPort.receive(
                        mw_spatemInd(
                           mw_spatemPdu(
                               mw_spatemWellFormatted
                    ))) { 
                        tc_ac.stop;
                        log("*** " & testcasename() & ": FAIL: Expected SPATEM received, but not encapsulated in GBC packet. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                    }
                    [] tc_ac.timeout {
                        log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    }
                }
                
                // Postamble
                f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_TLM_COMM_BV_03
            
        } // End of group spateCommunication 
        
    } // End of group spateMessageDissemination
    
    group spateMessageProcessing {
            
            /**
garciay's avatar
garciay committed
580
             * @desc    TP Function for f_IS_TLM_MSGF_BV_02
581
             */
garciay's avatar
garciay committed
582
            function f_IS_TLM_MSGF_BV_02 () runs on ItsMapemSpatem {
583
584
585
586
587
                    
                // Local variables
                var SpatemReq   v_spatemReq;
                var integer     i;
                
garciay's avatar
garciay committed
588
589
                if (not PICS_SPATEM_RECEPTION) {
                    log("*** " & testcasename() & ": PICS_SPATEM_RECEPTION required for executing the TC ***");
590
591
592
593
594
595
596
597
                    setverdict(inconc);
                    stop;
                }
                
                // Test component configuration
                f_cfUp();
                
                // Preamble
garciay's avatar
garciay committed
598
                f_prInitialState();
599
600
601
                f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                
                // Test Body
602
                v_spatemReq := valueof(m_spatemReq(m_spatemPdu(m_defaultSpatem)));
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
                mapemSpatemPort.send(v_spatemReq) ;
                
                f_sleep(PX_TAC);
                for (i := 0; i < lengthof(vc_utSpatemEvents) and not match (v_spatemReq.msgOut , vc_utSpatemEvents[i].spateMsg); i := i + 1) {
                    // empty on purpose 
                }
                if (i < lengthof(vc_utSpatemEvents) ) {
                    log("*** " & testcasename() & ": PASS: SPATEM was transmitted to upper layer ***");
                    f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                } else {
                    log("*** " & testcasename() & ": FAIL: SPATEM was not transmitted to upper layer ***");
                    f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                }
                
                // Postamble
                f_poDefault();
                f_cfDown();
                
            } // End of function f_IS_TLM_MSGF_BV_02
            
    } // End of group spateMessageProcessing
    
} // End of module ItsSpatem_TpFunctions