summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2022-06-29 16:57:19 +0530
committerGitHub <noreply@github.com>2022-06-29 16:57:19 +0530
commit5eb9abd65f97e43b50aeb724deb8e3b7847681e9 (patch)
treea59b562fbba383ca17ec02c768db9d77c282d870
parent91570ba6e85ae927f0979c0d2dde5684cb6823ff (diff)
chore(cli/bench): Add bun HTTP server (#15004)
-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