Update loop counter to be higher (1000000) instead of (10000).

This commit is contained in:
Jack Conradson 2017-01-11 09:22:24 -08:00
parent fed2a1a822
commit 0c694b3d19
2 changed files with 9 additions and 7 deletions

View File

@ -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()

View File

@ -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."));