net: move into tokio crate (#1683)

A step towards collapsing Tokio sub crates into a single `tokio`
crate (#1318).

The `net` implementation is now provided by the main `tokio` crate.
Functionality can be opted out of by using the various net related
feature flags.
This commit is contained in:
Carl Lerche
2019-10-25 12:50:15 -07:00
committed by GitHub
parent 03a9378297
commit 227533d456
111 changed files with 578 additions and 868 deletions
@@ -0,0 +1,3 @@
use tests_build::tokio_executor::current_thread;
fn main() {}
@@ -0,0 +1,7 @@
error[E0432]: unresolved import `tests_build::tokio_executor::current_thread`
--> $DIR/executor_without_current_thread.rs:1:5
|
1 | use tests_build::tokio_executor::current_thread;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `current_thread` in `tokio_executor`
For more information about this error, try `rustc --explain E0432`.
@@ -0,0 +1,25 @@
use tests_build::tokio;
#[tokio::main]
fn main_is_not_async() {}
#[tokio::main(foo)]
async fn main_attr_has_unknown_args() {}
#[tokio::main(threadpool::bar)]
async fn main_attr_has_path_args() {}
#[tokio::test]
fn test_is_not_async() {}
#[tokio::test]
async fn test_fn_has_args(_x: u8) {}
#[tokio::test(foo)]
async fn test_attr_has_args() {}
#[tokio::test]
#[test]
async fn test_has_second_test_attr() {}
fn main() {}
@@ -0,0 +1,41 @@
error: the async keyword is missing from the function declaration
--> $DIR/macros_invalid_input.rs:4:1
|
4 | fn main_is_not_async() {}
| ^^
error: Unknown attribute foo is specified; expected `current_thread` or `threadpool`
--> $DIR/macros_invalid_input.rs:6:15
|
6 | #[tokio::main(foo)]
| ^^^
error: Must have specified ident
--> $DIR/macros_invalid_input.rs:9:15
|
9 | #[tokio::main(threadpool::bar)]
| ^^^^^^^^^^^^^^^
error: the async keyword is missing from the function declaration
--> $DIR/macros_invalid_input.rs:13:1
|
13 | fn test_is_not_async() {}
| ^^
error: the test function cannot accept arguments
--> $DIR/macros_invalid_input.rs:16:27
|
16 | async fn test_fn_has_args(_x: u8) {}
| ^^^^^^
error: Unknown attribute foo is specified; expected `current_thread` or `threadpool`
--> $DIR/macros_invalid_input.rs:18:15
|
18 | #[tokio::test(foo)]
| ^^^
error: second test attribute is supplied
--> $DIR/macros_invalid_input.rs:22:1
|
22 | #[test]
| ^^^^^^^
@@ -0,0 +1,4 @@
use tests_build::tokio_net::tcp;
fn main() {}
@@ -0,0 +1,7 @@
error[E0432]: unresolved import `tests_build::tokio_net::tcp`
--> $DIR/net_without_tcp_missing_tcp.rs:1:5
|
1 | use tests_build::tokio_net::tcp;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `tcp` in `tokio_net`
For more information about this error, try `rustc --explain E0432`.
@@ -0,0 +1,4 @@
use tests_build::tokio_net::udp;
fn main() {}
@@ -0,0 +1,7 @@
error[E0432]: unresolved import `tests_build::tokio_net::udp`
--> $DIR/net_without_udp_missing_udp.rs:1:5
|
1 | use tests_build::tokio_net::udp;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `udp` in `tokio_net`
For more information about this error, try `rustc --explain E0432`.
@@ -0,0 +1,4 @@
use tests_build::tokio_net::uds;
fn main() {}
@@ -0,0 +1,7 @@
error[E0432]: unresolved import `tests_build::tokio_net::uds`
--> $DIR/net_without_uds_missing_uds.rs:1:5
|
1 | use tests_build::tokio_net::uds;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `uds` in `tokio_net`
For more information about this error, try `rustc --explain E0432`.
@@ -0,0 +1,3 @@
use tests_build::tokio::net;
fn main() {}
@@ -0,0 +1,7 @@
error[E0432]: unresolved import `tests_build::tokio::net`
--> $DIR/tokio_without_net_missing_net.rs:1:5
|
1 | use tests_build::tokio::net;
| ^^^^^^^^^^^^^^^^^^^^^^^ no `net` in `tokio`
For more information about this error, try `rustc --explain E0432`.
+62
View File
@@ -0,0 +1,62 @@
#![allow(unused_imports)]
#[test]
#[cfg(feature = "tokio-net")]
fn net_default() {
use tests_build::tokio_net::driver::{set_default, Handle, Reactor, Registration};
use tests_build::tokio_net::util::PollEvented;
}
#[test]
#[cfg(feature = "net-with-tcp")]
fn net_with_tcp() {
use tests_build::tokio_net::tcp;
}
#[test]
#[cfg(feature = "net-with-udp")]
fn net_with_udp() {
use tests_build::tokio_net::udp;
}
#[test]
#[cfg(feature = "net-with-uds")]
fn net_with_uds() {
use tests_build::tokio_net::uds;
}
#[test]
#[cfg(feature = "net-with-process")]
fn net_with_process() {
use tests_build::tokio_net::process;
}
#[test]
#[cfg(feature = "tokio-with-net")]
fn tokio_with_net() {
// net is present
use tests_build::tokio::net;
}
#[test]
fn compile_fail() {
let t = trybuild::TestCases::new();
#[cfg(feature = "executor-without-current-thread")]
t.compile_fail("tests/fail/executor_without_current_thread.rs");
#[cfg(feature = "macros-invalid-input")]
t.compile_fail("tests/fail/macros_invalid_input.rs");
#[cfg(feature = "net-no-features")]
{
t.compile_fail("tests/fail/net_without_tcp_missing_tcp.rs");
t.compile_fail("tests/fail/net_without_udp_missing_udp.rs");
t.compile_fail("tests/fail/net_without_uds_missing_uds.rs");
}
#[cfg(feature = "tokio-no-features")]
t.compile_fail("tests/fail/tokio_without_net_missing_net.rs");
drop(t);
}