diff options
| author | bors <bors@rust-lang.org> | 2023-01-11 11:17:22 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-01-11 11:17:22 +0000 |
| commit | b22c152958eade17a71d899b29a2d39bcc77aa48 (patch) | |
| tree | ec6da75dc598a0a4086c0cc032c86d7241be1bc1 /tests/debuginfo/lexical-scope-in-unconditional-loop.rs | |
| parent | 8ecaad85f61375b18e1667b51a3ef350121d2ca0 (diff) | |
| parent | 40ba0e84d53f605ccf01836e9c2d27892728ae81 (diff) | |
| download | rust-b22c152958eade17a71d899b29a2d39bcc77aa48.tar.gz rust-b22c152958eade17a71d899b29a2d39bcc77aa48.zip | |
Auto merge of #106458 - albertlarsan68:move-tests, r=jyn514
Move src/test to the root
See MCP at rust-lang/compiler-team#573
There may be more changes needed.
The first commit is just the move of the files:
You can check that the first commit did not do anything else than renames by running
```
git diff --diff-filter=r -M100% <rust-lang remote>/master <first commit hash>
```
The output should be empty, because the filter excludes renames, and the match threshold for qualifying a rename is 100%.
The second one is mostly a "find and replace" of `src/test` to `tests` and whatever is needed to make CI pass.
What is left to do:
---
- [x] Move directory
- [ ] Change references to `src/test`
- [x] Change references in-tree
- [ ] Change references in submodules / out-of-tree docs
- [x] Make CI pass:
- [x] Fix tidy
- [x] Fix tests
- [x] Bless tests if needed (shouldn't normally)
- [ ] Merge it !
Diffstat (limited to 'tests/debuginfo/lexical-scope-in-unconditional-loop.rs')
| -rw-r--r-- | tests/debuginfo/lexical-scope-in-unconditional-loop.rs | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/tests/debuginfo/lexical-scope-in-unconditional-loop.rs b/tests/debuginfo/lexical-scope-in-unconditional-loop.rs new file mode 100644 index 00000000000..6b6af20639e --- /dev/null +++ b/tests/debuginfo/lexical-scope-in-unconditional-loop.rs @@ -0,0 +1,182 @@ +// min-lldb-version: 310 + +// compile-flags:-g + +// === GDB TESTS =================================================================================== + +// gdb-command:run + +// FIRST ITERATION +// gdb-command:print x +// gdb-check:$1 = 0 +// gdb-command:continue + +// gdb-command:print x +// gdb-check:$2 = 1 +// gdb-command:continue + +// gdb-command:print x +// gdb-check:$3 = 101 +// gdb-command:continue + +// gdb-command:print x +// gdb-check:$4 = 101 +// gdb-command:continue + +// gdb-command:print x +// gdb-check:$5 = -987 +// gdb-command:continue + +// gdb-command:print x +// gdb-check:$6 = 101 +// gdb-command:continue + + +// SECOND ITERATION +// gdb-command:print x +// gdb-check:$7 = 1 +// gdb-command:continue + +// gdb-command:print x +// gdb-check:$8 = 2 +// gdb-command:continue + +// gdb-command:print x +// gdb-check:$9 = 102 +// gdb-command:continue + +// gdb-command:print x +// gdb-check:$10 = 102 +// gdb-command:continue + +// gdb-command:print x +// gdb-check:$11 = -987 +// gdb-command:continue + +// gdb-command:print x +// gdb-check:$12 = 102 +// gdb-command:continue + +// gdb-command:print x +// gdb-check:$13 = 2 +// gdb-command:continue + + +// === LLDB TESTS ================================================================================== + +// lldb-command:run + +// FIRST ITERATION +// lldb-command:print x +// lldbg-check:[...]$0 = 0 +// lldbr-check:(i32) x = 0 +// lldb-command:continue + +// lldb-command:print x +// lldbg-check:[...]$1 = 1 +// lldbr-check:(i32) x = 1 +// lldb-command:continue + +// lldb-command:print x +// lldbg-check:[...]$2 = 101 +// lldbr-check:(i32) x = 101 +// lldb-command:continue + +// lldb-command:print x +// lldbg-check:[...]$3 = 101 +// lldbr-check:(i32) x = 101 +// lldb-command:continue + +// lldb-command:print x +// lldbg-check:[...]$4 = -987 +// lldbr-check:(i32) x = -987 +// lldb-command:continue + +// lldb-command:print x +// lldbg-check:[...]$5 = 101 +// lldbr-check:(i32) x = 101 +// lldb-command:continue + + +// SECOND ITERATION +// lldb-command:print x +// lldbg-check:[...]$6 = 1 +// lldbr-check:(i32) x = 1 +// lldb-command:continue + +// lldb-command:print x +// lldbg-check:[...]$7 = 2 +// lldbr-check:(i32) x = 2 +// lldb-command:continue + +// lldb-command:print x +// lldbg-check:[...]$8 = 102 +// lldbr-check:(i32) x = 102 +// lldb-command:continue + +// lldb-command:print x +// lldbg-check:[...]$9 = 102 +// lldbr-check:(i32) x = 102 +// lldb-command:continue + +// lldb-command:print x +// lldbg-check:[...]$10 = -987 +// lldbr-check:(i32) x = -987 +// lldb-command:continue + +// lldb-command:print x +// lldbg-check:[...]$11 = 102 +// lldbr-check:(i32) x = 102 +// lldb-command:continue + +// lldb-command:print x +// lldbg-check:[...]$12 = 2 +// lldbr-check:(i32) x = 2 +// lldb-command:continue + +#![feature(omit_gdb_pretty_printer_section)] +#![omit_gdb_pretty_printer_section] + +fn main() { + + let mut x = 0; + + loop { + if x >= 2 { + break; + } + + zzz(); // #break + sentinel(); + + x += 1; + zzz(); // #break + sentinel(); + + // Shadow x + let x = x + 100; + zzz(); // #break + sentinel(); + + // open scope within loop's top level scope + { + zzz(); // #break + sentinel(); + + let x = -987; + + zzz(); // #break + sentinel(); + } + + // Check that we get the x before the inner scope again + zzz(); // #break + sentinel(); + } + + zzz(); // #break + sentinel(); +} + +fn zzz() {()} +fn sentinel() {()} |
