From 4e52db1e8fb9351ff86359ab70ca0523040f23b3 Mon Sep 17 00:00:00 2001 From: Emil Tin Date: Wed, 9 Aug 2023 09:38:00 +0200 Subject: [PATCH 1/3] add test for timeout while getting from stdin --- test/async/task.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/async/task.rb b/test/async/task.rb index dd7fdcd3..22bb687a 100644 --- a/test/async/task.rb +++ b/test/async/task.rb @@ -596,6 +596,22 @@ def after expect(state).to be == :timeout end + it "will timeout while getting from stdin" do + error = nil + + reactor.async do |task| + begin + task.with_timeout(0.1) { STDIN.gets } + rescue StandardError => e + error = e + end + end + + reactor.run + + expect(error).to be_a(Async::TimeoutError) + end + it "won't timeout if execution completes in time" do state = nil From 0faaf9497f8e1f45cc703b9bb260cf006a954540 Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Wed, 23 Aug 2023 16:08:58 +1200 Subject: [PATCH 2/3] Update test/async/task.rb --- test/async/task.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/async/task.rb b/test/async/task.rb index 22bb687a..cf0201d7 100644 --- a/test/async/task.rb +++ b/test/async/task.rb @@ -602,8 +602,8 @@ def after reactor.async do |task| begin task.with_timeout(0.1) { STDIN.gets } - rescue StandardError => e - error = e + rescue Async::TimeoutError => error + # Ignore. end end From 6ecbc3d624b6e2e0049bfb740459a17827857de0 Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Wed, 23 Aug 2023 16:09:35 +1200 Subject: [PATCH 3/3] Update test/async/task.rb --- test/async/task.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/async/task.rb b/test/async/task.rb index cf0201d7..4857a04e 100644 --- a/test/async/task.rb +++ b/test/async/task.rb @@ -601,7 +601,7 @@ def after reactor.async do |task| begin - task.with_timeout(0.1) { STDIN.gets } + task.with_timeout(0.1) {STDIN.gets} rescue Async::TimeoutError => error # Ignore. end