From ea40134f2bc730724e56d16828740c036fab937f Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Tue, 19 Mar 2024 10:04:32 +0000 Subject: [PATCH] Add regression test for #107495 --- .../issue-107495-archive-permissions/foo.rs | 1 + .../issue-107495-archive-permissions/rmake.rs | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 tests/run-make/issue-107495-archive-permissions/foo.rs create mode 100644 tests/run-make/issue-107495-archive-permissions/rmake.rs diff --git a/tests/run-make/issue-107495-archive-permissions/foo.rs b/tests/run-make/issue-107495-archive-permissions/foo.rs new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/tests/run-make/issue-107495-archive-permissions/foo.rs @@ -0,0 +1 @@ + diff --git a/tests/run-make/issue-107495-archive-permissions/rmake.rs b/tests/run-make/issue-107495-archive-permissions/rmake.rs new file mode 100644 index 0000000000000..593ba4b4ae70f --- /dev/null +++ b/tests/run-make/issue-107495-archive-permissions/rmake.rs @@ -0,0 +1,22 @@ +extern crate run_make_support; + +use run_make_support::{aux_build, out_dir}; +use std::fs; +#[cfg(unix)] +use std::os::unix::fs::PermissionsExt; +use std::path::Path; + +fn main() { + aux_build().arg("foo.rs").run(); + verify(&out_dir().join("libfoo.rlib")); +} + +fn verify(path: &Path) { + let perm = fs::metadata(path).unwrap().permissions(); + + assert!(!perm.readonly()); + + // Check that the file is readable for everyone + #[cfg(unix)] + assert_eq!(perm.mode(), 0o100664); +}