Last active
December 7, 2020 14:34
-
-
Save bobmcwhirter/bd0029d5a7cbaf35e66523096469c6f6 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Compiling drogue-async v0.1.0 (/Users/bob/repos/drogue/drogue-async) | |
Finished test [unoptimized + debuginfo] target(s) in 1.93s | |
Running target/debug/deps/drogue_async-bf1f29af935d1cee | |
running 1 test | |
2020-12-07 09:33:51,109 ERROR [drogue_async::executor::tests] WHAT | |
2020-12-07 09:33:51,110 ERROR [drogue_async::executor] spawn!!! | |
2020-12-07 09:33:51,110 ERROR [drogue_async::executor] spawn!!! | |
run! | |
2020-12-07 09:33:51,110 TRACE [drogue_async::executor] root-1 is ready? 0x101cc0778 1 | |
2020-12-07 09:33:51,110 TRACE [drogue_async::executor] root-2 is ready? 0x101cc07d0 1 | |
loop! | |
do-poll root-1 | |
2020-12-07 09:33:51,110 ERROR [drogue_async::executor] spawn!!! | |
2020-12-07 09:33:51,110 ERROR [drogue_async::executor] spawn!!! | |
polling handle for sub-1 | |
sub-1 is pending | |
loop! | |
do-poll root-2 | |
terminated root-2 | |
waking waiter | |
2020-12-07 09:33:51,110 TRACE [drogue_async::executor] root-1 is ready? 0x101cc0778 0 | |
2020-12-07 09:33:51,110 TRACE [drogue_async::executor] root-2 is ready? 0x101cc07d0 2 | |
2020-12-07 09:33:51,110 TRACE [drogue_async::executor] sub-1 is ready? 0x101cc0808 1 | |
2020-12-07 09:33:51,110 TRACE [drogue_async::executor] sub-2 is ready? 0x101cc0848 1 | |
loop! | |
do-poll sub-1 | |
loop! | |
do-poll sub-2 | |
2020-12-07 09:33:51,190 TRACE [drogue_async::executor] root-1 is ready? 0x101cc0778 0 | |
2020-12-07 09:33:51,190 TRACE [drogue_async::executor] root-2 is ready? 0x101cc07d0 2 | |
2020-12-07 09:33:51,190 TRACE [drogue_async::executor] sub-1 is ready? 0x101cc0808 1 | |
2020-12-07 09:33:51,190 TRACE [drogue_async::executor] sub-2 is ready? 0x101cc0848 1 | |
loop! | |
do-poll sub-1 | |
loop! | |
do-poll sub-2 | |
2020-12-07 09:33:51,269 TRACE [drogue_async::executor] root-1 is ready? 0x101cc0778 0 | |
2020-12-07 09:33:51,269 TRACE [drogue_async::executor] root-2 is ready? 0x101cc07d0 2 | |
2020-12-07 09:33:51,269 TRACE [drogue_async::executor] sub-1 is ready? 0x101cc0808 1 | |
2020-12-07 09:33:51,269 TRACE [drogue_async::executor] sub-2 is ready? 0x101cc0848 1 | |
loop! | |
do-poll sub-1 | |
loop! | |
do-poll sub-2 | |
2020-12-07 09:33:51,347 TRACE [drogue_async::executor] root-1 is ready? 0x101cc0778 0 | |
2020-12-07 09:33:51,347 TRACE [drogue_async::executor] root-2 is ready? 0x101cc07d0 2 | |
2020-12-07 09:33:51,347 TRACE [drogue_async::executor] sub-1 is ready? 0x101cc0808 1 | |
2020-12-07 09:33:51,347 TRACE [drogue_async::executor] sub-2 is ready? 0x101cc0848 1 | |
loop! | |
do-poll sub-1 | |
loop! | |
do-poll sub-2 | |
2020-12-07 09:33:51,426 TRACE [drogue_async::executor] root-1 is ready? 0x101cc0778 0 | |
2020-12-07 09:33:51,426 TRACE [drogue_async::executor] root-2 is ready? 0x101cc07d0 2 | |
2020-12-07 09:33:51,426 TRACE [drogue_async::executor] sub-1 is ready? 0x101cc0808 1 | |
2020-12-07 09:33:51,426 TRACE [drogue_async::executor] sub-2 is ready? 0x101cc0848 1 | |
loop! | |
do-poll sub-1 | |
loop! | |
do-poll sub-2 | |
2020-12-07 09:33:51,504 TRACE [drogue_async::executor] root-1 is ready? 0x101cc0778 0 | |
2020-12-07 09:33:51,504 TRACE [drogue_async::executor] root-2 is ready? 0x101cc07d0 2 | |
2020-12-07 09:33:51,504 TRACE [drogue_async::executor] sub-1 is ready? 0x101cc0808 1 | |
2020-12-07 09:33:51,504 TRACE [drogue_async::executor] sub-2 is ready? 0x101cc0848 1 | |
loop! | |
do-poll sub-1 | |
loop! | |
do-poll sub-2 | |
2020-12-07 09:33:51,582 TRACE [drogue_async::executor] root-1 is ready? 0x101cc0778 0 | |
2020-12-07 09:33:51,582 TRACE [drogue_async::executor] root-2 is ready? 0x101cc07d0 2 | |
2020-12-07 09:33:51,582 TRACE [drogue_async::executor] sub-1 is ready? 0x101cc0808 1 | |
2020-12-07 09:33:51,582 TRACE [drogue_async::executor] sub-2 is ready? 0x101cc0848 1 | |
loop! | |
do-poll sub-1 | |
loop! | |
do-poll sub-2 | |
2020-12-07 09:33:51,659 TRACE [drogue_async::executor] root-1 is ready? 0x101cc0778 0 | |
2020-12-07 09:33:51,660 TRACE [drogue_async::executor] root-2 is ready? 0x101cc07d0 2 | |
2020-12-07 09:33:51,660 TRACE [drogue_async::executor] sub-1 is ready? 0x101cc0808 1 | |
2020-12-07 09:33:51,660 TRACE [drogue_async::executor] sub-2 is ready? 0x101cc0848 1 | |
loop! | |
do-poll sub-1 | |
loop! | |
do-poll sub-2 | |
2020-12-07 09:33:51,738 TRACE [drogue_async::executor] root-1 is ready? 0x101cc0778 0 | |
2020-12-07 09:33:51,738 TRACE [drogue_async::executor] root-2 is ready? 0x101cc07d0 2 | |
2020-12-07 09:33:51,738 TRACE [drogue_async::executor] sub-1 is ready? 0x101cc0808 1 | |
2020-12-07 09:33:51,738 TRACE [drogue_async::executor] sub-2 is ready? 0x101cc0848 1 | |
loop! | |
do-poll sub-1 | |
loop! | |
do-poll sub-2 | |
2020-12-07 09:33:51,815 TRACE [drogue_async::executor] root-1 is ready? 0x101cc0778 0 | |
2020-12-07 09:33:51,815 TRACE [drogue_async::executor] root-2 is ready? 0x101cc07d0 2 | |
2020-12-07 09:33:51,815 TRACE [drogue_async::executor] sub-1 is ready? 0x101cc0808 1 | |
2020-12-07 09:33:51,815 TRACE [drogue_async::executor] sub-2 is ready? 0x101cc0848 1 | |
loop! | |
do-poll sub-1 | |
terminated sub-1 | |
waking waiter | |
loop! | |
do-poll sub-2 | |
terminated sub-2 | |
waking waiter | |
2020-12-07 09:33:51,892 TRACE [drogue_async::executor] root-1 is ready? 0x101cc0778 1 | |
2020-12-07 09:33:51,892 TRACE [drogue_async::executor] root-2 is ready? 0x101cc07d0 2 | |
2020-12-07 09:33:51,892 TRACE [drogue_async::executor] sub-1 is ready? 0x101cc0808 2 | |
2020-12-07 09:33:51,893 TRACE [drogue_async::executor] sub-2 is ready? 0x101cc0848 2 | |
loop! | |
do-poll root-1 | |
polling handle for sub-1 | |
sub-1 is ready | |
polling handle for sub-2 | |
sub-2 is ready | |
terminated root-1 | |
waking waiter | |
2020-12-07 09:33:51,893 INFO [drogue_async::executor] terminating | |
v1=22, v2=howdy | |
test executor::tests::recurse ... ok | |
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out | |
Doc-tests drogue-async | |
running 0 tests | |
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#[cfg(test)] | |
mod tests { | |
use crate::executor::{Executor, spawn, run, defer}; | |
use simple_logger::SimpleLogger; | |
#[test] | |
fn recurse() { | |
SimpleLogger::new().init().unwrap(); | |
log::error!("WHAT"); | |
init_executor!( 1024 ); | |
let j1 = spawn("root-1", async move { | |
let s1 = spawn("sub-1", async move { | |
for i in 1..10_000_000 { | |
if i % 1_000_000 == 0 { | |
defer().await; | |
} | |
continue; | |
} | |
19 | |
}); | |
let s2 = spawn("sub-2", async move { | |
for i in 1..10_000_000 { | |
if i % 1_000_000 == 0 { | |
defer().await; | |
} | |
continue; | |
} | |
22 | |
}); | |
s1.unwrap().await; | |
s2.unwrap().await | |
}).unwrap(); | |
let j2 = spawn("root-2", async move { | |
"howdy" | |
}).unwrap(); | |
run(); | |
let v1 = j1.join(); | |
let v2 = j2.join(); | |
println!("v1={}, v2={}", v1, v2); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment