Skip to content

Commit bf58bdd

Browse files
committed
Rust: Update CFG tests
1 parent 431b33a commit bf58bdd

File tree

2 files changed

+38
-18
lines changed

2 files changed

+38
-18
lines changed

rust/ql/test/library-tests/controlflow/Cfg.expected

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -62,37 +62,37 @@
6262
| test.rs:23:16:23:19 | true | test.rs:23:9:23:19 | ReturnExpr | |
6363
| test.rs:26:5:38:5 | enter test_break_with_labels | test.rs:27:9:36:9 | ExprStmt | |
6464
| test.rs:26:5:38:5 | exit test_break_with_labels (normal) | test.rs:26:5:38:5 | exit test_break_with_labels | |
65-
| test.rs:26:41:38:5 | BlockExpr | test.rs:26:5:38:5 | exit test_break_with_labels (normal) | |
65+
| test.rs:26:47:38:5 | BlockExpr | test.rs:26:5:38:5 | exit test_break_with_labels (normal) | |
6666
| test.rs:27:9:36:9 | ExprStmt | test.rs:29:17:33:17 | ExprStmt | |
6767
| test.rs:27:9:36:9 | LoopExpr | test.rs:37:9:37:12 | true | |
6868
| test.rs:27:22:36:9 | BlockExpr | test.rs:29:17:33:17 | ExprStmt | |
6969
| test.rs:28:13:35:13 | LoopExpr | test.rs:27:22:36:9 | BlockExpr | |
70-
| test.rs:29:17:33:17 | ExprStmt | test.rs:29:20:29:24 | false | |
70+
| test.rs:29:17:33:17 | ExprStmt | test.rs:29:20:29:20 | PathExpr | |
7171
| test.rs:29:17:33:17 | IfExpr | test.rs:34:17:34:29 | ExprStmt | |
72-
| test.rs:29:20:29:24 | false | test.rs:30:21:30:26 | ExprStmt | true |
73-
| test.rs:29:20:29:24 | false | test.rs:31:27:31:30 | true | false |
72+
| test.rs:29:20:29:20 | PathExpr | test.rs:30:21:30:26 | ExprStmt | true |
73+
| test.rs:29:20:29:20 | PathExpr | test.rs:31:27:31:27 | PathExpr | false |
7474
| test.rs:30:21:30:25 | BreakExpr | test.rs:28:13:35:13 | LoopExpr | break |
7575
| test.rs:30:21:30:26 | ExprStmt | test.rs:30:21:30:25 | BreakExpr | |
7676
| test.rs:31:24:33:17 | IfExpr | test.rs:29:17:33:17 | IfExpr | |
77-
| test.rs:31:27:31:30 | true | test.rs:31:24:33:17 | IfExpr | false |
78-
| test.rs:31:27:31:30 | true | test.rs:32:21:32:33 | ExprStmt | true |
77+
| test.rs:31:27:31:27 | PathExpr | test.rs:31:24:33:17 | IfExpr | false |
78+
| test.rs:31:27:31:27 | PathExpr | test.rs:32:21:32:33 | ExprStmt | true |
7979
| test.rs:32:21:32:32 | BreakExpr | test.rs:27:9:36:9 | LoopExpr | break('outer) |
8080
| test.rs:32:21:32:33 | ExprStmt | test.rs:32:21:32:32 | BreakExpr | |
8181
| test.rs:34:17:34:28 | BreakExpr | test.rs:28:13:35:13 | LoopExpr | break('inner) |
8282
| test.rs:34:17:34:29 | ExprStmt | test.rs:34:17:34:28 | BreakExpr | |
83-
| test.rs:37:9:37:12 | true | test.rs:26:41:38:5 | BlockExpr | |
83+
| test.rs:37:9:37:12 | true | test.rs:26:47:38:5 | BlockExpr | |
8484
| test.rs:40:5:52:5 | enter test_continue_with_labels | test.rs:42:13:42:14 | ExprStmt | |
8585
| test.rs:42:13:42:13 | 1 | test.rs:44:17:48:17 | ExprStmt | |
8686
| test.rs:42:13:42:14 | ExprStmt | test.rs:42:13:42:13 | 1 | |
87-
| test.rs:44:17:48:17 | ExprStmt | test.rs:44:20:44:24 | false | |
87+
| test.rs:44:17:48:17 | ExprStmt | test.rs:44:20:44:20 | PathExpr | |
8888
| test.rs:44:17:48:17 | IfExpr | test.rs:49:17:49:32 | ExprStmt | |
89-
| test.rs:44:20:44:24 | false | test.rs:45:21:45:29 | ExprStmt | true |
90-
| test.rs:44:20:44:24 | false | test.rs:46:27:46:30 | true | false |
89+
| test.rs:44:20:44:20 | PathExpr | test.rs:45:21:45:29 | ExprStmt | true |
90+
| test.rs:44:20:44:20 | PathExpr | test.rs:46:27:46:27 | PathExpr | false |
9191
| test.rs:45:21:45:28 | ContinueExpr | test.rs:44:17:48:17 | ExprStmt | continue |
9292
| test.rs:45:21:45:29 | ExprStmt | test.rs:45:21:45:28 | ContinueExpr | |
9393
| test.rs:46:24:48:17 | IfExpr | test.rs:44:17:48:17 | IfExpr | |
94-
| test.rs:46:27:46:30 | true | test.rs:46:24:48:17 | IfExpr | false |
95-
| test.rs:46:27:46:30 | true | test.rs:47:21:47:36 | ExprStmt | true |
94+
| test.rs:46:27:46:27 | PathExpr | test.rs:46:24:48:17 | IfExpr | false |
95+
| test.rs:46:27:46:27 | PathExpr | test.rs:47:21:47:36 | ExprStmt | true |
9696
| test.rs:47:21:47:35 | ContinueExpr | test.rs:42:13:42:14 | ExprStmt | continue('outer) |
9797
| test.rs:47:21:47:36 | ExprStmt | test.rs:47:21:47:35 | ContinueExpr | |
9898
| test.rs:49:17:49:31 | ContinueExpr | test.rs:44:17:48:17 | ExprStmt | continue('inner) |
@@ -259,3 +259,16 @@
259259
| test.rs:139:23:139:23 | PathExpr | test.rs:139:13:139:19 | TupleStructPat | |
260260
| test.rs:140:13:140:27 | "Expected some" | test.rs:139:30:141:9 | BlockExpr | |
261261
| test.rs:142:9:142:9 | PathExpr | test.rs:138:39:143:5 | BlockExpr | |
262+
| test.rs:146:1:151:1 | enter dead_code | test.rs:147:5:149:5 | ExprStmt | |
263+
| test.rs:146:1:151:1 | exit dead_code (normal) | test.rs:146:1:151:1 | exit dead_code | |
264+
| test.rs:147:5:149:5 | ExprStmt | test.rs:147:9:147:12 | true | |
265+
| test.rs:147:5:149:5 | IfExpr | test.rs:150:5:150:13 | ExprStmt | |
266+
| test.rs:147:8:147:13 | ParenExpr | test.rs:147:5:149:5 | IfExpr | false |
267+
| test.rs:147:8:147:13 | ParenExpr | test.rs:148:9:148:17 | ExprStmt | true |
268+
| test.rs:147:9:147:12 | true | test.rs:147:8:147:13 | ParenExpr | |
269+
| test.rs:148:9:148:16 | ReturnExpr | test.rs:146:1:151:1 | exit dead_code (normal) | return |
270+
| test.rs:148:9:148:17 | ExprStmt | test.rs:148:16:148:16 | 0 | |
271+
| test.rs:148:16:148:16 | 0 | test.rs:148:9:148:16 | ReturnExpr | |
272+
| test.rs:150:5:150:12 | ReturnExpr | test.rs:146:1:151:1 | exit dead_code (normal) | return |
273+
| test.rs:150:5:150:13 | ExprStmt | test.rs:150:12:150:12 | 1 | |
274+
| test.rs:150:12:150:12 | 1 | test.rs:150:5:150:12 | ReturnExpr | |

rust/ql/test/library-tests/controlflow/test.rs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ mod loop_expression {
2323
return true;
2424
}
2525

26-
fn test_break_with_labels() -> bool {
26+
fn test_break_with_labels(bool b) -> bool {
2727
'outer: loop {
2828
'inner: loop {
29-
if false {
29+
if b {
3030
break;
31-
} else if true {
31+
} else if b {
3232
break 'outer;
3333
}
3434
break 'inner;
@@ -37,13 +37,13 @@ mod loop_expression {
3737
true
3838
}
3939

40-
fn test_continue_with_labels() -> ! {
40+
fn test_continue_with_labels(bool b) -> ! {
4141
'outer: loop {
4242
1;
4343
'inner: loop {
44-
if false {
44+
if b {
4545
continue;
46-
} else if true {
46+
} else if b {
4747
continue 'outer;
4848
}
4949
continue 'inner;
@@ -142,3 +142,10 @@ mod divergence {
142142
n
143143
}
144144
}
145+
146+
fn dead_code() -> i64 {
147+
if (true) {
148+
return 0;
149+
}
150+
return 1;
151+
}

0 commit comments

Comments
 (0)