summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2020-07-06 13:00:08 -0400
committerGitHub <noreply@github.com>2020-07-06 13:00:08 -0400
commit75d9913b2208fe9faabbe1d9306252793a64269c (patch)
treeeb8a86abda4bce3ece7327c3a97880e1cbf2bc91
parentc7afbdaee2398f24204843e278bc9aefc5e6bdfd (diff)
Remove tools/hyper_hello (#6651)
-rw-r--r--Cargo.lock9
-rw-r--r--Cargo.toml1
-rw-r--r--test_util/src/lib.rs18
-rwxr-xr-xtools/http_benchmark.py2
-rw-r--r--tools/hyper_hello/Cargo.toml12
-rw-r--r--tools/hyper_hello/hyper_hello.rs40
6 files changed, 18 insertions, 64 deletions
diff --git a/Cargo.lock b/Cargo.lock
index c7f8b1e09..9c3333a6e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -957,14 +957,6 @@ dependencies = [
]
[[package]]
-name = "hyper_hello"
-version = "0.0.1"
-dependencies = [
- "hyper",
- "tokio",
-]
-
-[[package]]
name = "ident_case"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2451,7 +2443,6 @@ dependencies = [
"mio",
"mio-named-pipes",
"mio-uds",
- "num_cpus",
"pin-project-lite",
"signal-hook-registry",
"slab",
diff --git a/Cargo.toml b/Cargo.toml
index cae86fd20..00304f039 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -2,7 +2,6 @@
members = [
"cli",
"core",
- "tools/hyper_hello",
"deno_typescript",
"test_plugin",
"test_util",
diff --git a/test_util/src/lib.rs b/test_util/src/lib.rs
index 67ced971a..43953dd3b 100644
--- a/test_util/src/lib.rs
+++ b/test_util/src/lib.rs
@@ -1,4 +1,6 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
+// Usage: provide a port as argument to run hyper_hello benchmark server
+// otherwise this starts multiple servers on many ports for test endpoints.
#[macro_use]
extern crate lazy_static;
@@ -6,6 +8,7 @@ extern crate lazy_static;
use futures::future::{self, FutureExt};
use os_pipe::pipe;
use regex::Regex;
+use std::env;
use std::io::Read;
use std::io::Write;
use std::mem::replace;
@@ -17,8 +20,10 @@ use std::process::Stdio;
use std::sync::Mutex;
use std::sync::MutexGuard;
use tempfile::TempDir;
+use warp::http::HeaderValue;
+use warp::http::Response;
+use warp::http::StatusCode;
use warp::http::Uri;
-use warp::http::{HeaderValue, Response, StatusCode};
use warp::hyper::Body;
use warp::reply::with_header;
use warp::reply::Reply;
@@ -78,8 +83,19 @@ pub fn test_server_path() -> PathBuf {
p
}
+/// Benchmark server that just serves "hello world" responses.
+async fn hyper_hello(port: u16) {
+ println!("hyper hello");
+ let route = warp::any().map(|| "Hello World!");
+ warp::serve(route).bind(([127, 0, 0, 1], port)).await;
+}
+
#[tokio::main]
pub async fn run_all_servers() {
+ if let Some(port) = env::args().nth(1) {
+ return hyper_hello(port.parse::<u16>().unwrap()).await;
+ }
+
let routes = warp::path::full().map(|path: warp::path::FullPath| {
let p = path.as_str();
assert_eq!(&p[0..1], "/");
diff --git a/tools/http_benchmark.py b/tools/http_benchmark.py
index b92ce756e..fbd5dc746 100755
--- a/tools/http_benchmark.py
+++ b/tools/http_benchmark.py
@@ -134,7 +134,7 @@ def hyper_http(hyper_hello_exe):
def http_benchmark(build_dir):
- hyper_hello_exe = os.path.join(build_dir, "hyper_hello")
+ hyper_hello_exe = os.path.join(build_dir, "test_server")
deno_core_http_bench_exe = os.path.join(build_dir,
"examples/deno_core_http_bench")
deno_exe = os.path.join(build_dir, "deno")
diff --git a/tools/hyper_hello/Cargo.toml b/tools/hyper_hello/Cargo.toml
deleted file mode 100644
index 55a8be7b1..000000000
--- a/tools/hyper_hello/Cargo.toml
+++ /dev/null
@@ -1,12 +0,0 @@
-[package]
-name = "hyper_hello"
-version = "0.0.1"
-edition = "2018"
-
-[dependencies]
-hyper = "0.13.6"
-tokio = { version = "0.2.21", features = ["full"] }
-
-[[bin]]
-name = "hyper_hello"
-path = "hyper_hello.rs"
diff --git a/tools/hyper_hello/hyper_hello.rs b/tools/hyper_hello/hyper_hello.rs
deleted file mode 100644
index 897ca07e9..000000000
--- a/tools/hyper_hello/hyper_hello.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-// Adapted from https://github.com/hyperium/hyper/blob/master/examples/hello.rs
-
-#![deny(warnings)]
-
-use std::convert::Infallible;
-use std::env;
-use std::error::Error;
-
-use hyper::service::{make_service_fn, service_fn};
-use hyper::{Body, Response, Server};
-
-type Just<T> = Result<T, Infallible>;
-
-#[tokio::main]
-async fn main() -> Result<(), Box<dyn Error>> {
- let mut port: u16 = 4544;
- if let Some(custom_port) = env::args().nth(1) {
- port = custom_port.parse::<u16>().unwrap();
- }
-
- let addr = ([127, 0, 0, 1], port).into();
-
- // For every connection, we must make a `Service` to handle all
- // incoming HTTP requests on said connection.
- let new_service = make_service_fn(|_| {
- // This is the `Service` that will handle the connection.
- // `service_fn` is a helper to convert a function that
- // returns a Response into a `Service`.
- async {
- Just::Ok(service_fn(|_req| async {
- Just::Ok(Response::new(Body::from(&b"Hello World!"[..])))
- }))
- }
- });
-
- let server = Server::bind(&addr).tcp_nodelay(true).serve(new_service);
- println!("Listening on http://{}", addr);
- Ok(server.await?)
-}