cargo/tests/testsuite
brian m. carlson 449ead05db
package: canonicalize tar headers for crate packages
Currently, when reading a file from disk, we include several pieces of
data from the on-disk file, including the user and group names and IDs,
the device major and minor, the mode, and the timestamp.  This means
that our archives differ between systems, sometimes in unhelpful ways.

In addition, most users probably did not intend to share information
about their user and group settings, operating system and disk type, and
umask.  While these aren't huge privacy leaks, cargo doesn't use them
when extracting archives, so there's no value to including them.

Since using consistent data means that our archives are reproducible and
don't leak user data, both of which are desirable features, let's
canonicalize the header to strip out identifying information.

Omit the inclusion of the timestamp for generated files and tell the tar
crate to copy deterministic data.  That will omit all of the data we
don't care about and also canonicalize the mode properly.

Our tests don't check the specifics of certain fields because they
differ between the generated files and the files that are archived from
the disk format.  They are still canonicalized correctly for each type,
however.
2020-11-18 00:07:50 +00:00
..
mock-std Check if rust-src contains a vendor dir, and patch it in 2020-11-10 11:47:32 -05:00
advanced_env.rs Fixes for some test errors on Windows. 2019-12-19 09:44:02 -08:00
alt_registry.rs Fix tests 2020-10-01 09:40:32 +00:00
bad_config.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
bad_manifest_path.rs Minor testsuite organization. 2019-11-24 18:42:45 -08:00
bench.rs test: normalize raw string indentation. 2020-10-10 07:44:57 +08:00
build.rs Merge branch 'master' into feat/glob-pattern 2020-10-18 08:48:30 +08:00
build_plan.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
build_script.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
build_script_env.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
cache_messages.rs Fix cache_messages::rustdoc test broken on beta. 2020-08-26 11:17:57 -07:00
cargo_alias_config.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
cargo_command.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
cargo_features.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
cargo_targets.rs Warn on Windows about reserved target names. 2020-03-02 16:04:25 -08:00
cfg.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
check.rs test: normalize raw string indentation. 2020-10-10 07:44:57 +08:00
clean.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
collisions.rs Don't hash executable filenames on apple platforms. 2020-06-04 16:14:17 -07:00
concurrent.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
config.rs Update toml dependency 2020-10-12 11:22:45 -07:00
config_cli.rs Revert misfeatures 2020-07-07 23:38:26 -06:00
config_include.rs Fix tests with enoent error message on non-english systems. 2020-05-29 12:34:17 -07:00
corrupt_git.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
cross_compile.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
cross_publish.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
custom_target.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
death.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
dep_info.rs Use u32/64::to/from_le_bytes instead of bit fiddling 2020-11-09 23:32:39 +01:00
directory.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
doc.rs test: normalize raw string indentation. 2020-10-10 07:44:57 +08:00
edition.rs Minor testsuite organization. 2019-11-24 18:42:45 -08:00
error.rs Rework internal errors. 2020-02-17 19:03:57 -08:00
features.rs Add a future-compatibility warning on allowed feature name characters. 2020-10-27 14:23:35 -07:00
features2.rs Avoid some extra downloads with new feature resolver. 2020-10-31 16:49:22 -07:00
features_namespaced.rs Fix publishing with optional dependencies. 2020-11-12 10:44:10 -08:00
fetch.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
fix.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
freshness.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
generate_lockfile.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
git.rs Normalize SourceID in cargo metadata. 2020-11-01 10:48:21 -08:00
git_auth.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
git_gc.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
glob_targets.rs test: glob support for target selection 2020-10-05 01:24:39 +08:00
help.rs New namespaced features implementation. 2020-10-23 16:04:41 -07:00
init.rs Rephrase message of restricted crate name 2020-09-11 00:39:51 +08:00
install.rs rustfmt 2020-10-28 02:57:22 +08:00
install_upgrade.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
jobserver.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
list_availables.rs test: list availables for clean,tree,update 2020-10-28 02:46:20 +08:00
local_registry.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
locate_project.rs --workspace flag for locate-project to find the workspace root 2020-09-23 18:39:21 -04:00
lockfile_compat.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
login.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
lto.rs Add LTO to the metadata filename hash. 2020-10-05 11:29:01 -07:00
main.rs Implement weak dependency features. 2020-11-04 14:19:27 -08:00
member_discovery.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
member_errors.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
message_format.rs Add "build-finished" JSON message. 2020-04-04 18:56:50 -07:00
metabuild.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
metadata.rs Test that homepage/documentation values are properly propagated 2020-10-01 09:40:32 +00:00
minimal_versions.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
multitarget.rs clippy fixes 2020-05-01 01:16:30 +02:00
net_config.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
new.rs Update git2. 2020-10-13 18:13:25 -07:00
offline.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
out_dir.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
owner.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
package.rs package: canonicalize tar headers for crate packages 2020-11-18 00:07:50 +00:00
package_features.rs New namespaced features implementation. 2020-10-23 16:04:41 -07:00
patch.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
path.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
paths.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
pkgid.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
plugins.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
proc_macro.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
profile_config.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
profile_custom.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
profile_overrides.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
profile_targets.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
profiles.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
progress.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
pub_priv.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
publish.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
publish_lockfile.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
read_manifest.rs Fix tests 2020-10-01 09:40:32 +00:00
registry.rs Skip extracting .cargo-ok files from packages 2020-11-07 17:01:21 +00:00
rename_deps.rs New namespaced features implementation. 2020-10-23 16:04:41 -07:00
replace.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
required_features.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
run.rs test: be consistent on error message styles 2020-10-10 06:58:06 +08:00
rustc.rs test: normalize raw string indentation. 2020-10-10 07:44:57 +08:00
rustc_info_cache.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
rustdoc.rs test: normalize raw string indentation. 2020-10-10 07:44:57 +08:00
rustdoc_extern_html.rs Fix rust-docs in CI. 2020-05-26 15:43:28 -07:00
rustdocflags.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
rustflags.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
search.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
shell_quoting.rs Minor testsuite organization. 2019-11-24 18:42:45 -08:00
standard_lib.rs Check if rust-src contains a vendor dir, and patch it in 2020-11-10 11:47:32 -05:00
test.rs fix: emit errors instead of warnings when glob patterns not found 2020-10-10 09:50:36 +08:00
timings.rs Minor testsuite organization. 2019-11-24 18:42:45 -08:00
tool_paths.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
tree.rs Merge branch 'master' into feat/glob-pattern 2020-10-18 08:48:30 +08:00
tree_graph_features.rs Switch --invert to take the package name as an argument. 2020-04-03 19:52:21 -07:00
unit_graph.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
update.rs Fix tests 2020-10-01 09:40:32 +00:00
vendor.rs Mask out system core.autocrlf settings before resetting git repos 2020-07-21 12:38:03 -04:00
verify_project.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
version.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
warn_on_failure.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00
weak_dep_features.rs Implement weak dependency features. 2020-11-04 14:19:27 -08:00
workspaces.rs Rework tests to avoid using -vv 2020-10-15 00:44:04 +02:00
yank.rs Normalize raw string indentation. 2020-09-26 17:59:58 -07:00