cargo/tests
bors 463e850146 Auto merge of #4570 - tatsuya6502:target-specific-artifacts, r=alexcrichton
Handle target specific outputs such as .wasm or .dll.lib

Fixes #4500, #4535

Until now, Cargo does not have any knowledge about target-specific output files. It relies solely on rustc for this sort of information (`rustc --print=file-names ...`).

As a result, Cargo does not place some build artifacts (files) to target/{debug,release} directory. These files include *.wasm for wasm32-unknown-emscripten target and *.dll.lib for *-pc-windows-msvc cdylib target.

This commit will add such knowledge to Cargo so that *.wasm and *.dll.lib will be placed in target/{debug,release} directory.

**EDIT**: I added [a summary of changes](https://github.com/rust-lang/cargo/pull/4570#issuecomment-334433635). Please read it for more details of changes.

**IMPORTANT**
Although I added test cases for both wasm32-unknown-emscripten and *-pc-windows-msvc cdylib targets, ~I did not do manual testing on wasm32-unknown-emscripten target as I do not have an environment with emscripten installed. It will be appreciated if anybody tests this change for wasm32-unknown-emscripten target.~  **EDIT**: Tested for both wasm32-unknown-emscripten and x86_64-pc-windows-msvc. Thanks @Herschel for the help.
2017-10-09 20:48:17 +00:00
..
cargotest Verify tarballs don't extract into other directories 2017-09-14 10:07:15 -07:00
bad-config.rs Removed extraneous logic that generates [root] in cargo.lock 2017-10-03 23:18:08 +11:00
bad-manifest-path.rs some clippy-suggested improvements 2017-02-18 14:17:49 +01:00
bench.rs Allow multiple arguments in cargo bench 2017-09-30 16:51:42 +02:00
build-auth.rs Fix tests on nightly 2017-08-28 08:03:42 -07:00
build-lib.rs Allow debuginfo level to be specified 2017-01-12 20:11:29 -08:00
build-script-env.rs Implement cargo:rerun-if-env-changed=FOO 2017-06-14 14:23:15 -07:00
build-script.rs Further improve doubly-linked error-msg 2017-09-21 17:08:51 +02:00
build.rs Auto merge of #4570 - tatsuya6502:target-specific-artifacts, r=alexcrichton 2017-10-09 20:48:17 +00:00
cargo-features.rs Move cargo features to top-level 2017-09-17 20:58:57 +03:00
cargo.rs More lint cleaning 2017-09-24 16:26:37 +02:00
cargo_alias_config.rs Remove superfluous ;; sequences 2017-05-24 22:01:02 -05:00
cfg.rs tests/cfg: allow unused extern crates 2017-08-27 16:14:15 +09:00
check-style.sh Prepare for buildbot automation 2014-06-26 20:25:30 -07:00
check.rs [check|build|rustc] Add --all-targets option 2017-08-11 11:58:01 -07:00
clean.rs Assert that we don't build test project twice. 2017-02-15 23:29:57 +03:00
concurrent.rs Fix tests on nightly 2017-08-28 08:03:42 -07:00
config.rs Shared the test suite into multiple binaries 2016-05-25 21:25:13 -07:00
cross-compile.rs Adding tests for --target with cargo publish and cargo package 2017-08-29 20:17:55 +05:30
cross-publish.rs Adding tests for --target with cargo publish and cargo package 2017-08-29 20:17:55 +05:30
death.rs make certain dependencies Windows-only 2017-01-06 07:03:05 -05:00
dep-info.rs Add simple tests, cleanup 2017-01-27 11:40:58 -08:00
directory.rs Support vendoring git repositories 2017-09-05 15:18:07 -07:00
doc.rs Improve error ico doc-targets with same name 2017-09-29 13:46:31 +02:00
features.rs Allow features to be cyclical 2017-09-06 19:19:46 -04:00
fetch.rs Shared the test suite into multiple binaries 2016-05-25 21:25:13 -07:00
freshness.rs Include package props with env vars into target metadata 2017-03-23 22:55:08 +03:00
generate-lockfile.rs Removed extraneous logic that generates [root] in cargo.lock 2017-10-03 23:18:08 +11:00
git.rs Removed extraneous logic that generates [root] in cargo.lock 2017-10-03 23:18:08 +11:00
init.rs Revert "Fix for #3722" 2017-03-29 21:52:23 +02:00
install.rs Removed extraneous logic that generates [root] in cargo.lock 2017-10-03 23:18:08 +11:00
jobserver.rs Fix error message when Cargo.toml misses a [package] section, remove an unused import 2017-10-04 21:24:26 +02:00
local-registry.rs Should not have to specify crates-io registry URL to replace-with 2016-09-26 10:56:19 -04:00
lockfile-compat.rs Updated old lockfile tests 2017-10-04 01:57:49 +11:00
login.rs More lint cleaning 2017-09-24 16:26:37 +02:00
metadata.rs Fix error message when Cargo.toml misses a [package] section, remove an unused import 2017-10-04 21:24:26 +02:00
net-config.rs More updates for OpenSSL 1.1.0 2016-11-14 13:55:11 -08:00
new.rs Add a placeholder assertion in the new lib project template 2017-08-10 23:30:33 +01:00
overrides.rs Removed extraneous logic that generates [root] in cargo.lock 2017-10-03 23:18:08 +11:00
package.rs Make manifest serialization deterministic 2017-10-02 12:09:54 +02:00
patch.rs Fix [patch] causing updates with a virtual manifest 2017-10-05 15:11:25 -07:00
path.rs Fix remaining test failures 2017-08-27 16:31:16 +09:00
plugins.rs Fix tests 2017-07-09 13:31:42 +03:00
proc-macro.rs Discover crate type information late if necessary. 2017-08-26 08:52:20 -06:00
profiles.rs Assert that we don't build test project twice. 2017-02-15 23:29:57 +03:00
publish.rs More lint cleaning 2017-09-24 16:26:37 +02:00
read-manifest.rs Fixed tests 2017-02-09 21:20:56 +03:00
registry.rs Verify tarballs don't extract into other directories 2017-09-14 10:07:15 -07:00
required-features.rs Less strict tests regarding libtest's stdout 2017-05-16 05:22:52 +03:00
resolve.rs Make manifest serialization deterministic 2017-10-02 12:09:54 +02:00
run.rs Fix remaining test failures 2017-08-27 16:31:16 +09:00
rustc.rs Allow debuginfo level to be specified 2017-01-12 20:11:29 -08:00
rustdoc.rs Improve error ico doc-targets with same name 2017-09-29 13:46:31 +02:00
rustdocflags.rs Made doc subcommand print duration 2017-01-18 22:38:22 +03:00
rustflags.rs Fix support of [target.'cfg(...)'] syntax for rustc and rustdoc flags 2017-07-13 15:49:35 +02:00
search.rs More lint cleaning 2017-09-24 16:26:37 +02:00
small-fd-limits.rs More lint cleaning 2017-09-24 16:26:37 +02:00
test.rs Report hint if single failure with --no-fail-fast 2017-10-06 18:14:23 +02:00
tool-paths.rs Allow runner params 2017-05-12 23:14:11 +01:00
verify-project.rs Shared the test suite into multiple binaries 2016-05-25 21:25:13 -07:00
version.rs Drop rustc-serialize dependency 2017-06-09 00:56:48 +03:00
warn-on-failure.rs Always emit build script warnings for crates that fail to build 2017-04-08 19:09:14 -07:00
workspaces.rs Removed extraneous logic that generates [root] in cargo.lock 2017-10-03 23:18:08 +11:00