Update loop counter to be higher (1000000) instead of (10000).
This commit is contained in:
parent
fed2a1a822
commit
0c694b3d19
|
@ -41,7 +41,7 @@ public final class CompilerSettings {
|
||||||
* Constant to be used for enabling additional internal compilation checks (slower).
|
* Constant to be used for enabling additional internal compilation checks (slower).
|
||||||
*/
|
*/
|
||||||
public static final String PICKY = "picky";
|
public static final String PICKY = "picky";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For testing: do not use.
|
* For testing: do not use.
|
||||||
*/
|
*/
|
||||||
|
@ -49,15 +49,17 @@ public final class CompilerSettings {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The maximum number of statements allowed to be run in a loop.
|
* The maximum number of statements allowed to be run in a loop.
|
||||||
|
* For now the number is set fairly high to accommodate users
|
||||||
|
* doing large update queries.
|
||||||
*/
|
*/
|
||||||
private int maxLoopCounter = 10000;
|
private int maxLoopCounter = 1000000;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to throw exception on ambiguity or other internal parsing issues. This option
|
* Whether to throw exception on ambiguity or other internal parsing issues. This option
|
||||||
* makes things slower too, it is only for debugging.
|
* makes things slower too, it is only for debugging.
|
||||||
*/
|
*/
|
||||||
private boolean picky = false;
|
private boolean picky = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For testing. Do not use.
|
* For testing. Do not use.
|
||||||
*/
|
*/
|
||||||
|
@ -102,7 +104,7 @@ public final class CompilerSettings {
|
||||||
public void setPicky(boolean picky) {
|
public void setPicky(boolean picky) {
|
||||||
this.picky = picky;
|
this.picky = picky;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns initial call site depth. This means we pretend we've already seen N different types,
|
* Returns initial call site depth. This means we pretend we've already seen N different types,
|
||||||
* to better exercise fallback code in tests.
|
* to better exercise fallback code in tests.
|
||||||
|
@ -110,7 +112,7 @@ public final class CompilerSettings {
|
||||||
public int getInitialCallSiteDepth() {
|
public int getInitialCallSiteDepth() {
|
||||||
return initialCallSiteDepth;
|
return initialCallSiteDepth;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For testing megamorphic fallbacks. Do not use.
|
* For testing megamorphic fallbacks. Do not use.
|
||||||
* @see #getInitialCallSiteDepth()
|
* @see #getInitialCallSiteDepth()
|
||||||
|
|
|
@ -148,10 +148,10 @@ public class WhenThingsGoWrongTests extends ScriptTestCase {
|
||||||
|
|
||||||
public void testLoopLimits() {
|
public void testLoopLimits() {
|
||||||
// right below limit: ok
|
// right below limit: ok
|
||||||
exec("for (int x = 0; x < 9999; ++x) {}");
|
exec("for (int x = 0; x < 999999; ++x) {}");
|
||||||
|
|
||||||
PainlessError expected = expectScriptThrows(PainlessError.class, () -> {
|
PainlessError expected = expectScriptThrows(PainlessError.class, () -> {
|
||||||
exec("for (int x = 0; x < 10000; ++x) {}");
|
exec("for (int x = 0; x < 1000000; ++x) {}");
|
||||||
});
|
});
|
||||||
assertTrue(expected.getMessage().contains(
|
assertTrue(expected.getMessage().contains(
|
||||||
"The maximum number of statements that can be executed in a loop has been reached."));
|
"The maximum number of statements that can be executed in a loop has been reached."));
|
||||||
|
|
Loading…
Reference in New Issue