[ 
https://issues.apache.org/jira/browse/JEXL-193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmitri Blinov updated JEXL-193:
-------------------------------
    Description: 
The following test case fails with 

{code}
java.lang.AssertionError: Values should be different. Actual: 42
        at org.junit.Assert.fail(Assert.java:88)
        at org.junit.Assert.failEquals(Assert.java:185)
        at org.junit.Assert.assertNotEquals(Assert.java:161)
{code}

{code}
    public static class TestContext extends MapContext implements 
JexlContext.NamespaceResolver {

        public int interrupt() throws InterruptedException {
            throw new InterruptedException();
        }
    }

    @Test
    public void testInterrupt() throws Exception {
        JexlEngine jexl = new JexlBuilder().arithmetic(new 
JexlArithmetic(false)).strict(false).silent(true).create();
        JexlScript e = jexl.createScript("interrupt(); return 42");
        Callable<Object> c = e.callable(new TestContext());

        Object t = c.call();
        Assert.assertNotEquals(42, t);
    }
{code}

Expected behaviour is to cancel script execution

  was:
The following test case fails with 

{code}
java.lang.AssertionError: Values should be different. Actual: 42
        at org.junit.Assert.fail(Assert.java:88)
        at org.junit.Assert.failEquals(Assert.java:185)
        at org.junit.Assert.assertNotEquals(Assert.java:161)
{cpde}

{code}
    public static class TestContext extends MapContext implements 
JexlContext.NamespaceResolver {

        public int interrupt() throws InterruptedException {
            throw new InterruptedException();
        }
    }

    @Test
    public void testInterrupt() throws Exception {
        JexlEngine jexl = new JexlBuilder().arithmetic(new 
JexlArithmetic(false)).strict(false).silent(true).create();
        JexlScript e = jexl.createScript("interrupt(); return 42");
        Callable<Object> c = e.callable(new TestContext());

        Object t = c.call();
        Assert.assertNotEquals(42, t);
    }
{code}

Expected behaviour is to cancel script execution


> InterruptedException is swallowed in function call in silent and non-strict 
> mode
> --------------------------------------------------------------------------------
>
>                 Key: JEXL-193
>                 URL: https://issues.apache.org/jira/browse/JEXL-193
>             Project: Commons JEXL
>          Issue Type: Bug
>    Affects Versions: 3.0
>            Reporter: Dmitri Blinov
>
> The following test case fails with 
> {code}
> java.lang.AssertionError: Values should be different. Actual: 42
>       at org.junit.Assert.fail(Assert.java:88)
>       at org.junit.Assert.failEquals(Assert.java:185)
>       at org.junit.Assert.assertNotEquals(Assert.java:161)
> {code}
> {code}
>     public static class TestContext extends MapContext implements 
> JexlContext.NamespaceResolver {
>         public int interrupt() throws InterruptedException {
>             throw new InterruptedException();
>         }
>     }
>     @Test
>     public void testInterrupt() throws Exception {
>         JexlEngine jexl = new JexlBuilder().arithmetic(new 
> JexlArithmetic(false)).strict(false).silent(true).create();
>         JexlScript e = jexl.createScript("interrupt(); return 42");
>         Callable<Object> c = e.callable(new TestContext());
>         Object t = c.call();
>         Assert.assertNotEquals(42, t);
>     }
> {code}
> Expected behaviour is to cancel script execution



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to