Add ability to run certain packages with assertions disabled

Test can be run with `-Dtests.assertion.disabled=org.elasticsearch`
to run the tests without assertions to make sure assertions
don't hide any assignements etc. that introduce bugs in production.
This commit is contained in:
Simon Willnauer 2013-12-30 19:33:58 +01:00
parent e6e1a3463a
commit e7a84d744a
5 changed files with 14 additions and 3 deletions

View File

@ -378,7 +378,8 @@
<report-execution-times file="${basedir}/.local-execution-hints.log"/> <report-execution-times file="${basedir}/.local-execution-hints.log"/>
</listeners> </listeners>
<assertions> <assertions>
<enable/> <enable />
<disable package="${tests.assertion.disabled}"/> <!-- pass org.elasticsearch to run without assertions -->
</assertions> </assertions>
<parallelism>${tests.jvms}</parallelism> <parallelism>${tests.jvms}</parallelism>
<balancers> <balancers>
@ -429,6 +430,7 @@
<tests.cluster_seed>${tests.cluster_seed}</tests.cluster_seed> <tests.cluster_seed>${tests.cluster_seed}</tests.cluster_seed>
<tests.client.ratio>${tests.client.ratio}</tests.client.ratio> <tests.client.ratio>${tests.client.ratio}</tests.client.ratio>
<tests.enable_mock_modules>${tests.enable_mock_modules}</tests.enable_mock_modules> <tests.enable_mock_modules>${tests.enable_mock_modules}</tests.enable_mock_modules>
<tests.assertion.disabled>${tests.assertion.disabled}</tests.assertion.disabled>
<tests.rest>${tests.rest}</tests.rest> <tests.rest>${tests.rest}</tests.rest>
<tests.rest.suite>${tests.rest.suite}</tests.rest.suite> <tests.rest.suite>${tests.rest.suite}</tests.rest.suite>
<tests.rest.spec>${tests.rest.spec}</tests.rest.spec> <tests.rest.spec>${tests.rest.spec}</tests.rest.spec>

View File

@ -32,6 +32,7 @@ public class HppcMapsTests extends ElasticsearchTestCase {
@Test @Test
public void testIntersection() throws Exception { public void testIntersection() throws Exception {
assumeTrue(ASSERTIONS_ENABLED);
ObjectOpenHashSet<String> set1 = ObjectOpenHashSet.from("1", "2", "3"); ObjectOpenHashSet<String> set1 = ObjectOpenHashSet.from("1", "2", "3");
ObjectOpenHashSet<String> set2 = ObjectOpenHashSet.from("1", "2", "3"); ObjectOpenHashSet<String> set2 = ObjectOpenHashSet.from("1", "2", "3");
List<String> values = toList(HppcMaps.intersection(set1, set2)); List<String> values = toList(HppcMaps.intersection(set1, set2));

View File

@ -224,6 +224,7 @@ public class SimpleIdCacheTests extends ElasticsearchTestCase {
@Test(expected = AssertionError.class) @Test(expected = AssertionError.class)
public void testRefresh_tripAssert() throws Exception { public void testRefresh_tripAssert() throws Exception {
assumeTrue(ASSERTIONS_ENABLED);
SimpleIdCache idCache = createSimpleIdCache(Tuple.tuple("child", "parent")); SimpleIdCache idCache = createSimpleIdCache(Tuple.tuple("child", "parent"));
IndexWriter writer = createIndexWriter(); IndexWriter writer = createIndexWriter();
// Begins with parent, ends with child docs // Begins with parent, ends with child docs

View File

@ -65,6 +65,13 @@ public abstract class ElasticsearchTestCase extends AbstractRandomizedTest {
public static final String CHILD_VM_ID = System.getProperty("junit4.childvm.id", "" + System.currentTimeMillis()); public static final String CHILD_VM_ID = System.getProperty("junit4.childvm.id", "" + System.currentTimeMillis());
public static final boolean ASSERTIONS_ENABLED;
static {
boolean enabled = false;
assert enabled = true;
ASSERTIONS_ENABLED = enabled;
}
public static boolean awaitBusy(Predicate<?> breakPredicate) throws InterruptedException { public static boolean awaitBusy(Predicate<?> breakPredicate) throws InterruptedException {
return awaitBusy(breakPredicate, 10, TimeUnit.SECONDS); return awaitBusy(breakPredicate, 10, TimeUnit.SECONDS);
} }

View File

@ -112,8 +112,8 @@ public class ReproduceInfoPrinter extends RunListener {
} }
public ReproduceErrorMessageBuilder appendESProperties() { public ReproduceErrorMessageBuilder appendESProperties() {
appendProperties("es.logger.level", "es.node.mode", "es.node.local", TestCluster.TESTS_ENABLE_MOCK_MODULES); appendProperties("es.logger.level", "es.node.mode", "es.node.local", TestCluster.TESTS_ENABLE_MOCK_MODULES,
"tests.assertion.disabled");
if (System.getProperty("tests.jvm.argline") != null && !System.getProperty("tests.jvm.argline").isEmpty()) { if (System.getProperty("tests.jvm.argline") != null && !System.getProperty("tests.jvm.argline").isEmpty()) {
appendOpt("tests.jvm.argline", "\"" + System.getProperty("tests.jvm.argline") + "\""); appendOpt("tests.jvm.argline", "\"" + System.getProperty("tests.jvm.argline") + "\"");
} }