diff options
| author | Michael Woerister <michaelwoerister@posteo> | 2023-05-17 10:45:57 +0200 |
|---|---|---|
| committer | Michael Woerister <michaelwoerister@posteo> | 2023-05-17 11:39:11 +0200 |
| commit | cfca5b0b8772a807e5b12577b30198515d6264bc (patch) | |
| tree | eb6e4a6f51dac3365cc1330211f7dbb9b42871df | |
| parent | d6236685516420bbc70399fcfc74f3b7e46e8349 (diff) | |
| download | rust-cfca5b0b8772a807e5b12577b30198515d6264bc.tar.gz rust-cfca5b0b8772a807e5b12577b30198515d6264bc.zip | |
Add/improve tests for debugger_visualizer change detection.
6 files changed, 63 insertions, 5 deletions
diff --git a/tests/run-make/debugger-visualizer-dep-info/Makefile b/tests/run-make/debugger-visualizer-dep-info/Makefile index 0a2493144ea..0877998a74f 100644 --- a/tests/run-make/debugger-visualizer-dep-info/Makefile +++ b/tests/run-make/debugger-visualizer-dep-info/Makefile @@ -1,8 +1,9 @@ -# ignore-windows-gnu - include ../tools.mk +# This test makes sure that files referenced via #[debugger_visualizer] are +# included in `--emit dep-info` output. + all: $(RUSTC) --emit dep-info main.rs $(CGREP) "foo.py" < $(TMPDIR)/main.d - $(CGREP) "my_visualizers/bar.py" < $(TMPDIR)/main.d + $(CGREP) "my_visualizers/bar.natvis" < $(TMPDIR)/main.d diff --git a/tests/run-make/debugger-visualizer-dep-info/main.rs b/tests/run-make/debugger-visualizer-dep-info/main.rs index 6caf2afe9a5..3aede2215ea 100644 --- a/tests/run-make/debugger-visualizer-dep-info/main.rs +++ b/tests/run-make/debugger-visualizer-dep-info/main.rs @@ -3,7 +3,7 @@ fn main() { const _UNUSED: u32 = { mod inner { - #![debugger_visualizer(gdb_script_file = "my_visualizers/bar.py")] + #![debugger_visualizer(natvis_file = "my_visualizers/bar.natvis")] pub const XYZ: u32 = 123; } diff --git a/tests/run-make/debugger-visualizer-dep-info/my_visualizers/bar.natvis b/tests/run-make/debugger-visualizer-dep-info/my_visualizers/bar.natvis new file mode 100644 index 00000000000..c341a403902 --- /dev/null +++ b/tests/run-make/debugger-visualizer-dep-info/my_visualizers/bar.natvis @@ -0,0 +1 @@ +<!-- empty --> diff --git a/tests/run-make/debugger-visualizer-dep-info/my_visualizers/bar.py b/tests/run-make/debugger-visualizer-dep-info/my_visualizers/bar.py deleted file mode 100644 index 1bb8bf6d7fd..00000000000 --- a/tests/run-make/debugger-visualizer-dep-info/my_visualizers/bar.py +++ /dev/null @@ -1 +0,0 @@ -# empty diff --git a/tests/run-make/incremental-debugger-visualizer/Makefile b/tests/run-make/incremental-debugger-visualizer/Makefile new file mode 100644 index 00000000000..3084dde7e99 --- /dev/null +++ b/tests/run-make/incremental-debugger-visualizer/Makefile @@ -0,0 +1,51 @@ +include ../tools.mk + +# This test makes sure that changes to files referenced via #[debugger_visualizer] +# are picked up when compiling incrementally. + +# We have to copy the source to $(TMPDIR) because Github CI mounts the source +# directory as readonly. We need to apply modifications to some of the source +# file. +SRC_DIR := $(TMPDIR)/src + +INCR_CACHE_DIR := $(TMPDIR)/incremental + + +all: + rm -rf $(TMPDIR)/* + mkdir $(SRC_DIR) + cp -t $(SRC_DIR) ./foo.rs + echo "GDB script v1" > $(SRC_DIR)/foo.py + echo "Natvis v1" > $(SRC_DIR)/foo.natvis + $(RUSTC) $(SRC_DIR)/foo.rs \ + --crate-type=rlib \ + --emit metadata \ + -C incremental=$(INCR_CACHE_DIR) \ + -Z incremental-verify-ich + $(CGREP) "GDB script v1" < $(TMPDIR)/libfoo.rmeta + $(CGREP) "Natvis v1" < $(TMPDIR)/libfoo.rmeta + + # Change only the GDB script and check that the change has been picked up + echo "GDB script v2" > $(SRC_DIR)/foo.py + $(RUSTC) $(SRC_DIR)/foo.rs \ + --crate-type=rlib \ + --emit metadata \ + -C incremental=$(INCR_CACHE_DIR) \ + -Z incremental-verify-ich + + $(CGREP) "GDB script v2" < $(TMPDIR)/libfoo.rmeta + $(CGREP) -v "GDB script v1" < $(TMPDIR)/libfoo.rmeta + $(CGREP) "Natvis v1" < $(TMPDIR)/libfoo.rmeta + + # Now change the Natvis version and check that the change has been picked up + echo "Natvis v2" > $(SRC_DIR)/foo.natvis + $(RUSTC) $(SRC_DIR)/foo.rs \ + --crate-type=rlib \ + --emit metadata \ + -C incremental=$(INCR_CACHE_DIR) \ + -Z incremental-verify-ich + + $(CGREP) "GDB script v2" < $(TMPDIR)/libfoo.rmeta + $(CGREP) -v "GDB script v1" < $(TMPDIR)/libfoo.rmeta + $(CGREP) "Natvis v2" < $(TMPDIR)/libfoo.rmeta + $(CGREP) -v "Natvis v1" < $(TMPDIR)/libfoo.rmeta diff --git a/tests/run-make/incremental-debugger-visualizer/foo.rs b/tests/run-make/incremental-debugger-visualizer/foo.rs new file mode 100644 index 00000000000..8daa36a12d3 --- /dev/null +++ b/tests/run-make/incremental-debugger-visualizer/foo.rs @@ -0,0 +1,6 @@ +#![debugger_visualizer(natvis_file = "./foo.natvis")] +#![debugger_visualizer(gdb_script_file = "./foo.py")] + +pub struct Foo { + pub x: u32, +} |
