From 5de76afcfda5d167ece05cf020dc77c5e3ea4a3c Mon Sep 17 00:00:00 2001 From: Loïc Damien Date: Mon, 4 Jul 2016 02:43:33 +0200 Subject: Use lazy iterator in vec/slice gdb pretty printers --- src/test/debuginfo/pretty-huge-vec.rs | 41 ++++++++++++++++++++++++++ src/test/debuginfo/pretty-uninitialized-vec.rs | 36 ++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 src/test/debuginfo/pretty-huge-vec.rs create mode 100644 src/test/debuginfo/pretty-uninitialized-vec.rs (limited to 'src/test/debuginfo') diff --git a/src/test/debuginfo/pretty-huge-vec.rs b/src/test/debuginfo/pretty-huge-vec.rs new file mode 100644 index 00000000000..bb538523523 --- /dev/null +++ b/src/test/debuginfo/pretty-huge-vec.rs @@ -0,0 +1,41 @@ +// Copyright 2013-2016 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// ignore-windows failing on win32 bot +// ignore-freebsd: gdb package too new +// ignore-android: FIXME(#10381) +// compile-flags:-g +// min-gdb-version 7.7 +// min-lldb-version: 310 + +// === GDB TESTS =================================================================================== + +// gdb-command: run + +// gdb-command: print vec +// gdb-check:$1 = Vec(len: 1000000000, cap: 1000000000) = {[...]...} + +// gdb-command: print slice +// gdb-check:$2 = &[u8](len: 1000000000) = {[...]...} + + +#![allow(unused_variables)] + +fn main() { + + // Vec + let mut vec: Vec = Vec::with_capacity(1_000_000_000); + unsafe{ vec.set_len(1_000_000_000) } + let slice = &vec[..]; + + zzz(); // #break +} + +fn zzz() { () } diff --git a/src/test/debuginfo/pretty-uninitialized-vec.rs b/src/test/debuginfo/pretty-uninitialized-vec.rs new file mode 100644 index 00000000000..75169658fe6 --- /dev/null +++ b/src/test/debuginfo/pretty-uninitialized-vec.rs @@ -0,0 +1,36 @@ +// Copyright 2013-2016 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// ignore-windows failing on win32 bot +// ignore-freebsd: gdb package too new +// ignore-android: FIXME(#10381) +// compile-flags:-g +// min-gdb-version 7.7 +// min-lldb-version: 310 + +// === GDB TESTS =================================================================================== + +// gdb-command: run + +// gdb-command: print vec +// gdb-check:$1 = Vec(len: [...], cap: [...])[...] + + +#![allow(unused_variables)] + +fn main() { + + let vec; + zzz(); // #break + vec = vec![0]; + +} + +fn zzz() { () } -- cgit 1.4.1-3-g733a5