sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thierry Ygé (JIRA) <j...@apache.org>
Subject [jira] [Created] (SLING-8114) Allow to do polling of code failing on asserts
Date Fri, 16 Nov 2018 14:21:01 GMT
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)

Mime
View raw message