Skip to content

Commit 5a4af0c

Browse files
committed
C#: Update test case for LockOrder.
1 parent aab30ad commit 5a4af0c

2 files changed

Lines changed: 11 additions & 13 deletions

File tree

csharp/ql/test/query-tests/Concurrency/LockOrder/LockOrder.cs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,29 @@
22

33
class LocalTest
44
{
5+
// BAD: b is flagged.
56
Object a, b, c;
67

78
void F()
89
{
9-
// BAD: Flagged in G().
1010
lock (a) lock (b) lock(c) { }
1111
}
1212

1313
void G()
1414
{
15-
// BAD: Inconsistent with F().
1615
lock (a) lock (c) lock(b) { }
1716
}
1817

1918
void H()
2019
{
21-
// GOOD: Consistent with F() and G().
2220
lock (a) lock(c) { }
2321
}
2422
}
2523

2624
class GlobalTest
2725
{
28-
Object a, b, c;
26+
// BAD: b is flagged.
27+
static Object a, b, c;
2928

3029
void F()
3130
{
@@ -40,25 +39,24 @@ void G()
4039

4140
void H()
4241
{
43-
// BAD: Inconsistent with I().
4442
lock (c) { }
4543
}
4644

4745
void I()
4846
{
49-
// BAD: Flagged in H().
5047
lock (b) { }
5148
}
5249
}
5350

5451
class LambdaTest
5552
{
56-
Object a, b;
53+
// BAD: a is flagged.
54+
static Object a, b;
5755

5856
void F()
5957
{
60-
Action lock_a = () => { lock(a) { } }; // BAD: Inconsistent with lock_b.
61-
Action lock_b = () => { lock(b) { } }; // BAD: Flagged in lock_a.
58+
Action lock_a = () => { lock(a) { } };
59+
Action lock_b = () => { lock(b) { } };
6260

6361
lock(a) lock_b();
6462
lock(b) lock_a();
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
| LockOrder.cs:16:27:16:37 | lock (...) {...} | Inconsistent lock sequence. The locks b and c are locked in a different sequence $@. | LockOrder.cs:10:27:10:37 | lock (...) {...} | here |
2-
| LockOrder.cs:50:9:50:20 | lock (...) {...} | Inconsistent lock sequence. The locks b and c are locked in a different sequence $@. | LockOrder.cs:44:9:44:20 | lock (...) {...} | here |
3-
| LockOrder.cs:60:31:60:41 | lock (...) {...} | Inconsistent lock sequence. The locks a and b are locked in a different sequence $@. | LockOrder.cs:61:31:61:41 | lock (...) {...} | here |
4-
| LockOrderBad.cs:29:13:31:13 | lock (...) {...} | Inconsistent lock sequence. The locks lock1 and lock2 are locked in a different sequence $@. | LockOrderBad.cs:16:13:18:13 | lock (...) {...} | here |
1+
| LockOrder.cs:6:15:6:15 | b | Inconsistent lock sequence with $@. Lock sequences $@, $@ and $@, $@ found. | LockOrder.cs:6:18:6:18 | c | c | LockOrder.cs:10:18:10:37 | lock (...) {...} | b | LockOrder.cs:10:27:10:37 | lock (...) {...} | c | LockOrder.cs:15:18:15:37 | lock (...) {...} | c | LockOrder.cs:15:27:15:37 | lock (...) {...} | b |
2+
| LockOrder.cs:27:22:27:22 | b | Inconsistent lock sequence with $@. Lock sequences $@, $@ and $@, $@ found. | LockOrder.cs:27:25:27:25 | c | c | LockOrder.cs:36:8:36:20 | lock (...) {...} | b | LockOrder.cs:42:9:42:20 | lock (...) {...} | c | LockOrder.cs:37:8:37:20 | lock (...) {...} | c | LockOrder.cs:47:9:47:20 | lock (...) {...} | b |
3+
| LockOrder.cs:54:19:54:19 | a | Inconsistent lock sequence with $@. Lock sequences $@, $@ and $@, $@ found. | LockOrder.cs:54:22:54:22 | b | b | LockOrder.cs:61:9:61:25 | lock (...) {...} | a | LockOrder.cs:59:33:59:43 | lock (...) {...} | b | LockOrder.cs:62:9:62:25 | lock (...) {...} | b | LockOrder.cs:58:33:58:43 | lock (...) {...} | a |
4+
| LockOrderBad.cs:6:29:6:33 | lock1 | Inconsistent lock sequence with $@. Lock sequences $@, $@ and $@, $@ found. | LockOrderBad.cs:7:29:7:33 | lock2 | lock2 | LockOrderBad.cs:11:9:19:9 | lock (...) {...} | lock1 | LockOrderBad.cs:16:13:18:13 | lock (...) {...} | lock2 | LockOrderBad.cs:24:9:32:9 | lock (...) {...} | lock2 | LockOrderBad.cs:29:13:31:13 | lock (...) {...} | lock1 |

0 commit comments

Comments
 (0)