Blame view

RIOT/tests/rmutex/README.md 3.24 KB
a752c7ab   elopes   add first test an...
1
2
3
4
5
6
7
8
9
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
  Expected result
  ===============
  
  When successful, you should see 5 different threads printing their
  PID, priority and recursion depth. The thread with the lowest priority
  should be able to lock (and unlock) the mutex first, followed by the
  other threads in the order of their priority (highest next). If two
  threads have the same priority the lower thread id should acquire the
  lock. The output should look like the following:
  
  ```
  main(): This is RIOT! (Version: xxx)
  Recursive Mutex test
  Please refer to the README.md for more information
  
  Recursive Mutex test
  Please refer to the README.md for more information
  
  T3 (prio 6, depth 0): trying to lock rmutex now
  T4 (prio 4, depth 0): trying to lock rmutex now
  T5 (prio 5, depth 0): trying to lock rmutex now
  T6 (prio 2, depth 0): trying to lock rmutex now
  T7 (prio 3, depth 0): trying to lock rmutex now
  main: unlocking recursive mutex
  T6 (prio 2, depth 0): locked rmutex now
  T6 (prio 2, depth 1): trying to lock rmutex now
  T6 (prio 2, depth 1): locked rmutex now
  T6 (prio 2, depth 2): trying to lock rmutex now
  T6 (prio 2, depth 2): locked rmutex now
  T6 (prio 2, depth 3): trying to lock rmutex now
  T6 (prio 2, depth 3): locked rmutex now
  T6 (prio 2, depth 3): unlocked rmutex
  T6 (prio 2, depth 2): unlocked rmutex
  T6 (prio 2, depth 1): unlocked rmutex
  T6 (prio 2, depth 0): unlocked rmutex
  T7 (prio 3, depth 0): locked rmutex now
  T7 (prio 3, depth 1): trying to lock rmutex now
  T7 (prio 3, depth 1): locked rmutex now
  T7 (prio 3, depth 2): trying to lock rmutex now
  T7 (prio 3, depth 2): locked rmutex now
  T7 (prio 3, depth 3): trying to lock rmutex now
  T7 (prio 3, depth 3): locked rmutex now
  T7 (prio 3, depth 4): trying to lock rmutex now
  T7 (prio 3, depth 4): locked rmutex now
  T7 (prio 3, depth 4): unlocked rmutex
  T7 (prio 3, depth 3): unlocked rmutex
  T7 (prio 3, depth 2): unlocked rmutex
  T7 (prio 3, depth 1): unlocked rmutex
  T7 (prio 3, depth 0): unlocked rmutex
  T4 (prio 4, depth 0): locked rmutex now
  T4 (prio 4, depth 1): trying to lock rmutex now
  T4 (prio 4, depth 1): locked rmutex now
  T4 (prio 4, depth 2): trying to lock rmutex now
  T4 (prio 4, depth 2): locked rmutex now
  T4 (prio 4, depth 2): unlocked rmutex
  T4 (prio 4, depth 1): unlocked rmutex
  T4 (prio 4, depth 0): unlocked rmutex
  T5 (prio 5, depth 0): locked rmutex now
  T5 (prio 5, depth 1): trying to lock rmutex now
  T5 (prio 5, depth 1): locked rmutex now
  T5 (prio 5, depth 2): trying to lock rmutex now
  T5 (prio 5, depth 2): locked rmutex now
  T5 (prio 5, depth 2): unlocked rmutex
  T5 (prio 5, depth 1): unlocked rmutex
  T5 (prio 5, depth 0): unlocked rmutex
  T3 (prio 6, depth 0): locked rmutex now
  T3 (prio 6, depth 1): trying to lock rmutex now
  T3 (prio 6, depth 1): locked rmutex now
  T3 (prio 6, depth 2): trying to lock rmutex now
  T3 (prio 6, depth 2): locked rmutex now
  T3 (prio 6, depth 3): trying to lock rmutex now
  T3 (prio 6, depth 3): locked rmutex now
  T3 (prio 6, depth 4): trying to lock rmutex now
  T3 (prio 6, depth 4): locked rmutex now
  T3 (prio 6, depth 4): unlocked rmutex
  T3 (prio 6, depth 3): unlocked rmutex
  T3 (prio 6, depth 2): unlocked rmutex
  T3 (prio 6, depth 1): unlocked rmutex
  T3 (prio 6, depth 0): unlocked rmutex
  
  Test END, check the order of priorities above.
  ```
  
  Background
  ==========
  This test application stresses a mutex with a number of threads waiting on it.