From 75d9913b2208fe9faabbe1d9306252793a64269c Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Mon, 6 Jul 2020 13:00:08 -0400 Subject: [PATCH] Remove tools/hyper_hello (#6651) --- Cargo.lock | 9 ------- Cargo.toml | 1 - test_util/src/lib.rs | 18 +++++++++++++- tools/http_benchmark.py | 2 +- tools/hyper_hello/Cargo.toml | 12 ---------- tools/hyper_hello/hyper_hello.rs | 40 -------------------------------- 6 files changed, 18 insertions(+), 64 deletions(-) delete mode 100644 tools/hyper_hello/Cargo.toml delete mode 100644 tools/hyper_hello/hyper_hello.rs diff --git a/Cargo.lock b/Cargo.lock index c7f8b1e093..9c3333a6e7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -956,14 +956,6 @@ dependencies = [ "webpki", ] -[[package]] -name = "hyper_hello" -version = "0.0.1" -dependencies = [ - "hyper", - "tokio", -] - [[package]] name = "ident_case" version = "1.0.1" @@ -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 cae86fd201..00304f0391 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 67ced971a5..43953dd3bd 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::().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 b92ce756eb..fbd5dc7466 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 55a8be7b10..0000000000 --- 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 897ca07e97..0000000000 --- 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 = Result; - -#[tokio::main] -async fn main() -> Result<(), Box> { - let mut port: u16 = 4544; - if let Some(custom_port) = env::args().nth(1) { - port = custom_port.parse::().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?) -}