You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Robert Munteanu (JIRA)" <ji...@apache.org> on 2018/12/03 09:34:00 UTC
[jira] [Commented] (SLING-8114) Allow to do polling of code failing
on asserts
[ https://issues.apache.org/jira/browse/SLING-8114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16706884#comment-16706884 ]
Robert Munteanu commented on SLING-8114:
----------------------------------------
[~petitbear68] - would you have the time to submit a PR with a fix and a test?
> 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é
> Priority: Major
>
> 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)