macros: custom crate name for #[tokio::main] and #[tokio::test]
## Motivation
* Accommodate to dependency rename(rust-lang/cargo#5653). Fixes #2312.
* Enable `#[crate::test(crate = "crate")]` in unit tests.

## Solution
Support `NameValue` attribute `crate` to custom crate name.

<!--
Thank you for reporting an issue.

Please fill in as much of the template below as you're able.
-->

## Version

<!--
List the versions of all `tokio` crates you are using. The easiest way to get
this information is using `cargo-tree`.

`cargo install cargo-tree`
(see install here: https://github.com/sfackler/cargo-tree)

Then:

`cargo tree | grep tokio`
-->

Long story short, we have:

```toml
tokio02 = { package = "tokio", version = "0.2.13", features = ["blocking", "fs", "sync", "macros", "test-util", "rt-core"] }
```

<Details>

```
│   ├── tokio-codec v0.1.1
│   │   └── tokio-io v0.1.12
│   │   │   │   └── tokio-io v0.1.12 (*)
│   │   │   │   └── tokio-buf v0.1.1
│   │   │   ├── tokio v0.1.22
│   │   │   │   ├── tokio-codec v0.1.1 (*)
│   │   │   │   ├── tokio-current-thread v0.1.6
│   │   │   │   │   └── tokio-executor v0.1.9
│   │   │   │   ├── tokio-executor v0.1.9 (*)
│   │   │   │   ├── tokio-fs v0.1.6
│   │   │   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   │   │   └── tokio-threadpool v0.1.17
│   │   │   │   │       └── tokio-executor v0.1.9 (*)
│   │   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   │   ├── tokio-reactor v0.1.11
│   │   │   │   │   ├── tokio-executor v0.1.9 (*)
│   │   │   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   │   │   └── tokio-sync v0.1.7
│   │   │   │   ├── tokio-sync v0.1.7 (*)
│   │   │   │   ├── tokio-tcp v0.1.3
│   │   │   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   │   │   └── tokio-reactor v0.1.11 (*)
│   │   │   │   ├── tokio-threadpool v0.1.17 (*)
│   │   │   │   ├── tokio-timer v0.2.12
│   │   │   │   │   └── tokio-executor v0.1.9 (*)
│   │   │   │   ├── tokio-udp v0.1.5
│   │   │   │   │   ├── tokio-codec v0.1.1 (*)
│   │   │   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   │   │   └── tokio-reactor v0.1.11 (*)
│   │   │   │   ├── tokio-uds v0.2.5
│   │   │   │   │   ├── tokio-codec v0.1.1 (*)
│   │   │   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   │   │   └── tokio-reactor v0.1.11 (*)
│   │   │   ├── tokio-buf v0.1.1 (*)
│   │   │   ├── tokio-executor v0.1.9 (*)
│   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   ├── tokio-reactor v0.1.11 (*)
│   │   │   ├── tokio-tcp v0.1.3 (*)
│   │   │   ├── tokio-threadpool v0.1.17 (*)
│   │   │   ├── tokio-timer v0.2.12 (*)
│   │   │   └── tokio-io v0.1.12 (*)
│   │   ├── tokio v0.1.22 (*)
│   │   ├── tokio-executor v0.1.9 (*)
│   │   ├── tokio-io v0.1.12 (*)
│   │   ├── tokio-threadpool v0.1.17 (*)
│   │   ├── tokio-timer v0.2.12 (*)
│   └── tokio-sync v0.1.7 (*)
│   ├── tokio-io v0.1.12 (*)
│   └── tokio-openssl v0.3.0
│       └── tokio-io v0.1.12 (*)
│   │   │   ├── tokio-process v0.2.4
│   │   │   │   ├── tokio-io v0.1.12 (*)
│   │   │   │   ├── tokio-reactor v0.1.11 (*)
│   │   │   │   └── tokio-signal v0.2.7
│   │   │   │       ├── tokio-executor v0.1.9 (*)
│   │   │   │       ├── tokio-io v0.1.12 (*)
│   │   │   │       └── tokio-reactor v0.1.11 (*)
│   │   │   └── tokio-timer v0.2.12 (*)
│   │   ├── tokio v0.1.22 (*)
│   │   ├── tokio-timer v0.2.12 (*)
│   │   ├── tokio v0.1.22 (*)
│   │   ├── tokio-io v0.1.12 (*)
│   │   └── tokio-uds v0.2.5 (*)
│   ├── tokio v0.1.22 (*)
│   ├── tokio-codec v0.1.1 (*)
│   ├── tokio-io v0.1.12 (*)
├── tokio v0.1.22 (*)
├── tokio v0.2.13
│   └── tokio-macros v0.2.5
├── tokio-compat v0.1.5
│   ├── tokio v0.2.13 (*)
│   ├── tokio-current-thread v0.1.6 (*)
│   ├── tokio-executor v0.1.9 (*)
│   ├── tokio-reactor v0.1.11 (*)
│   └── tokio-timer v0.2.12 (*)
├── tokio-retry v0.2.0
│   └── tokio-timer v0.2.12 (*)
├── tokio-signal v0.2.7 (*)
├── tokio-tls v0.2.1
│   └── tokio-io v0.1.12 (*)
├── tokio-uds v0.2.5 (*)
│   │   ├── tokio-executor v0.1.9 (*)
│   │   ├── tokio-sync v0.1.7 (*)
│   │   ├── tokio-sync v0.1.7 (*)
│   │   ├── tokio-timer v0.2.12 (*)
│   │   ├── tokio-timer v0.2.12 (*)
│   │   ├── tokio-timer v0.2.12 (*)
│       ├── tokio-io v0.1.12 (*)
│   │   └── tokio-tcp v0.1.3 (*)
│   ├── tokio-buf v0.1.1 (*)
│   ├── tokio-executor v0.1.9 (*)
│   ├── tokio-io v0.1.12 (*)
│   │   ├── tokio-buf v0.1.1 (*)
│   │   ├── tokio-io v0.1.12 (*)
│   ├── tokio v0.1.22 (*)
├── tracing-tower v0.1.0 (git+https://github.com/tokio-rs/tracing?rev=65547d8809fcc726b8187db85b23c42e32ef5dce#65547d8809fcc726b8187db85b23c42e32ef5dce)
│   └── tracing-futures v0.2.0 (git+https://github.com/tokio-rs/tracing?rev=65547d8809fcc726b8187db85b23c42e32ef5dce#65547d8809fcc726b8187db85b23c42e32ef5dce)
│   ├── tokio-executor v0.1.9 (*)
│   ├── tokio-io v0.1.12 (*)
│   ├── tokio-reactor v0.1.11 (*)
│   ├── tokio-tcp v0.1.3 (*)
│   ├── tokio-timer v0.2.12 (*)
│   ├── tokio-udp v0.1.5 (*)
│   ├── tokio v0.1.22 (*)
│   ├── tokio-executor v0.1.9 (*)
│   ├── tokio-tcp v0.1.3 (*)
│   ├── tokio-udp v0.1.5 (*)
    ├── tokio v0.1.22 (*)
    ├── tokio-io v0.1.12 (*)
    ├── tokio-threadpool v0.1.17 (*)
├── tokio-test v0.2.0
│   └── tokio v0.2.13 (*)
├── tokio01-test v0.1.1
│   ├── tokio-executor v0.1.9 (*)
│   └── tokio-timer v0.2.12 (*)
│   ├── tokio-sync v0.1.7 (*)
│   ├── tokio v0.1.22 (*)
│   ├── tokio-tcp v0.1.3 (*)
│   ├── tokio-udp v0.1.5 (*)
│   ├── tokio v0.1.22 (*)
│   ├── tokio-executor v0.1.9 (*)
│   ├── tokio-io v0.1.12 (*)
│   ├── tokio-reactor v0.1.11 (*)
│   ├── tokio-tcp v0.1.3 (*)
│   ├── tokio-timer v0.2.12 (*)
│   ├── tokio-udp v0.1.5 (*)
```

</Details>

## Description

<!--

Enter your issue details below this comment.

One way to structure the description:

<short summary of the bug>

I tried this code:

<code sample that causes the bug>

I expected to see this happen: <explanation>

Instead, this happened: <explanation>
-->

If we do:

```rust
#[tokio02::test]
async fn qwe() {
     // ...
}
```

We get an error:

```
   | #[tokio02::test]
   | ^^^^^^^^^^^^^^^^ method not found in `tokio::runtime::threadpool::builder::Builder`
```

If we do:

```rust
use tokio02 as tokio;
#[tokio::test]
async fn qwe() {
     // ...
}
```

Everything works.

It's a small annoyance, and there's a workaround, but still...

tokio::test does not work with renamed crate (i.e. tokio02:::test)
diff --git a/tokio-macros/src/entry.rs b/tokio-macros/src/entry.rs
index 5cb4a49b430..eba636baf48 100644
--- a/tokio-macros/src/entry.rs
+++ b/tokio-macros/src/entry.rs
@@ -1,5 +1,5 @@
 use proc_macro::TokenStream;
-use proc_macro2::Span;
+use proc_macro2::{Ident, Span};
 use quote::{quote, quote_spanned, ToTokens};
 use syn::parse::Parser;
 
@@ -29,6 +29,7 @@ struct FinalConfig {
     flavor: RuntimeFlavor,
     worker_threads: Option<usize>,
     start_paused: Option<bool>,
+    crate_name: Option<String>,
 }
 
 /// Config used in case of the attribute not being able to build a valid config
@@ -36,6 +37,7 @@ const DEFAULT_ERROR_CONFIG: FinalConfig = FinalConfig {
     flavor: RuntimeFlavor::CurrentThread,
     worker_threads: None,
     start_paused: None,
+    crate_name: None,
 };
 
 struct Configuration {
@@ -45,6 +47,7 @@ struct Configuration {
     worker_threads: Option<(usize, Span)>,
     start_paused: Option<(bool, Span)>,
     is_test: bool,
+    crate_name: Option<String>,
 }
 
 impl Configuration {
@@ -59,6 +62,7 @@ impl Configuration {
             worker_threads: None,
             start_paused: None,
             is_test,
+            crate_name: None,
         }
     }
 
@@ -104,6 +108,15 @@ impl Configuration {
         Ok(())
     }
 
+    fn set_crate_name(&mut self, name: syn::Lit, span: Span) -> Result<(), syn::Error> {
+        if self.crate_name.is_some() {
+            return Err(syn::Error::new(span, "`crate` set multiple times."));
+        }
+        let name_ident = parse_ident(name, span, "crate")?;
+        self.crate_name = Some(name_ident.to_string());
+        Ok(())
+    }
+
     fn macro_name(&self) -> &'static str {
         if self.is_test {
             "tokio::test"
@@ -151,6 +164,7 @@ impl Configuration {
         };
 
         Ok(FinalConfig {
+            crate_name: self.crate_name.clone(),
             flavor,
             worker_threads,
             start_paused,
@@ -185,6 +199,27 @@ fn parse_string(int: syn::Lit, span: Span, field: &str) -> Result<String, syn::E
     }
 }
 
+fn parse_ident(lit: syn::Lit, span: Span, field: &str) -> Result<Ident, syn::Error> {
+    match lit {
+        syn::Lit::Str(s) => {
+            let err = syn::Error::new(
+                span,
+                format!(
+                    "Failed to parse value of `{}` as ident: \"{}\"",
+                    field,
+                    s.value()
+                ),
+            );
+            let path = s.parse::<syn::Path>().map_err(|_| err.clone())?;
+            path.get_ident().cloned().ok_or(err)
+        }
+        _ => Err(syn::Error::new(
+            span,
+            format!("Failed to parse value of `{}` as ident.", field),
+        )),
+    }
+}
+
 fn parse_bool(bool: syn::Lit, span: Span, field: &str) -> Result<bool, syn::Error> {
     match bool {
         syn::Lit::Bool(b) => Ok(b.value),
@@ -243,9 +278,15 @@ fn build_config(
                         let msg = "Attribute `core_threads` is renamed to `worker_threads`";
                         return Err(syn::Error::new_spanned(namevalue, msg));
                     }
+                    "crate" => {
+                        config.set_crate_name(
+                            namevalue.lit.clone(),
+                            syn::spanned::Spanned::span(&namevalue.lit),
+                        )?;
+                    }
                     name => {
                         let msg = format!(
-                            "Unknown attribute {} is specified; expected one of: `flavor`, `worker_threads`, `start_paused`",
+                            "Unknown attribute {} is specified; expected one of: `flavor`, `worker_threads`, `start_paused`, `crate`",
                             name,
                         );
                         return Err(syn::Error::new_spanned(namevalue, msg));
@@ -275,7 +316,7 @@ fn build_config(
                         format!("The `{}` attribute requires an argument.", name)
                     }
                     name => {
-                        format!("Unknown attribute {} is specified; expected one of: `flavor`, `worker_threads`, `start_paused`", name)
+                        format!("Unknown attribute {} is specified; expected one of: `flavor`, `worker_threads`, `start_paused`, `crate`", name)
                     }
                 };
                 return Err(syn::Error::new_spanned(path, msg));
@@ -313,12 +354,16 @@ fn parse_knobs(mut input: syn::ItemFn, is_test: bool, config: FinalConfig) -> To
         (start, end)
     };
 
+    let crate_name = config.crate_name.as_deref().unwrap_or("tokio");
+
+    let crate_ident = Ident::new(crate_name, last_stmt_start_span);
+
     let mut rt = match config.flavor {
         RuntimeFlavor::CurrentThread => quote_spanned! {last_stmt_start_span=>
-            tokio::runtime::Builder::new_current_thread()
+            #crate_ident::runtime::Builder::new_current_thread()
         },
         RuntimeFlavor::Threaded => quote_spanned! {last_stmt_start_span=>
-            tokio::runtime::Builder::new_multi_thread()
+            #crate_ident::runtime::Builder::new_multi_thread()
         },
     };
     if let Some(v) = config.worker_threads {
diff --git a/tokio-macros/src/lib.rs b/tokio-macros/src/lib.rs
index 38638a1df8a..b15fd3b7017 100644
--- a/tokio-macros/src/lib.rs
+++ b/tokio-macros/src/lib.rs
@@ -168,12 +168,32 @@ use proc_macro::TokenStream;
 ///
 /// Note that `start_paused` requires the `test-util` feature to be enabled.
 ///
-/// ### NOTE:
+/// ### Rename package
 ///
-/// If you rename the Tokio crate in your dependencies this macro will not work.
-/// If you must rename the current version of Tokio because you're also using an
-/// older version of Tokio, you _must_ make the current version of Tokio
-/// available as `tokio` in the module where this macro is expanded.
+/// ```rust
+/// use tokio as tokio1;
+///
+/// #[tokio1::main(crate = "tokio1")]
+/// async fn main() {
+///     println!("Hello world");
+/// }
+/// ```
+///
+/// Equivalent code not using `#[tokio::main]`
+///
+/// ```rust
+/// use tokio as tokio1;
+///
+/// fn main() {
+///     tokio1::runtime::Builder::new_multi_thread()
+///         .enable_all()
+///         .build()
+///         .unwrap()
+///         .block_on(async {
+///             println!("Hello world");
+///         })
+/// }
+/// ```
 #[proc_macro_attribute]
 #[cfg(not(test))] // Work around for rust-lang/rust#62127
 pub fn main(args: TokenStream, item: TokenStream) -> TokenStream {
@@ -213,12 +233,32 @@ pub fn main(args: TokenStream, item: TokenStream) -> TokenStream {
 /// }
 /// ```
 ///
-/// ### NOTE:
+/// ### Rename package
+///
+/// ```rust
+/// use tokio as tokio1;
+///
+/// #[tokio1::main(crate = "tokio1")]
+/// async fn main() {
+///     println!("Hello world");
+/// }
+/// ```
+///
+/// Equivalent code not using `#[tokio::main]`
+///
+/// ```rust
+/// use tokio as tokio1;
 ///
-/// If you rename the Tokio crate in your dependencies this macro will not work.
-/// If you must rename the current version of Tokio because you're also using an
-/// older version of Tokio, you _must_ make the current version of Tokio
-/// available as `tokio` in the module where this macro is expanded.
+/// fn main() {
+///     tokio1::runtime::Builder::new_multi_thread()
+///         .enable_all()
+///         .build()
+///         .unwrap()
+///         .block_on(async {
+///             println!("Hello world");
+///         })
+/// }
+/// ```
 #[proc_macro_attribute]
 #[cfg(not(test))] // Work around for rust-lang/rust#62127
 pub fn main_rt(args: TokenStream, item: TokenStream) -> TokenStream {
@@ -260,12 +300,16 @@ pub fn main_rt(args: TokenStream, item: TokenStream) -> TokenStream {
 ///
 /// Note that `start_paused` requires the `test-util` feature to be enabled.
 ///
-/// ### NOTE:
+/// ### Rename package
+///
+/// ```rust
+/// use tokio as tokio1;
 ///
-/// If you rename the Tokio crate in your dependencies this macro will not work.
-/// If you must rename the current version of Tokio because you're also using an
-/// older version of Tokio, you _must_ make the current version of Tokio
-/// available as `tokio` in the module where this macro is expanded.
+/// #[tokio1::test(crate = "tokio1")]
+/// async fn my_test() {
+///     println!("Hello world");
+/// }
+/// ```
 #[proc_macro_attribute]
 pub fn test(args: TokenStream, item: TokenStream) -> TokenStream {
     entry::test(args, item, true)
@@ -281,13 +325,6 @@ pub fn test(args: TokenStream, item: TokenStream) -> TokenStream {
 ///     assert!(true);
 /// }
 /// ```
-///
-/// ### NOTE:
-///
-/// If you rename the Tokio crate in your dependencies this macro will not work.
-/// If you must rename the current version of Tokio because you're also using an
-/// older version of Tokio, you _must_ make the current version of Tokio
-/// available as `tokio` in the module where this macro is expanded.
 #[proc_macro_attribute]
 pub fn test_rt(args: TokenStream, item: TokenStream) -> TokenStream {
     entry::test(args, item, false)

diff --git a/tests-build/tests/fail/macros_invalid_input.rs b/tests-build/tests/fail/macros_invalid_input.rs
index eb04eca76b6..5179bb6add2 100644
--- a/tests-build/tests/fail/macros_invalid_input.rs
+++ b/tests-build/tests/fail/macros_invalid_input.rs
@@ -33,6 +33,15 @@ async fn test_worker_threads_not_int() {}
 #[tokio::test(flavor = "current_thread", worker_threads = 4)]
 async fn test_worker_threads_and_current_thread() {}
 
+#[tokio::test(crate = 456)]
+async fn test_crate_not_ident_int() {}
+
+#[tokio::test(crate = "456")]
+async fn test_crate_not_ident_invalid() {}
+
+#[tokio::test(crate = "abc::edf")]
+async fn test_crate_not_ident_path() {}
+
 #[tokio::test]
 #[test]
 async fn test_has_second_test_attr() {}
diff --git a/tests-build/tests/fail/macros_invalid_input.stderr b/tests-build/tests/fail/macros_invalid_input.stderr
index e872e74d533..5e492f8fd25 100644
--- a/tests-build/tests/fail/macros_invalid_input.stderr
+++ b/tests-build/tests/fail/macros_invalid_input.stderr
@@ -4,7 +4,7 @@ error: the `async` keyword is missing from the function declaration
 4 | fn main_is_not_async() {}
   | ^^
 
-error: Unknown attribute foo is specified; expected one of: `flavor`, `worker_threads`, `start_paused`
+error: Unknown attribute foo is specified; expected one of: `flavor`, `worker_threads`, `start_paused`, `crate`
  --> $DIR/macros_invalid_input.rs:6:15
   |
 6 | #[tokio::main(foo)]
@@ -22,13 +22,13 @@ error: the `async` keyword is missing from the function declaration
 13 | fn test_is_not_async() {}
    | ^^
 
-error: Unknown attribute foo is specified; expected one of: `flavor`, `worker_threads`, `start_paused`
+error: Unknown attribute foo is specified; expected one of: `flavor`, `worker_threads`, `start_paused`, `crate`
   --> $DIR/macros_invalid_input.rs:15:15
    |
 15 | #[tokio::test(foo)]
    |               ^^^
 
-error: Unknown attribute foo is specified; expected one of: `flavor`, `worker_threads`, `start_paused`
+error: Unknown attribute foo is specified; expected one of: `flavor`, `worker_threads`, `start_paused`, `crate`
   --> $DIR/macros_invalid_input.rs:18:15
    |
 18 | #[tokio::test(foo = 123)]
@@ -64,16 +64,34 @@ error: The `worker_threads` option requires the `multi_thread` runtime flavor. U
 33 | #[tokio::test(flavor = "current_thread", worker_threads = 4)]
    |                                                           ^
 
+error: Failed to parse value of `crate` as ident.
+  --> $DIR/macros_invalid_input.rs:36:23
+   |
+36 | #[tokio::test(crate = 456)]
+   |                       ^^^
+
+error: Failed to parse value of `crate` as ident: "456"
+  --> $DIR/macros_invalid_input.rs:39:23
+   |
+39 | #[tokio::test(crate = "456")]
+   |                       ^^^^^
+
+error: Failed to parse value of `crate` as ident: "abc::edf"
+  --> $DIR/macros_invalid_input.rs:42:23
+   |
+42 | #[tokio::test(crate = "abc::edf")]
+   |                       ^^^^^^^^^^
+
 error: second test attribute is supplied
-  --> $DIR/macros_invalid_input.rs:37:1
+  --> $DIR/macros_invalid_input.rs:46:1
    |
-37 | #[test]
+46 | #[test]
    | ^^^^^^^
 
 error: duplicated attribute
-  --> $DIR/macros_invalid_input.rs:37:1
+  --> $DIR/macros_invalid_input.rs:46:1
    |
-37 | #[test]
+46 | #[test]
    | ^^^^^^^
    |
    = note: `-D duplicate-macro-attributes` implied by `-D warnings`
diff --git a/tokio/tests/macros_rename_test.rs b/tokio/tests/macros_rename_test.rs
new file mode 100644
index 00000000000..fd5554ced1f
--- /dev/null
+++ b/tokio/tests/macros_rename_test.rs
@@ -0,0 +1,26 @@
+#![cfg(feature = "full")]
+
+#[allow(unused_imports)]
+use std as tokio;
+
+use ::tokio as tokio1;
+
+async fn compute() -> usize {
+    let join = tokio1::spawn(async { 1 });
+    join.await.unwrap()
+}
+
+#[tokio1::main(crate = "tokio1")]
+async fn compute_main() -> usize {
+    compute().await
+}
+
+#[test]
+fn crate_rename_main() {
+    assert_eq!(1, compute_main());
+}
+
+#[tokio1::test(crate = "tokio1")]
+async fn crate_rename_test() {
+    assert_eq!(1, compute().await);
+}

{"signal::unix::tests::into_c_int": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::rwlock::bounds": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::reusable_box::test::test_different_futures": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "path_read_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::lines::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_odd_on_non_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::cancel_acquire_releases_permits": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_basic_transfer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "basic_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_panics_do_not_propagate_when_dropping_join_handle": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::try_acquire_one_available": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::registry::tests::broadcast_returns_if_at_least_one_event_fired": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "pin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::poll_acquire_many_unavailable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "across_tasks": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "to_string_does_not_truncate_on_io_error": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "empty_read_is_cooperative": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "basic_read": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "empty_buf_reads_are_cooperative": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "reregister": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::read_err_then_read_success": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::incomplete_read_followed_by_flush": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "maybe_pending_buf_writer_inner_flushes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::test::no_kill_if_already_killed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "disconnect_reader": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "remove": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_basic_on_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::orphan::test::no_reap_if_no_signal_received": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::open_set_len_ok": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync_one_lit_expr_comma": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::close_semaphore_notifies_permit2": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_drop_on_notify": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_until_not_all_ready": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "buf_writer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::incomplete_partial_read_followed_by_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::open_set_len_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::read_with_smaller_buf": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::slab::test::issue_3014": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::sync_all_ordered_after_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::buf_reader::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::incomplete_read_followed_by_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fill_buf_file": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::sync_data_ordered_after_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::linked_list::tests::push_pop_push_pop": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::stdio_common::tests::test_pseudo_text": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::orphan::test::does_nothing_if_signal_could_not_be_registered": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::unix::tests::signal_enable_error_on_forbidden_input": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_large_slice_on_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "is_send_and_sync": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_seek_flush_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::notify::notify_clones_waker_before_lock": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::sink::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::poll_acquire_many_available": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "reset_readable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::read_with_bigger_buf": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "drop_closes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_fill_buf_wrapper": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::reusable_box::test::test_different_sizes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "ping_pong": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::linked_list::tests::const_new": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::tests::poll_process_levels": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "driver_shutdown_wakes_future_pending": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::try_acquire_one_unavailable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::flush_while_idle": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::try_acquire_many_available": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "maybe_pending_seek": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::tests::queue::steal_batch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::reap::test::drop_reaps_if_possible": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_large_total_on_non_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_buf": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "driver_shutdown_wakes_currently_pending": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::buf_stream::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::test::kills_on_drop_if_specified": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_buffered_reader": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::open_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_line": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::poll_acquire_one_zero_permits": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_empty_on_non_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::tests::queue::fits_256": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::split::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_until_fail": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::tests::registration_is_send_and_sync": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_basic_on_non_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::unix::tests::from_c_int": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "duplex_is_cooperative": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::wheel::test::test_level_for": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "to_string_appends": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::task::core::header_lte_cache_line": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::read_twice_before_dispatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "driver_shutdown_wakes_pending_race": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "basic_write_and_shutdown": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_large_total_on_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "copy": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_odd_on_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "create_dir": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_line_fail_and_utf8_fail": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::repeat::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::tests::poll_process_levels_targeted": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_seek_write_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::open_read": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::slab::test::insert_many": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::take::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::linked_list::tests::remove_by_address": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::slab::test::insert_remove": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "coop": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::reap::test::drop_enqueues_orphan_if_wait_fails": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::tests::queue::stress1": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync_two_lit_expr_comma": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::poll_acquire_one_available": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::atomic_waker::basic_usage": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "driver_shutdown_wakes_poll_race": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_symlink": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::buf_writer::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_buffered_reader_seek_underflow": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::driver::scheduled_io::test_generations_assert_same": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "unix_fd": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::test::no_kill_if_reaped": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::stdio_common::tests::test_splitter": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_read_flush_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::linked_list::tests::fuzz_linked_list": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::task::list::tests::test_id_not_broken": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::linked_list::tests::push_and_drain": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "assert_obj_safe": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "disconnect": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_write_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_to_end": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "immediate_exit_on_error": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::registry::tests::record_invalid_event_does_nothing": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "reset_writable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "maybe_pending_buf_writer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "split_stream_id": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_transfer_after_close": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "echo_server": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_buf_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "chain": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::close_semaphore_prevents_acquire": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_int_should_err_if_write_count_0": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "create_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::queue::test_local_queue_capacity": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync_two_lit_expr_no_comma": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::chain::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::reap::test::kill": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::atomic_waker::wake_without_register": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_hard_link": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::thread_pool::idle::test_state": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "proxy": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::mutex::bounds": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_read_write_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::incomplete_flush_followed_by_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "multiple_waiters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::reap::test::reaper": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_line_fail": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::tests::queue::stress2": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::registry::tests::smoke": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_to_end_uninit": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::empty::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::slab::test::insert_drop_reverse": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::slab::test::no_compaction_if_page_still_in_use": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "coop::test::bugeting": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::slab::test::compact_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "initially_writable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "driver_shutdown_wakes_currently_pending_polls": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "take": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::tests::reset_future": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tcp_doesnt_block": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync_one_lit_expr_no_comma": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::tests::single_timer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::notify::notify_simple": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_large_slice_on_non_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "maybe_pending_buf_writer_seek": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "maybe_pending": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::sync_data_err_ordered_after_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::atomic_waker::atomic_waker_panic_safe": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::notify::watch_test": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::reusable_box::test::test_zero_sized": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::tests::drop_timer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "two_await": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_exact": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::semaphore::bounds": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_short_reads": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_all_buf": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "unsplit_ok": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_buffered_reader_seek": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "lines_inherent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "compile_fail_full": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::tests::change_waker": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::poll_acquire_one_unavailable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::test::no_kill_on_drop_by_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::wheel::level::test::test_slot_for": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::unix::tests::signal_enable_error_on_invalid_input": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::copy_buf::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "copy_permissions": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "try_io": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "maybe_pending_buf_read": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "drop_wakes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::orphan::test::does_not_register_signal_if_queue_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "buf_writer_seek": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::orphan::test::no_reap_if_signal_lock_held": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_twice_before_dispatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "max_write_size": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::read_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "to_string_does_not_truncate_on_utf8_error": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::partial_read_set_len_ok": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_inherent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "build_dir": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "issue_4435": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "driver_shutdown_wakes_poll": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "blocking_one_side_does_not_block_other": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_with_buffer_larger_than_max": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::try_acquire_many_unavailable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::sync_all_err_ordered_after_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::read_with_buffer_larger_than_max": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_until": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::tests::task_combinations::test_combinations": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "poll_fns": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_line_not_all_ready": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_cursor": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "buf_writer_inner_flushes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::orphan::test::drain_attempts_a_single_reap_of_all_queued_orphans": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rewind_seek_position": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::close_semaphore_notifies_permit1": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_empty_on_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::tests::queue::overflow": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_line_invalid_utf8": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_to_string": {"run": "PASS", "test": "NONE", "fix": "PASS"}}
{"signal::unix::tests::into_c_int": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::rwlock::bounds": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::reusable_box::test::test_different_futures": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "path_read_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::lines::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_odd_on_non_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::cancel_acquire_releases_permits": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_basic_transfer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "basic_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_panics_do_not_propagate_when_dropping_join_handle": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::try_acquire_one_available": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::registry::tests::broadcast_returns_if_at_least_one_event_fired": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "pin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::poll_acquire_many_unavailable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "across_tasks": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "to_string_does_not_truncate_on_io_error": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "empty_read_is_cooperative": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "basic_read": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "empty_buf_reads_are_cooperative": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "reregister": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::read_err_then_read_success": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::incomplete_read_followed_by_flush": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "maybe_pending_buf_writer_inner_flushes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::test::no_kill_if_already_killed": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "disconnect_reader": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "remove": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_basic_on_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::orphan::test::no_reap_if_no_signal_received": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::open_set_len_ok": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync_one_lit_expr_comma": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::close_semaphore_notifies_permit2": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_drop_on_notify": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_until_not_all_ready": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "buf_writer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::incomplete_partial_read_followed_by_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::open_set_len_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::read_with_smaller_buf": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::slab::test::issue_3014": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::sync_all_ordered_after_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::buf_reader::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::incomplete_read_followed_by_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fill_buf_file": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::sync_data_ordered_after_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::linked_list::tests::push_pop_push_pop": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::stdio_common::tests::test_pseudo_text": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::orphan::test::does_nothing_if_signal_could_not_be_registered": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::unix::tests::signal_enable_error_on_forbidden_input": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_large_slice_on_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "is_send_and_sync": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_seek_flush_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::notify::notify_clones_waker_before_lock": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::sink::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::poll_acquire_many_available": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "reset_readable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::read_with_bigger_buf": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "drop_closes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_fill_buf_wrapper": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::reusable_box::test::test_different_sizes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "ping_pong": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::linked_list::tests::const_new": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::tests::poll_process_levels": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "driver_shutdown_wakes_future_pending": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::try_acquire_one_unavailable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::flush_while_idle": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::try_acquire_many_available": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "maybe_pending_seek": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::tests::queue::steal_batch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::reap::test::drop_reaps_if_possible": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_large_total_on_non_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_buf": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "driver_shutdown_wakes_currently_pending": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::buf_stream::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::test::kills_on_drop_if_specified": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_buffered_reader": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::open_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_line": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::poll_acquire_one_zero_permits": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_empty_on_non_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::tests::queue::fits_256": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::split::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_until_fail": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::tests::registration_is_send_and_sync": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_basic_on_non_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::unix::tests::from_c_int": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "duplex_is_cooperative": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::wheel::test::test_level_for": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "to_string_appends": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::task::core::header_lte_cache_line": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::read_twice_before_dispatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "driver_shutdown_wakes_pending_race": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "basic_write_and_shutdown": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_large_total_on_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "copy": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_odd_on_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "create_dir": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_line_fail_and_utf8_fail": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::repeat::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::tests::poll_process_levels_targeted": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_seek_write_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::open_read": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::slab::test::insert_many": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::take::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::linked_list::tests::remove_by_address": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::slab::test::insert_remove": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "coop": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::reap::test::drop_enqueues_orphan_if_wait_fails": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::tests::queue::stress1": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync_two_lit_expr_comma": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::poll_acquire_one_available": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::atomic_waker::basic_usage": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "driver_shutdown_wakes_poll_race": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_symlink": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::buf_writer::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_buffered_reader_seek_underflow": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::driver::scheduled_io::test_generations_assert_same": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "unix_fd": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::test::no_kill_if_reaped": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::stdio_common::tests::test_splitter": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_read_flush_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::linked_list::tests::fuzz_linked_list": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::task::list::tests::test_id_not_broken": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::linked_list::tests::push_and_drain": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "assert_obj_safe": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "disconnect": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_write_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_to_end": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "immediate_exit_on_error": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::registry::tests::record_invalid_event_does_nothing": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "reset_writable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "maybe_pending_buf_writer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "split_stream_id": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_transfer_after_close": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "echo_server": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_buf_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "chain": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::close_semaphore_prevents_acquire": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_int_should_err_if_write_count_0": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "create_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::queue::test_local_queue_capacity": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync_two_lit_expr_no_comma": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::chain::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::reap::test::kill": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::atomic_waker::wake_without_register": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_hard_link": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::thread_pool::idle::test_state": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "proxy": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::mutex::bounds": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_read_write_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::incomplete_flush_followed_by_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "multiple_waiters": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::reap::test::reaper": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_line_fail": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::tests::queue::stress2": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::registry::tests::smoke": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_to_end_uninit": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::empty::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::slab::test::insert_drop_reverse": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::slab::test::no_compaction_if_page_still_in_use": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "coop::test::bugeting": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "util::slab::test::compact_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "initially_writable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "driver_shutdown_wakes_currently_pending_polls": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "take": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::tests::reset_future": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "tcp_doesnt_block": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync_one_lit_expr_no_comma": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::tests::single_timer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::notify::notify_simple": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_large_slice_on_non_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "maybe_pending_buf_writer_seek": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "maybe_pending": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::sync_data_err_ordered_after_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::atomic_waker::atomic_waker_panic_safe": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::notify::watch_test": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::reusable_box::test::test_zero_sized": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::tests::drop_timer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "two_await": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_exact": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::semaphore::bounds": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_short_reads": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_all_buf": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "unsplit_ok": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test_buffered_reader_seek": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "lines_inherent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "compile_fail_full": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::tests::change_waker": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::poll_acquire_one_unavailable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::test::no_kill_on_drop_by_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "time::driver::wheel::level::test::test_slot_for": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "signal::unix::tests::signal_enable_error_on_invalid_input": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "io::util::copy_buf::tests::assert_unpin": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "copy_permissions": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "try_io": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "maybe_pending_buf_read": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "drop_wakes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::orphan::test::does_not_register_signal_if_queue_empty": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "buf_writer_seek": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::orphan::test::no_reap_if_signal_lock_held": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_twice_before_dispatch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "max_write_size": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::read_err": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "to_string_does_not_truncate_on_utf8_error": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::partial_read_set_len_ok": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_inherent": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "build_dir": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "issue_4435": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "driver_shutdown_wakes_poll": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "blocking_one_side_does_not_block_other": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::write_with_buffer_larger_than_max": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::try_acquire_many_unavailable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::sync_all_err_ordered_after_write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "fs::file::tests::read_with_buffer_larger_than_max": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_until": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::tests::task_combinations::test_combinations": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "poll_fns": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_line_not_all_ready": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_cursor": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "buf_writer_inner_flushes": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "process::imp::orphan::test::drain_attempts_a_single_reap_of_all_queued_orphans": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "rewind_seek_position": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "sync::tests::semaphore_batch::close_semaphore_notifies_permit1": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "write_vectored_empty_on_vectored": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "runtime::tests::queue::overflow": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_line_invalid_utf8": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "read_to_string": {"run": "PASS", "test": "NONE", "fix": "PASS"}}
{"passed_count": 228, "failed_count": 1, "skipped_count": 0, "passed_tests": ["signal::unix::tests::into_c_int", "sync::rwlock::bounds", "signal::reusable_box::test::test_different_futures", "path_read_write", "io::util::lines::tests::assert_unpin", "write_vectored_odd_on_non_vectored", "sync::tests::semaphore_batch::cancel_acquire_releases_permits", "test_basic_transfer", "basic_write", "test_panics_do_not_propagate_when_dropping_join_handle", "sync::tests::semaphore_batch::try_acquire_one_available", "signal::registry::tests::broadcast_returns_if_at_least_one_event_fired", "pin", "sync::tests::semaphore_batch::poll_acquire_many_unavailable", "across_tasks", "to_string_does_not_truncate_on_io_error", "empty_read_is_cooperative", "basic_read", "empty_buf_reads_are_cooperative", "reregister", "fs::file::tests::read_err_then_read_success", "fs::file::tests::incomplete_read_followed_by_flush", "maybe_pending_buf_writer_inner_flushes", "process::test::no_kill_if_already_killed", "disconnect_reader", "remove", "write_vectored_basic_on_vectored", "process::imp::orphan::test::no_reap_if_no_signal_received", "fs::file::tests::open_set_len_ok", "sync_one_lit_expr_comma", "sync::tests::semaphore_batch::close_semaphore_notifies_permit2", "test_drop_on_notify", "read_until_not_all_ready", "buf_writer", "fs::file::tests::incomplete_partial_read_followed_by_write", "fs::file::tests::open_set_len_err", "fs::file::tests::read_with_smaller_buf", "util::slab::test::issue_3014", "fs::file::tests::sync_all_ordered_after_write", "io::util::buf_reader::tests::assert_unpin", "fs::file::tests::incomplete_read_followed_by_write", "fill_buf_file", "fs::file::tests::sync_data_ordered_after_write", "util::linked_list::tests::push_pop_push_pop", "io::stdio_common::tests::test_pseudo_text", "process::imp::orphan::test::does_nothing_if_signal_could_not_be_registered", "signal::unix::tests::signal_enable_error_on_forbidden_input", "write_vectored_large_slice_on_vectored", "is_send_and_sync", "fs::file::tests::write_seek_flush_err", "sync::tests::notify::notify_clones_waker_before_lock", "io::util::sink::tests::assert_unpin", "sync::tests::semaphore_batch::poll_acquire_many_available", "reset_readable", "write_all", "fs::file::tests::read_with_bigger_buf", "drop_closes", "test_fill_buf_wrapper", "signal::reusable_box::test::test_different_sizes", "ping_pong", "util::linked_list::tests::const_new", "time::driver::tests::poll_process_levels", "driver_shutdown_wakes_future_pending", "sync::tests::semaphore_batch::try_acquire_one_unavailable", "fs::file::tests::flush_while_idle", "sync::tests::semaphore_batch::try_acquire_many_available", "maybe_pending_seek", "runtime::tests::queue::steal_batch", "process::imp::reap::test::drop_reaps_if_possible", "write_vectored_large_total_on_non_vectored", "read_buf", "driver_shutdown_wakes_currently_pending", "read", "io::util::buf_stream::tests::assert_unpin", "process::test::kills_on_drop_if_specified", "test_buffered_reader", "fs::file::tests::open_write", "read_line", "sync::tests::semaphore_batch::poll_acquire_one_zero_permits", "write_vectored_empty_on_non_vectored", "runtime::tests::queue::fits_256", "io::util::split::tests::assert_unpin", "read_until_fail", "time::tests::registration_is_send_and_sync", "write_vectored_basic_on_non_vectored", "signal::unix::tests::from_c_int", "duplex_is_cooperative", "time::driver::wheel::test::test_level_for", "to_string_appends", "runtime::task::core::header_lte_cache_line", "fs::file::tests::read_twice_before_dispatch", "driver_shutdown_wakes_pending_race", "basic_write_and_shutdown", "write_vectored_large_total_on_vectored", "copy", "write_vectored_odd_on_vectored", "create_dir", "read_line_fail_and_utf8_fail", "io::util::repeat::tests::assert_unpin", "time::driver::tests::poll_process_levels_targeted", "fs::file::tests::write_seek_write_err", "fs::file::tests::open_read", "util::slab::test::insert_many", "io::util::take::tests::assert_unpin", "util::linked_list::tests::remove_by_address", "util::slab::test::insert_remove", "coop", "process::imp::reap::test::drop_enqueues_orphan_if_wait_fails", "runtime::tests::queue::stress1", "sync_two_lit_expr_comma", "sync::tests::semaphore_batch::poll_acquire_one_available", "sync::tests::atomic_waker::basic_usage", "driver_shutdown_wakes_poll_race", "test_symlink", "io::util::buf_writer::tests::assert_unpin", "test_buffered_reader_seek_underflow", "io::driver::scheduled_io::test_generations_assert_same", "unix_fd", "process::test::no_kill_if_reaped", "io::stdio_common::tests::test_splitter", "fs::file::tests::write_read_flush_err", "util::linked_list::tests::fuzz_linked_list", "runtime::task::list::tests::test_id_not_broken", "util::linked_list::tests::push_and_drain", "assert_obj_safe", "disconnect", "fs::file::tests::write_write_err", "read_to_end", "immediate_exit_on_error", "signal::registry::tests::record_invalid_event_does_nothing", "reset_writable", "maybe_pending_buf_writer", "split_stream_id", "test_transfer_after_close", "echo_server", "write_buf_err", "chain", "sync::tests::semaphore_batch::close_semaphore_prevents_acquire", "write_int_should_err_if_write_count_0", "runtime::queue::test_local_queue_capacity", "sync_two_lit_expr_no_comma", "io::util::chain::tests::assert_unpin", "process::imp::reap::test::kill", "sync::tests::atomic_waker::wake_without_register", "test_hard_link", "runtime::thread_pool::idle::test_state", "proxy", "sync::mutex::bounds", "fs::file::tests::write_read_write_err", "fs::file::tests::incomplete_flush_followed_by_write", "multiple_waiters", "process::imp::reap::test::reaper", "read_line_fail", "runtime::tests::queue::stress2", "signal::registry::tests::smoke", "read_to_end_uninit", "io::util::empty::tests::assert_unpin", "util::slab::test::insert_drop_reverse", "util::slab::test::no_compaction_if_page_still_in_use", "coop::test::bugeting", "util::slab::test::compact_all", "initially_writable", "driver_shutdown_wakes_currently_pending_polls", "take", "time::driver::tests::reset_future", "tcp_doesnt_block", "sync_one_lit_expr_no_comma", "time::driver::tests::single_timer", "sync::tests::notify::notify_simple", "write_vectored_large_slice_on_non_vectored", "maybe_pending_buf_writer_seek", "maybe_pending", "fs::file::tests::sync_data_err_ordered_after_write", "sync::tests::atomic_waker::atomic_waker_panic_safe", "sync::tests::notify::watch_test", "signal::reusable_box::test::test_zero_sized", "time::driver::tests::drop_timer", "two_await", "read_exact", "sync::semaphore::bounds", "test_short_reads", "write_all_buf", "unsplit_ok", "test_buffered_reader_seek", "lines_inherent", "compile_fail_full", "time::driver::tests::change_waker", "read_to_string", "sync::tests::semaphore_batch::poll_acquire_one_unavailable", "process::test::no_kill_on_drop_by_default", "time::driver::wheel::level::test::test_slot_for", "signal::unix::tests::signal_enable_error_on_invalid_input", "io::util::copy_buf::tests::assert_unpin", "copy_permissions", "try_io", "maybe_pending_buf_read", "drop_wakes", "process::imp::orphan::test::does_not_register_signal_if_queue_empty", "buf_writer_seek", "process::imp::orphan::test::no_reap_if_signal_lock_held", "fs::file::tests::write_twice_before_dispatch", "max_write_size", "fs::file::tests::read_err", "to_string_does_not_truncate_on_utf8_error", "fs::file::tests::partial_read_set_len_ok", "read_inherent", "build_dir", "issue_4435", "driver_shutdown_wakes_poll", "blocking_one_side_does_not_block_other", "fs::file::tests::write_with_buffer_larger_than_max", "sync::tests::semaphore_batch::try_acquire_many_unavailable", "fs::file::tests::sync_all_err_ordered_after_write", "fs::file::tests::read_with_buffer_larger_than_max", "read_until", "write", "runtime::tests::task_combinations::test_combinations", "poll_fns", "read_line_not_all_ready", "write_cursor", "buf_writer_inner_flushes", "process::imp::orphan::test::drain_attempts_a_single_reap_of_all_queued_orphans", "rewind_seek_position", "sync::tests::semaphore_batch::close_semaphore_notifies_permit1", "write_vectored_empty_on_vectored", "runtime::tests::queue::overflow", "read_line_invalid_utf8", "create_all"], "failed_tests": ["join_size"], "skipped_tests": []}
{"passed_count": 0, "failed_count": 0, "skipped_count": 0, "passed_tests": [], "failed_tests": [], "skipped_tests": []}
{"passed_count": 228, "failed_count": 1, "skipped_count": 0, "passed_tests": ["signal::unix::tests::into_c_int", "sync::rwlock::bounds", "signal::reusable_box::test::test_different_futures", "path_read_write", "io::util::lines::tests::assert_unpin", "write_vectored_odd_on_non_vectored", "sync::tests::semaphore_batch::cancel_acquire_releases_permits", "test_basic_transfer", "basic_write", "test_panics_do_not_propagate_when_dropping_join_handle", "sync::tests::semaphore_batch::try_acquire_one_available", "signal::registry::tests::broadcast_returns_if_at_least_one_event_fired", "pin", "sync::tests::semaphore_batch::poll_acquire_many_unavailable", "across_tasks", "to_string_does_not_truncate_on_io_error", "empty_read_is_cooperative", "basic_read", "empty_buf_reads_are_cooperative", "reregister", "fs::file::tests::read_err_then_read_success", "fs::file::tests::incomplete_read_followed_by_flush", "maybe_pending_buf_writer_inner_flushes", "process::test::no_kill_if_already_killed", "disconnect_reader", "remove", "write_vectored_basic_on_vectored", "process::imp::orphan::test::no_reap_if_no_signal_received", "fs::file::tests::open_set_len_ok", "sync_one_lit_expr_comma", "sync::tests::semaphore_batch::close_semaphore_notifies_permit2", "test_drop_on_notify", "read_until_not_all_ready", "buf_writer", "fs::file::tests::incomplete_partial_read_followed_by_write", "fs::file::tests::open_set_len_err", "fs::file::tests::read_with_smaller_buf", "fs::file::tests::sync_all_ordered_after_write", "util::slab::test::issue_3014", "fs::file::tests::incomplete_read_followed_by_write", "io::util::buf_reader::tests::assert_unpin", "fill_buf_file", "fs::file::tests::sync_data_ordered_after_write", "io::stdio_common::tests::test_pseudo_text", "util::linked_list::tests::push_pop_push_pop", "process::imp::orphan::test::does_nothing_if_signal_could_not_be_registered", "signal::unix::tests::signal_enable_error_on_forbidden_input", "write_vectored_large_slice_on_vectored", "is_send_and_sync", "fs::file::tests::write_seek_flush_err", "io::util::sink::tests::assert_unpin", "sync::tests::notify::notify_clones_waker_before_lock", "sync::tests::semaphore_batch::poll_acquire_many_available", "reset_readable", "write_all", "fs::file::tests::read_with_bigger_buf", "drop_closes", "test_fill_buf_wrapper", "signal::reusable_box::test::test_different_sizes", "ping_pong", "util::linked_list::tests::const_new", "time::driver::tests::poll_process_levels", "driver_shutdown_wakes_future_pending", "sync::tests::semaphore_batch::try_acquire_one_unavailable", "fs::file::tests::flush_while_idle", "sync::tests::semaphore_batch::try_acquire_many_available", "maybe_pending_seek", "runtime::tests::queue::steal_batch", "process::imp::reap::test::drop_reaps_if_possible", "write_vectored_large_total_on_non_vectored", "read_buf", "driver_shutdown_wakes_currently_pending", "read", "io::util::buf_stream::tests::assert_unpin", "process::test::kills_on_drop_if_specified", "test_buffered_reader", "fs::file::tests::open_write", "read_line", "sync::tests::semaphore_batch::poll_acquire_one_zero_permits", "write_vectored_empty_on_non_vectored", "runtime::tests::queue::fits_256", "io::util::split::tests::assert_unpin", "read_until_fail", "time::tests::registration_is_send_and_sync", "write_vectored_basic_on_non_vectored", "signal::unix::tests::from_c_int", "duplex_is_cooperative", "time::driver::wheel::test::test_level_for", "to_string_appends", "fs::file::tests::read_twice_before_dispatch", "runtime::task::core::header_lte_cache_line", "driver_shutdown_wakes_pending_race", "basic_write_and_shutdown", "write_vectored_large_total_on_vectored", "copy", "write_vectored_odd_on_vectored", "create_dir", "read_line_fail_and_utf8_fail", "io::util::repeat::tests::assert_unpin", "time::driver::tests::poll_process_levels_targeted", "fs::file::tests::write_seek_write_err", "fs::file::tests::open_read", "util::slab::test::insert_many", "io::util::take::tests::assert_unpin", "util::linked_list::tests::remove_by_address", "util::slab::test::insert_remove", "coop", "process::imp::reap::test::drop_enqueues_orphan_if_wait_fails", "runtime::tests::queue::stress1", "sync_two_lit_expr_comma", "sync::tests::semaphore_batch::poll_acquire_one_available", "sync::tests::atomic_waker::basic_usage", "driver_shutdown_wakes_poll_race", "test_symlink", "io::util::buf_writer::tests::assert_unpin", "test_buffered_reader_seek_underflow", "io::driver::scheduled_io::test_generations_assert_same", "unix_fd", "process::test::no_kill_if_reaped", "io::stdio_common::tests::test_splitter", "fs::file::tests::write_read_flush_err", "util::linked_list::tests::fuzz_linked_list", "runtime::task::list::tests::test_id_not_broken", "util::linked_list::tests::push_and_drain", "assert_obj_safe", "disconnect", "fs::file::tests::write_write_err", "read_to_end", "immediate_exit_on_error", "signal::registry::tests::record_invalid_event_does_nothing", "reset_writable", "maybe_pending_buf_writer", "split_stream_id", "test_transfer_after_close", "echo_server", "write_buf_err", "chain", "sync::tests::semaphore_batch::close_semaphore_prevents_acquire", "write_int_should_err_if_write_count_0", "runtime::queue::test_local_queue_capacity", "sync_two_lit_expr_no_comma", "io::util::chain::tests::assert_unpin", "process::imp::reap::test::kill", "sync::tests::atomic_waker::wake_without_register", "test_hard_link", "runtime::thread_pool::idle::test_state", "proxy", "fs::file::tests::write_read_write_err", "sync::mutex::bounds", "fs::file::tests::incomplete_flush_followed_by_write", "multiple_waiters", "process::imp::reap::test::reaper", "read_line_fail", "runtime::tests::queue::stress2", "signal::registry::tests::smoke", "read_to_end_uninit", "io::util::empty::tests::assert_unpin", "util::slab::test::insert_drop_reverse", "util::slab::test::no_compaction_if_page_still_in_use", "coop::test::bugeting", "util::slab::test::compact_all", "initially_writable", "driver_shutdown_wakes_currently_pending_polls", "take", "time::driver::tests::reset_future", "tcp_doesnt_block", "sync_one_lit_expr_no_comma", "time::driver::tests::single_timer", "sync::tests::notify::notify_simple", "maybe_pending_buf_writer_seek", "write_vectored_large_slice_on_non_vectored", "maybe_pending", "fs::file::tests::sync_data_err_ordered_after_write", "sync::tests::atomic_waker::atomic_waker_panic_safe", "sync::tests::notify::watch_test", "signal::reusable_box::test::test_zero_sized", "time::driver::tests::drop_timer", "two_await", "read_exact", "sync::semaphore::bounds", "test_short_reads", "write_all_buf", "unsplit_ok", "test_buffered_reader_seek", "lines_inherent", "compile_fail_full", "time::driver::tests::change_waker", "read_to_string", "sync::tests::semaphore_batch::poll_acquire_one_unavailable", "process::test::no_kill_on_drop_by_default", "time::driver::wheel::level::test::test_slot_for", "signal::unix::tests::signal_enable_error_on_invalid_input", "io::util::copy_buf::tests::assert_unpin", "copy_permissions", "try_io", "maybe_pending_buf_read", "drop_wakes", "process::imp::orphan::test::does_not_register_signal_if_queue_empty", "buf_writer_seek", "process::imp::orphan::test::no_reap_if_signal_lock_held", "fs::file::tests::write_twice_before_dispatch", "max_write_size", "fs::file::tests::read_err", "to_string_does_not_truncate_on_utf8_error", "fs::file::tests::partial_read_set_len_ok", "build_dir", "read_inherent", "issue_4435", "driver_shutdown_wakes_poll", "blocking_one_side_does_not_block_other", "fs::file::tests::write_with_buffer_larger_than_max", "fs::file::tests::sync_all_err_ordered_after_write", "sync::tests::semaphore_batch::try_acquire_many_unavailable", "fs::file::tests::read_with_buffer_larger_than_max", "read_until", "write", "runtime::tests::task_combinations::test_combinations", "poll_fns", "read_line_not_all_ready", "write_cursor", "buf_writer_inner_flushes", "process::imp::orphan::test::drain_attempts_a_single_reap_of_all_queued_orphans", "rewind_seek_position", "sync::tests::semaphore_batch::close_semaphore_notifies_permit1", "write_vectored_empty_on_vectored", "runtime::tests::queue::overflow", "read_line_invalid_utf8", "create_all"], "failed_tests": ["join_size"], "skipped_tests": []}