about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-05-30 17:39:45 +0000
committerbors <bors@rust-lang.org>2021-05-30 17:39:45 +0000
commit758c00ea4088e1ca2714890f00c791c24f001536 (patch)
tree3dc3ae07477da729258bac33d960e11d79110019 /src/test
parent59579907ab52ad2369735622185a26f158bf0f0f (diff)
parentb14b7c6085a7bc4cbf6614ebe98a62847884e5a5 (diff)
downloadrust-758c00ea4088e1ca2714890f00c791c24f001536.tar.gz
rust-758c00ea4088e1ca2714890f00c791c24f001536.zip
Auto merge of #85362 - jsgf:fix-emit-metadata, r=estebank
Use command line metadata path if provided

If the command-line has `--emit metadata=some/path/libfoo.rmeta` then
use that.

Closes #85356

I couldn't find any existing tests for the `--emit TYPE=PATH` command line syntax, so I wasn't sure how to test this aside from ad-hoc manual testing. Is there a ui test type for "generated output file with expected name"?
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-make/emit-named-files/Makefile33
-rw-r--r--src/test/run-make/emit-named-files/foo.rs1
2 files changed, 34 insertions, 0 deletions
diff --git a/src/test/run-make/emit-named-files/Makefile b/src/test/run-make/emit-named-files/Makefile
new file mode 100644
index 00000000000..03eb83b97e3
--- /dev/null
+++ b/src/test/run-make/emit-named-files/Makefile
@@ -0,0 +1,33 @@
+-include ../../run-make-fulldeps/tools.mk
+
+OUT=$(TMPDIR)/emit
+
+all: asm llvm-bc llvm-ir obj metadata link dep-info mir
+
+asm: $(OUT)
+	$(RUSTC) --emit asm=$(OUT)/libfoo.s foo.rs
+	test -f $(OUT)/libfoo.s
+llvm-bc: $(OUT)
+	$(RUSTC) --emit llvm-bc=$(OUT)/libfoo.bc foo.rs
+	test -f $(OUT)/libfoo.bc
+llvm-ir: $(OUT)
+	$(RUSTC) --emit llvm-ir=$(OUT)/libfoo.ll foo.rs
+	test -f $(OUT)/libfoo.ll
+obj: $(OUT)
+	$(RUSTC) --emit obj=$(OUT)/libfoo.o foo.rs
+	test -f $(OUT)/libfoo.o
+metadata: $(OUT)
+	$(RUSTC) --emit metadata=$(OUT)/libfoo.rmeta foo.rs
+	test -f $(OUT)/libfoo.rmeta
+link: $(OUT)
+	$(RUSTC) --emit link=$(OUT)/libfoo.rlib foo.rs
+	test -f $(OUT)/libfoo.rlib
+dep-info: $(OUT)
+	$(RUSTC) --emit dep-info=$(OUT)/libfoo.d foo.rs
+	test -f $(OUT)/libfoo.d
+mir: $(OUT)
+	$(RUSTC) --emit mir=$(OUT)/libfoo.mir foo.rs
+	test -f $(OUT)/libfoo.mir
+
+$(OUT):
+	mkdir -p $(OUT)
diff --git a/src/test/run-make/emit-named-files/foo.rs b/src/test/run-make/emit-named-files/foo.rs
new file mode 100644
index 00000000000..c1bfaa6cab5
--- /dev/null
+++ b/src/test/run-make/emit-named-files/foo.rs
@@ -0,0 +1 @@
+#![crate_type = "rlib"]