summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/bench/http.rs23
-rw-r--r--cli/bench/http/bun_http.js8
-rw-r--r--test_util/src/lib.rs2
m---------third_party0
4 files changed, 32 insertions, 1 deletions
diff --git a/cli/bench/http.rs b/cli/bench/http.rs
index 3735fde1b..c577e577a 100644
--- a/cli/bench/http.rs
+++ b/cli/bench/http.rs
@@ -53,6 +53,29 @@ pub fn benchmark(
maybe_lua,
)?,
);
+ } else if name.starts_with("bun") && !cfg!(target_os = "windows") {
+ // Bun does not support Windows.
+ #[cfg(target_arch = "x86_64")]
+ #[cfg(not(target_vendor = "apple"))]
+ let bun_exe = test_util::prebuilt_tool_path("bun");
+ #[cfg(target_vendor = "apple")]
+ #[cfg(target_arch = "x86_64")]
+ let bun_exe = test_util::prebuilt_tool_path("bun-x64");
+ #[cfg(target_vendor = "apple")]
+ #[cfg(target_arch = "aarch64")]
+ let bun_exe = test_util::prebuilt_tool_path("bun-aarch64");
+
+ // bun <path> <port>
+ res.insert(
+ file_stem.to_string(),
+ run(
+ &[bun_exe.to_str().unwrap(), path, &port.to_string()],
+ port,
+ None,
+ None,
+ maybe_lua,
+ )?,
+ );
} else {
// deno run -A --unstable <path> <addr>
res.insert(
diff --git a/cli/bench/http/bun_http.js b/cli/bench/http/bun_http.js
new file mode 100644
index 000000000..a4cd2c562
--- /dev/null
+++ b/cli/bench/http/bun_http.js
@@ -0,0 +1,8 @@
+// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
+const port = Bun.argv[2] || "4545";
+Bun.serve({
+ fetch(_req) {
+ return new Response("Hello World");
+ },
+ port: Number(port),
+});
diff --git a/test_util/src/lib.rs b/test_util/src/lib.rs
index 8df222115..2b679a4e9 100644
--- a/test_util/src/lib.rs
+++ b/test_util/src/lib.rs
@@ -139,7 +139,7 @@ pub fn prebuilt_tool_path(tool: &str) -> PathBuf {
prebuilt_path().join(platform_dir_name()).join(exe)
}
-fn platform_dir_name() -> &'static str {
+pub fn platform_dir_name() -> &'static str {
if cfg!(target_os = "linux") {
"linux64"
} else if cfg!(target_os = "macos") {
diff --git a/third_party b/third_party
-Subproject c9954bdb27cb4a1406d2591df34bc29a1e738ca
+Subproject 6e290feb0936dbeed63f09879a6b234adb81d17