-
Notifications
You must be signed in to change notification settings - Fork 649
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Strange timeout error even though tests aren't timing out #2714
Comments
Does the timeouts start happening after you've been running the entire test suite for 10 minutes ? |
I've only that timeout happen after running the whole suite as it goes past the 10 minute mark |
Are you setting 10 minutes as a value anywhere in the codebase?
The Kotest suite itself is about 30 minutes long so I don't think there's a
hard coded internal timeout causing this, but perhaps the 10 minutes is
being picked up and erroneously used for a project timeout.
…On Mon, 6 Dec 2021 at 23:55, Natalie Dorshimer ***@***.***> wrote:
Does the timeouts start happening after you've been running the entire
test suite for 10 minutes ? Or do they happen much sooner than that ?
I've only that timeout happen after running the whole suite as it goes
past the 10 minute mark
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2714 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFVSGTHU2NDGLYFDGTKQI3UPWOVZANCNFSM5JPNXF7A>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
One thing that may be different in 5.0 is that tests will inherit parent
scope timeouts. Do you have a parent timeout of 10 minutes ?
…On Tue, 7 Dec 2021 at 05:18, Stephen Samuel (Sam) ***@***.***> wrote:
Are you setting 10 minutes as a value anywhere in the codebase?
The Kotest suite itself is about 30 minutes long so I don't think there's
a hard coded internal timeout causing this, but perhaps the 10 minutes is
being picked up and erroneously used for a project timeout.
On Mon, 6 Dec 2021 at 23:55, Natalie Dorshimer ***@***.***>
wrote:
> Does the timeouts start happening after you've been running the entire
> test suite for 10 minutes ? Or do they happen much sooner than that ?
>
> I've only that timeout happen after running the whole suite as it goes
> past the 10 minute mark
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub
> <#2714 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AAFVSGTHU2NDGLYFDGTKQI3UPWOVZANCNFSM5JPNXF7A>
> .
> Triage notifications on the go with GitHub Mobile for iOS
> <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
> or Android
> <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
>
>
|
As far as I know, no. I can't find Kotest timeout settings set anywhere except in the |
It would try your abstract project config, and any settings inside specs
themselves or on individual tests.
It's the InvocationTimeoutInterceptor that is throwing this error, so maybe
look for invocationTimeout in your codebase.
On Tue, 7 Dec 2021 at 09:12, Natalie Dorshimer ***@***.***>
wrote:
… Are you setting 10 minutes as a value anywhere in the codebase? The Kotest
suite itself is about 30 minutes long so I don't think there's a hard coded
internal timeout causing this, but perhaps the 10 minutes is being picked
up and erroneously used for a project timeout.
… <#m_-2558907264803093431_>
On Mon, 6 Dec 2021 at 23:55, Natalie Dorshimer *@*.***> wrote: Does the
timeouts start happening after you've been running the entire test suite
for 10 minutes ? Or do they happen much sooner than that ? I've only that
timeout happen after running the whole suite as it goes past the 10 minute
mark — You are receiving this because you commented. Reply to this email
directly, view it on GitHub <#2714 (comment)
<#2714 (comment)>>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFVSGTHU2NDGLYFDGTKQI3UPWOVZANCNFSM5JPNXF7A
. Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub
.
As far as I know, no. I can't find Kotest timeout settings set anywhere
except in the AbstractProjectConfig. What places could it be trying to
grab the timeout from? There is no parent scope in the test that I provided
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2714 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFVSGRBADOA74VNIO5V5WTUPYP4XANCNFSM5JPNXF7A>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Then no there aren't any other timeout settings set |
Has someone set a system property in your build somewhere, or in gradle or
in CI ?
kotest.framework.invocation.timeout
or
kotest.framework.timeout
or
kotest.framework.projecttimeout
…On Tue, 7 Dec 2021 at 09:38, Natalie Dorshimer ***@***.***> wrote:
Then no there aren't any other timeout settings set
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2714 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFVSGS3HSKH6TZU43TW6XDUPYTAHANCNFSM5JPNXF7A>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Either a system property or an env var ? |
Nope, nothing like that set in CI or as an env var anywhere And you mentioned they're supposed to default to 30 minutes instead of 10? Was that a recent change or has it always been like that? |
60 minutes, been like that for years.
…On Tue, 7 Dec 2021 at 10:08, Natalie Dorshimer ***@***.***> wrote:
Nope, nothing like that set in CI or as an env var anywhere
And you mentioned they're supposed to default to 30 minutes instead of 10?
Was that a recent change or has it always been like that?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2714 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFVSGTRKSNAXE7LFYLGFTDUPYWOZANCNFSM5JPNXF7A>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Is that just the project timeout? The default timeout per test appears to be 10 minutes as demo'd here: https://github.com/natdorshimer/kotest-testing |
Ok thanks for the re-producer. Let me test it out.
…On Tue, 7 Dec 2021 at 13:26, Natalie Dorshimer ***@***.***> wrote:
Is that just the project timeout? The default timeout per test appears to
be 10 minutes as demo'd here:
https://github.com/natdorshimer/kotest-testing
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2714 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFVSGXNLWC3PF42O35LGHDUPZNWBANCNFSM5JPNXF7A>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
I guess I should ask, do you run via gradle check or from intellij with the
plugin ?
…On Tue, 7 Dec 2021 at 13:28, Stephen Samuel (Sam) ***@***.***> wrote:
Ok thanks for the re-producer. Let me test it out.
On Tue, 7 Dec 2021 at 13:26, Natalie Dorshimer ***@***.***>
wrote:
> Is that just the project timeout? The default timeout per test appears to
> be 10 minutes as demo'd here:
> https://github.com/natdorshimer/kotest-testing
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub
> <#2714 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AAFVSGXNLWC3PF42O35LGHDUPZNWBANCNFSM5JPNXF7A>
> .
> Triage notifications on the go with GitHub Mobile for iOS
> <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
> or Android
> <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
>
>
|
Yes I think you're right. |
We run our tests with the gradle plugin but either should work to show the default timeout |
Here's what might be happening: Coroutines that use
|
The applicable code here is in InvocationTimeoutInterceptor. I think if we create a reproduction that has a bunch of test files, each delaying for a few minutes, the error should manifest itself. |
Hmm what do you mean? The build I posted above is an accurate reproduction of the problem I encountered. Any |
Yep that's it, thanks for finding this. The |
Kotest 5.0.1
The tests followed a simple structure:
We ended up getting a
TestTimeoutException
even though each test was under a minute andTest
as a whole was definitely less than 10 minutes.Previously only
projectTimeout
was overriden to 15 since our test suite took longer than 10 minutes.I solved the issue by setting them all to 15
But I'm not sure why that fixed the problem. Each test individually did not take anywhere near 10 minutes, and neither did all of the tests in
Test
combined.The test suite as a whole did surpass 10 minutes, but that's what
projectTimeout
is for right?The timer listener producing these logs is:
The text was updated successfully, but these errors were encountered: