Package org.apache.lucene.tests.util
Class TestRuleLimitSysouts
java.lang.Object
com.carrotsearch.randomizedtesting.rules.TestRuleAdapter
org.apache.lucene.tests.util.TestRuleLimitSysouts
- All Implemented Interfaces:
org.junit.rules.TestRule
public class TestRuleLimitSysouts
extends com.carrotsearch.randomizedtesting.rules.TestRuleAdapter
This test rule serves two purposes:
- it fails the test if it prints too much to stdout and stderr (tests that chatter too much are discouraged)
- the rule ensures an absolute hard limit of stuff written to stdout and stderr to prevent accidental infinite loops from filling all available disk space with persisted output.
isEnforced()).-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic @interfaceAn annotation specifying the limit of bytes per class. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longMax hard limit of sysout bytes.static final longMax limit of bytes printed to eitherSystem.outorSystem.err.static final intMaximum limit allowed forTestRuleLimitSysouts.Limit.bytes()before sysout check suppression is suggested. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidafterAlways(List<Throwable> errors) protected voidWe're only interested in failing the suite if it was successful (otherwise just propagate the original problem and don't bother doing anything else).protected voidbefore()static voidEnsuresSystem.outandSystem.errpoint to delegate streams.protected booleanMethods inherited from class com.carrotsearch.randomizedtesting.rules.TestRuleAdapter
apply
-
Field Details
-
DEFAULT_LIMIT
public static final long DEFAULT_LIMITMax limit of bytes printed to eitherSystem.outorSystem.err. This limit is enforced per-class (suite).- See Also:
-
DEFAULT_HARD_LIMIT
public static final long DEFAULT_HARD_LIMITMax hard limit of sysout bytes.- See Also:
-
MAX_LIMIT
public static final int MAX_LIMITMaximum limit allowed forTestRuleLimitSysouts.Limit.bytes()before sysout check suppression is suggested.- See Also:
-
-
Constructor Details
-
TestRuleLimitSysouts
-
-
Method Details
-
before
- Overrides:
beforein classcom.carrotsearch.randomizedtesting.rules.TestRuleAdapter- Throws:
Throwable
-
checkCaptureStreams
public static void checkCaptureStreams()EnsuresSystem.outandSystem.errpoint to delegate streams. -
isEnforced
protected boolean isEnforced() -
afterIfSuccessful
We're only interested in failing the suite if it was successful (otherwise just propagate the original problem and don't bother doing anything else).- Overrides:
afterIfSuccessfulin classcom.carrotsearch.randomizedtesting.rules.TestRuleAdapter- Throws:
Throwable
-
afterAlways
- Overrides:
afterAlwaysin classcom.carrotsearch.randomizedtesting.rules.TestRuleAdapter- Throws:
Throwable
-