summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2024-08-01 02:11:24 -0700
committerGitHub <noreply@github.com>2024-08-01 02:11:24 -0700
commit9f27bf9144b114bc4d7d9da77f7d55486e3d2c78 (patch)
treeb9ff4d83346b1bceee217509415050f4e3ab9c1d
parentf1fc708d816def60c5fc2fe7bb3e43d3d6f75ec6 (diff)
fix(compile): adhoc codesign mach-o by default (#24824)
-rw-r--r--cli/standalone/binary.rs6
-rw-r--r--tests/integration/compile_tests.rs11
2 files changed, 14 insertions, 3 deletions
diff --git a/cli/standalone/binary.rs b/cli/standalone/binary.rs
index 588f0f7b7..8fb640be3 100644
--- a/cli/standalone/binary.rs
+++ b/cli/standalone/binary.rs
@@ -183,7 +183,7 @@ fn write_binary_bytes(
} else if target.contains("darwin") {
libsui::Macho::from(original_bin)?
.write_section("d3n0l4nd", writer)?
- .build(&mut file_writer)?;
+ .build_and_sign(&mut file_writer)?;
}
Ok(())
}
@@ -194,8 +194,8 @@ pub fn is_standalone_binary(exe_path: &Path) -> bool {
};
libsui::utils::is_elf(&data)
- | libsui::utils::is_pe(&data)
- | libsui::utils::is_macho(&data)
+ || libsui::utils::is_pe(&data)
+ || libsui::utils::is_macho(&data)
}
/// This function will try to run this binary as a standalone binary
diff --git a/tests/integration/compile_tests.rs b/tests/integration/compile_tests.rs
index df9ea26df..18d34c862 100644
--- a/tests/integration/compile_tests.rs
+++ b/tests/integration/compile_tests.rs
@@ -34,6 +34,17 @@ fn compile_basic() {
output.assert_matches_text("Welcome to Deno!\n");
}
+ // On arm64 macOS, check if `codesign -v` passes
+ #[cfg(all(target_os = "macos", target_arch = "aarch64"))]
+ {
+ let output = std::process::Command::new("codesign")
+ .arg("-v")
+ .arg(&exe)
+ .output()
+ .unwrap();
+ assert!(output.status.success());
+ }
+
// now ensure this works when the deno_dir is readonly
let readonly_dir = dir.path().join("readonly");
readonly_dir.make_dir_readonly();