You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Thierry Ygé (JIRA)" <ji...@apache.org> on 2018/11/16 14:21:01 UTC
[jira] [Created] (SLING-8114) Allow to do polling of code failing
on asserts
Thierry Ygé created SLING-8114:
----------------------------------
Summary: Allow to do polling of code failing on asserts
Key: SLING-8114
URL: https://issues.apache.org/jira/browse/SLING-8114
Project: Sling
Issue Type: Improvement
Components: Apache Sling Testing Clients
Affects Versions: Apache Sling Testing Clients 1.2.0
Reporter: Thierry Ygé
Currently if you polling check uses assertions , it will not be retried, this is due to this line
[https://github.com/apache/sling-org-apache-sling-testing-clients/blob/master/src/main/java/org/apache/sling/testing/clients/util/poller/Polling.java#L118]
Which is only catching Exceptions while failing Assertions are an error kind (AssertionError).
It would be nice to handle it so that code wouldn't have to "transform" it to exception.
To reproduce simply use assertion in your polling check and let it fail if a counter is lower than a value. make the polling retries so that at the next retry counter it should pass.
{quote}int count = 0;
new Polling(() -> {
count++;
Assert.assertTrue(count == 2);
return true;
}).poll(2000, 500);
{quote}
Observation: it exist the poll directly as the assert fail already.
Expected: It should have polled until the check pass here.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)