• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * Copyright (c) 2020-2021 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *   http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  *
15  */
16 #include "ohos_types.h"
17 #include <securec.h>
18 #include "hctest.h"
19 #include "los_config.h"
20 #include "cmsis_os2.h"
21 #include "kernel_test.h"
22 
23 UINT16 g_cmsisTestTimeCount;
24 #define MILLISEC_NUM_INT10 10U
25 #define MILLISEC_NUM_INT4 4U
26 #define INVALID_TIMER_TYPE 10
27 #define TIMER_PERIODIC_COUNT 2
28 
29 
30 /**
31  * @tc.desc      : register a test suite, this suite is used to test basic flow and interface dependency
32  * @param        : subsystem name is utils
33  * @param        : module name is utilsFile
34  * @param        : test suit name is CmsisTaskFuncTestSuite
35  */
36 LITE_TEST_SUIT(Cmsis, Cmsistimer, CmsisTimerFuncTestSuite);
37 
38 /**
39  * @tc.setup     : setup for all testcases
40  * @return       : setup result, TRUE is success, FALSE is fail
41  */
CmsisTimerFuncTestSuiteSetUp(void)42 static BOOL CmsisTimerFuncTestSuiteSetUp(void)
43 {
44     return TRUE;
45 }
46 
47 /**
48  * @tc.teardown  : teardown for all testcases
49  * @return       : teardown result, TRUE is success, FALSE is fail
50  */
CmsisTimerFuncTestSuiteTearDown(void)51 static BOOL CmsisTimerFuncTestSuiteTearDown(void)
52 {
53     printf("+-------------------------------------------+\n");
54     return TRUE;
55 }
56 
CmsisTimerFunc001(void const * argument)57 static void CmsisTimerFunc001(void const *argument)
58 {
59     (void)argument;
60     return;
61 }
62 
CmsisTimerFunc002(void const * argument)63 static void CmsisTimerFunc002(void const *argument)
64 {
65     (void)argument;
66     g_cmsisTestTimeCount++;
67     return;
68 }
69 
70 /**
71  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_0100
72  * @tc.name      : timer operation for creat with parameter osTimerOnce
73  * @tc.desc      : [C- SOFTWARE -0200]
74  */
75 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerNew001, Function | MediumTest | Level1)
76 {
77     osTimerId_t id;
78     UINT32 value=0xffff;
79     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerOnce, &value, NULL);
80     TEST_ASSERT_NOT_NULL(id);
81     (void)osTimerDelete(id);
82     osDelay(DELAY_TICKS_5);
83 };
84 
85 /**
86  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_0200
87  * @tc.name      : timer operation for creat with parameter osTimerPeriodic
88  * @tc.desc      : [C- SOFTWARE -0200]
89  */
90 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerNew002, Function | MediumTest | Level1)
91 {
92     osTimerId_t id;
93     UINT32 value=0xffff;
94     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerPeriodic, &value, NULL);
95     TEST_ASSERT_NOT_NULL(id);
96     (void)osTimerDelete(id);
97     osDelay(DELAY_TICKS_5);
98 };
99 
100 /**
101  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_0300
102  * @tc.name      : timer creat operation with NULL func and parameter osTimerOnce
103  * @tc.desc      : [C- SOFTWARE -0200]
104  */
105 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerNew003, Function | MediumTest | Level1)
106 {
107     osTimerId_t id;
108     UINT32 value=0xffff;
109     id = osTimerNew(NULL, osTimerOnce, &value, NULL);
110     TEST_ASSERT_NULL(id);
111     osDelay(DELAY_TICKS_5);
112 };
113 
114 /**
115  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_0400
116  * @tc.name      : timer creat operation with NULL func and parameter osTimerPeriodic
117  * @tc.desc      : [C- SOFTWARE -0200]
118  */
119 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerNew004, Function | MediumTest | Level1)
120 {
121     osTimerId_t id;
122     UINT32 value=0xffff;
123     id = osTimerNew(NULL, osTimerPeriodic, &value, NULL);
124     TEST_ASSERT_NULL(id);
125     osDelay(DELAY_TICKS_5);
126 };
127 
128 /**
129  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_0500
130  * @tc.name      : timer operation for invalid timer type
131  * @tc.desc      : [C- SOFTWARE -0200]
132  */
133 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerNew005, Function | MediumTest | Level1)
134 {
135     osTimerId_t id;
136     UINT32 value=0xffff;
137     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, INVALID_TIMER_TYPE, &value, NULL);
138     TEST_ASSERT_NULL(id);
139     osDelay(DELAY_TICKS_5);
140 };
141 
142 /**
143  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_0600
144  * @tc.name      : timer operation for start with parameter osTimerOnce
145  * @tc.desc      : [C- SOFTWARE -0200]
146  */
147 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerStart001, Function | MediumTest | Level1)
148 {
149     UINT32 uwRet;
150     osTimerId_t id;
151     UINT32 value=0xffff;
152     UINT32 millisec = MILLISEC_NUM_INT4;
153     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerOnce, &value, NULL);
154     TEST_ASSERT_NOT_NULL(id);
155     uwRet = osTimerStart(id, millisec);
156     TEST_ASSERT_EQUAL_INT(osOK, uwRet);
157     (void)osTimerDelete(id);
158 };
159 
160 /**
161  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_0700
162  * @tc.name      : timer operation for start with parameter osTimerPeriodic
163  * @tc.desc      : [C- SOFTWARE -0200]
164  */
165 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerStart002, Function | MediumTest | Level1)
166 {
167     UINT32 uwRet;
168     osTimerId_t id;
169     UINT32 value=0xffff;
170     UINT32 millisec = MILLISEC_NUM_INT4;
171     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerPeriodic, &value, NULL);
172     TEST_ASSERT_NOT_NULL(id);
173     uwRet = osTimerStart(id, millisec);
174     TEST_ASSERT_EQUAL_INT(osOK, uwRet);
175     (void)osTimerDelete(id);
176 };
177 
178 /**
179  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_0800
180  * @tc.name      : timer operation for start with callback func and parameter osTimerOnce
181  * @tc.desc      : [C- SOFTWARE -0200]
182  */
183 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerStart003, Function | MediumTest | Level1)
184 {
185     UINT32 uwRet;
186     osTimerId_t id;
187     UINT32 value=0xffff;
188     UINT32 millisec = MILLISEC_NUM_INT4;
189     g_cmsisTestTimeCount = 0;
190     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc002, osTimerOnce, &value, NULL);
191     TEST_ASSERT_NOT_NULL(id);
192     uwRet = osTimerStart(id, millisec);
193     TEST_ASSERT_EQUAL_INT(osOK, uwRet);
194 
195     osDelay(DELAY_TICKS_10);
196     TEST_ASSERT_EQUAL_INT(1, g_cmsisTestTimeCount);
197     (void)osTimerDelete(id);
198 };
199 
200 /**
201  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_0900
202  * @tc.name      : timer operation for start with callback func and parameter osTimerPeriodic
203  * @tc.desc      : [C- SOFTWARE -0200]
204  */
205 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerStart004, Function | MediumTest | Level1)
206 {
207     UINT32 uwRet;
208     osTimerId_t id;
209     UINT32 value=0xffff;
210     UINT32 millisec = MILLISEC_NUM_INT4;
211     g_cmsisTestTimeCount = 0;
212     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc002, osTimerPeriodic, &value, NULL);
213     TEST_ASSERT_NOT_NULL(id);
214     uwRet = osTimerStart(id, millisec);
215     TEST_ASSERT_EQUAL_INT(osOK, uwRet);
216 
217     osDelay(DELAY_TICKS_10);
218     TEST_ASSERT_EQUAL_INT(TIMER_PERIODIC_COUNT, g_cmsisTestTimeCount);
219     (void)osTimerDelete(id);
220 };
221 
222 /**
223  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_1000
224  * @tc.name      : timer start operation with ticks = 0 and parameter osTimerOnce
225  * @tc.desc      : [C- SOFTWARE -0200]
226  */
227 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerStart005, Function | MediumTest | Level1)
228 {
229     UINT32 uwRet;
230     osTimerId_t id;
231     UINT32 value=0xffff;
232     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerOnce, &value, NULL);
233     TEST_ASSERT_NOT_NULL(id);
234     uwRet = osTimerStart(id, 0);
235     TEST_ASSERT_EQUAL_INT(osErrorParameter, uwRet);
236     (void)osTimerDelete(id);
237 };
238 
239 /**
240  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_1100
241  * @tc.name      : timer start operation with ticks = 0 and parameter osTimerPeriodic
242  * @tc.desc      : [C- SOFTWARE -0200]
243  */
244 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerStart006, Function | MediumTest | Level1)
245 {
246     UINT32 uwRet;
247     osTimerId_t id;
248     UINT32 value=0xffff;
249     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerPeriodic, &value, NULL);
250     TEST_ASSERT_NOT_NULL(id);
251     uwRet = osTimerStart(id, 0);
252     TEST_ASSERT_EQUAL_INT(osErrorParameter, uwRet);
253     (void)osTimerDelete(id);
254 };
255 
256 /**
257  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_1200
258  * @tc.name      : timer start operation with timer_id = NULL
259  * @tc.desc      : [C- SOFTWARE -0200]
260  */
261 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerStart007, Function | MediumTest | Level1)
262 {
263     UINT32 uwRet;
264     UINT32 millisec = MILLISEC_NUM_INT4;
265     uwRet = osTimerStart(NULL, millisec);
266     TEST_ASSERT_EQUAL_INT(osErrorParameter, uwRet);
267 };
268 
269 /**
270  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_1300
271  * @tc.name      : timer operation for delete with parameter osTimerOnce
272  * @tc.desc      : [C- SOFTWARE -0200]
273  */
274 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerDelete001, Function | MediumTest | Level1)
275 {
276     UINT32 uwRet;
277     osTimerId_t id;
278     UINT32 value=0xffff;
279     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerOnce, &value, NULL);
280     TEST_ASSERT_NOT_NULL(id);
281 
282     osDelay(1);
283     uwRet = osTimerDelete(id);
284     TEST_ASSERT_EQUAL_INT(osOK, uwRet);
285 };
286 
287 /**
288  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_1400
289  * @tc.name      : timer operation for delete with parameter osTimerPeriodic
290  * @tc.desc      : [C- SOFTWARE -0200]
291  */
292 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerDelete002, Function | MediumTest | Level1)
293 {
294     UINT32 uwRet;
295     osTimerId_t id;
296     UINT32 value=0xffff;
297     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerPeriodic, &value, NULL);
298     TEST_ASSERT_NOT_NULL(id);
299 
300     osDelay(1);
301     uwRet = osTimerDelete(id);
302     TEST_ASSERT_EQUAL_INT(osOK, uwRet);
303 };
304 
305 /**
306  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_1500
307  * @tc.name      : timer operation for delete after osTimerStart with parameter osTimerOnce
308  * @tc.desc      : [C- SOFTWARE -0200]
309  */
310 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerDelete003, Function | MediumTest | Level1)
311 {
312     UINT32 uwRet;
313     osTimerId_t id;
314     UINT32 value=0xffff;
315     UINT32 millisec = MILLISEC_NUM_INT10;
316     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerOnce, &value, NULL);
317     TEST_ASSERT_NOT_NULL(id);
318 
319     osTimerStart(id, millisec);
320     osDelay(1);
321     uwRet = osTimerDelete(id);
322     TEST_ASSERT_EQUAL_INT(osOK, uwRet);
323 };
324 
325 /**
326  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_1600
327  * @tc.name      : timer operation for delete after osTimerStart with parameter osTimerPeriodic
328  * @tc.desc      : [C- SOFTWARE -0200]
329  */
330 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerDelete004, Function | MediumTest | Level1)
331 {
332     UINT32 uwRet;
333     osTimerId_t id;
334     UINT32 value=0xffff;
335     UINT32 millisec = MILLISEC_NUM_INT10;
336     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerPeriodic, &value, NULL);
337     TEST_ASSERT_NOT_NULL(id);
338 
339     osTimerStart(id, millisec);
340     osDelay(1);
341     uwRet = osTimerDelete(id);
342     TEST_ASSERT_EQUAL_INT(osOK, uwRet);
343 };
344 
345 /**
346  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_1700
347  * @tc.name      : timer delete operation with timer_id = NULL
348  * @tc.desc      : [C- SOFTWARE -0200]
349  */
350 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerDelete005, Function | MediumTest | Level1)
351 {
352     UINT32 uwRet;
353     uwRet = osTimerDelete(NULL);
354     TEST_ASSERT_EQUAL_INT(osErrorParameter, uwRet);
355 };
356 
357 /**
358  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_1800
359  * @tc.name      : timer operation for stop after osTimerStart with parameter osTimerOnce
360  * @tc.desc      : [C- SOFTWARE -0200]
361  */
362 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerStop001, Function | MediumTest | Level1)
363 {
364     UINT32 uwRet;
365     osTimerId_t id;
366     UINT32 value=0xffff;
367     UINT32 millisec = MILLISEC_NUM_INT10;
368     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerOnce, &value, NULL);
369     TEST_ASSERT_NOT_NULL(id);
370 
371     osTimerStart(id, millisec);
372     osDelay(1);
373     uwRet = osTimerStop(id);
374     TEST_ASSERT_EQUAL_INT(osOK, uwRet);
375     (void)osTimerDelete(id);
376 };
377 
378 /**
379  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_1900
380  * @tc.name      : timer operation for stop after osTimerStart with parameter osTimerPeriodic
381  * @tc.desc      : [C- SOFTWARE -0200]
382  */
383 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerStop002, Function | MediumTest | Level1)
384 {
385     UINT32 uwRet;
386     osTimerId_t id;
387     UINT32 value=0xffff;
388     UINT32 millisec = MILLISEC_NUM_INT10;
389     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerPeriodic, &value, NULL);
390     TEST_ASSERT_NOT_NULL(id);
391 
392     osTimerStart(id, millisec);
393     osDelay(1);
394     uwRet = osTimerStop(id);
395     TEST_ASSERT_EQUAL_INT(osOK, uwRet);
396     (void)osTimerDelete(id);
397 };
398 
399 /**
400  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_2000
401  * @tc.name      : timer operation for stop with parameter osTimerOnce
402  * @tc.desc      : [C- SOFTWARE -0200]
403  */
404 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerStop003, Function | MediumTest | Level1)
405 {
406     UINT32 uwRet;
407     osTimerId_t id;
408     UINT32 value=0xffff;
409     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerOnce, &value, NULL);
410     TEST_ASSERT_NOT_NULL(id);
411 
412     osDelay(1);
413     uwRet = osTimerStop(id);
414     TEST_ASSERT_EQUAL_INT(osErrorResource, uwRet);
415     (void)osTimerDelete(id);
416 };
417 
418 /**
419  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_2100
420  * @tc.name      : timer operation for stop with parameter osTimerPeriodic
421  * @tc.desc      : [C- SOFTWARE -0200]
422  */
423 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerStop004, Function | MediumTest | Level1)
424 {
425     UINT32 uwRet;
426     osTimerId_t id;
427     UINT32 value=0xffff;
428     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerPeriodic, &value, NULL);
429     TEST_ASSERT_NOT_NULL(id);
430 
431     osDelay(1);
432     uwRet = osTimerStop(id);
433     TEST_ASSERT_EQUAL_INT(osErrorResource, uwRet);
434     (void)osTimerDelete(id);
435 };
436 
437 /**
438  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_2200
439  * @tc.name      : timer stop operation with timer_id = NULL
440  * @tc.desc      : [C- SOFTWARE -0200]
441  */
442 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerStop005, Function | MediumTest | Level1)
443 {
444     UINT32 uwRet;
445     uwRet = osTimerStop(NULL);
446     TEST_ASSERT_EQUAL_INT(osErrorParameter, uwRet);
447 };
448 
449 /**
450  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_2300
451  * @tc.name      : timer operation for running
452  * @tc.desc      : [C- SOFTWARE -0200]
453  */
454 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerIsRunning001, Function | MediumTest | Level1)
455 {
456     UINT32 uwRet;
457     osTimerId_t id;
458     UINT32 value=0xffff;
459     id = osTimerNew ((osTimerFunc_t)CmsisTimerFunc001, osTimerOnce, &value, NULL);
460     TEST_ASSERT_NOT_NULL(id);
461 
462     uwRet = osTimerIsRunning(id);
463     TEST_ASSERT_EQUAL_INT(0, uwRet);
464     (void)osTimerDelete(id);
465 };
466 
467 /**
468  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_2400
469  * @tc.name      : timer operation for running after osTimerStart
470  * @tc.desc      : [C- SOFTWARE -0200]
471  */
472 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerIsRunning002, Function | MediumTest | Level1)
473 {
474     UINT32 uwRet;
475     osTimerId_t id;
476     UINT32 value=0xffff;
477     UINT32 millisec = MILLISEC_NUM_INT10;
478     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerOnce, &value, NULL);
479     TEST_ASSERT_NOT_NULL(id);
480 
481     osTimerStart(id, millisec);
482     uwRet = osTimerIsRunning(id);
483     TEST_ASSERT_EQUAL_INT(1, uwRet);
484     (void)osTimerDelete(id);
485 };
486 
487 /**
488  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_2500
489  * @tc.name      : timer operation for running after osTimerStart and osTimerStop
490  * @tc.desc      : [C- SOFTWARE -0200]
491  */
492 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerIsRunning003, Function | MediumTest | Level1)
493 {
494     UINT32 uwRet;
495     osTimerId_t id;
496     UINT32 value=0xffff;
497     UINT32 millisec = MILLISEC_NUM_INT10;
498     id = osTimerNew ((osTimerFunc_t)CmsisTimerFunc001, osTimerOnce, &value, NULL);
499     TEST_ASSERT_NOT_NULL(id);
500 
501     osTimerStart(id, millisec);
502     osTimerStop(id);
503 
504     uwRet = osTimerIsRunning(id);
505     TEST_ASSERT_EQUAL_INT(0, uwRet);
506     (void)osTimerDelete(id);
507 };
508 
509 /**
510  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_2600
511  * @tc.name      : timer operation for running after osTimerStart and osTimerDelete
512  * @tc.desc      : [C- SOFTWARE -0200]
513  */
514 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerIsRunning004, Function | MediumTest | Level1)
515 {
516     UINT32 uwRet;
517     osTimerId_t id;
518     UINT32 value=0xffff;
519     UINT32 millisec = MILLISEC_NUM_INT10;
520     id = osTimerNew ((osTimerFunc_t)CmsisTimerFunc001, osTimerOnce, &value, NULL);
521     TEST_ASSERT_NOT_NULL(id);
522 
523     osTimerStart(id, millisec);
524     osTimerDelete(id);
525     uwRet = osTimerIsRunning(id);
526     TEST_ASSERT_EQUAL_INT(0, uwRet);
527 };
528 
529 /**
530  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_2700
531  * @tc.name      : timer operation for running with parameter osTimerPeriodic
532  * @tc.desc      : [C- SOFTWARE -0200]
533  */
534 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerIsRunning005, Function | MediumTest | Level1)
535 {
536     UINT32 uwRet;
537     osTimerId_t id;
538     UINT32 value=0xffff;
539     id = osTimerNew ((osTimerFunc_t)CmsisTimerFunc001, osTimerPeriodic, &value, NULL);
540     TEST_ASSERT_NOT_NULL(id);
541 
542     uwRet = osTimerIsRunning(id);
543     TEST_ASSERT_EQUAL_INT(0, uwRet);
544     (void)osTimerDelete(id);
545 };
546 
547 /**
548  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_2800
549  * @tc.name      : timer operation for running after osTimerStart with parameter osTimerPeriodic
550  * @tc.desc      : [C- SOFTWARE -0200]
551  */
552 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerIsRunning006, Function | MediumTest | Level1)
553 {
554     UINT32 uwRet;
555     osTimerId_t id;
556     UINT32 value=0xffff;
557     UINT32 millisec = MILLISEC_NUM_INT10;
558     id = osTimerNew((osTimerFunc_t)CmsisTimerFunc001, osTimerPeriodic, &value, NULL);
559     TEST_ASSERT_NOT_NULL(id);
560 
561     osTimerStart(id, millisec);
562     uwRet = osTimerIsRunning(id);
563     TEST_ASSERT_EQUAL_INT(1, uwRet);
564     (void)osTimerDelete(id);
565 };
566 
567 /**
568  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_2900
569  * @tc.name      : timer operation for running after osTimerStart and osTimerStop with parameter osTimerPeriodic
570  * @tc.desc      : [C- SOFTWARE -0200]
571  */
572 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerIsRunning007, Function | MediumTest | Level1)
573 {
574     UINT32 uwRet;
575     osTimerId_t id;
576     UINT32 value=0xffff;
577     UINT32 millisec = MILLISEC_NUM_INT10;
578     id = osTimerNew ((osTimerFunc_t)CmsisTimerFunc001, osTimerPeriodic, &value, NULL);
579     TEST_ASSERT_NOT_NULL(id);
580 
581     osTimerStart(id, millisec);
582     osTimerStop(id);
583 
584     uwRet = osTimerIsRunning(id);
585     TEST_ASSERT_EQUAL_INT(0, uwRet);
586     (void)osTimerDelete(id);
587 };
588 
589 /**
590  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_3000
591  * @tc.name      : timer operation for running after osTimerStart and osTimerDelete with parameter osTimerPeriodic
592  * @tc.desc      : [C- SOFTWARE -0200]
593  */
594 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerIsRunning008, Function | MediumTest | Level1)
595 {
596     UINT32 uwRet;
597     osTimerId_t id;
598     UINT32 value=0xffff;
599     UINT32 millisec = MILLISEC_NUM_INT10;
600     id = osTimerNew ((osTimerFunc_t)CmsisTimerFunc001, osTimerPeriodic, &value, NULL);
601     TEST_ASSERT_NOT_NULL(id);
602 
603     osTimerStart(id, millisec);
604     osTimerDelete(id);
605     uwRet = osTimerIsRunning(id);
606     TEST_ASSERT_EQUAL_INT(0, uwRet);
607 };
608 
609 /**
610  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_3100
611  * @tc.name      : timer running inquiry with timer_id = NULL
612  * @tc.desc      : [C- SOFTWARE -0200]
613  */
614 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsTimerIsRunning009, Function | MediumTest | Level1)
615 {
616     UINT32 uwRet;
617     uwRet = osTimerIsRunning(NULL);
618     TEST_ASSERT_EQUAL_INT(0, uwRet);
619 };
620 
621 /**
622  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_3200
623  * @tc.name      : os operation for get tick freq
624  * @tc.desc      : [C- SOFTWARE -0200]
625  */
626 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsKernelGetTickFreq001, Function | MediumTest | Level1)
627 {
628     UINT32 uwRet;
629     uwRet = osKernelGetTickFreq();
630     TEST_ASSERT_EQUAL_INT(LOSCFG_BASE_CORE_TICK_PER_SECOND, uwRet);
631 };
632 
633 /**
634  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_3300
635  * @tc.name      : os operation for get sys time freq
636  * @tc.desc      : [C- SOFTWARE -0200]
637  */
638 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsKernelGetSysTimerFreq001, Function | MediumTest | Level1)
639 {
640     UINT32 uwRet;
641     uwRet = osKernelGetSysTimerFreq();
642     TEST_ASSERT_EQUAL_INT(OS_SYS_CLOCK, uwRet);
643 };
644 
645 /**
646  * @tc.number    : SUB_KERNEL_CMSIS_TIMER_OPERATION_3400
647  * @tc.name      : os operation for get sys time count
648  * @tc.desc      : [C- SOFTWARE -0200]
649  */
650 LITE_TEST_CASE(CmsisTimerFuncTestSuite, testOsKernelGetSysTimerCount001, Function | MediumTest | Level1)
651 {
652     UINT32 uwRet;
653     uwRet = osKernelGetSysTimerCount();
654     TEST_ASSERT_GREATER_THAN_UINT32(0, uwRet);
655 };
656 
657 RUN_TEST_SUITE(CmsisTimerFuncTestSuite);
658