[ https://issues.apache.org/jira/browse/ACCUMULO-626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14997079#comment-14997079 ]
ASF GitHub Bot commented on ACCUMULO-626: ----------------------------------------- Github user joshelser commented on a diff in the pull request: https://github.com/apache/accumulo/pull/50#discussion_r44311676 --- Diff: iterator-test-harness/src/main/java/org/apache/accumulo/iteratortest/IteratorTestCaseFinder.java --- @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to you under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.iteratortest; + +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import org.apache.accumulo.iteratortest.testcases.IteratorTestCase; +import org.reflections.Reflections; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * A class to ease finding published test cases. + */ +public class IteratorTestCaseFinder { + private static final Logger log = LoggerFactory.getLogger(IteratorTestCaseFinder.class); + + /** + * Instantiates all test cases provided. + * + * @return A list of {@link IteratorTestCase}s. + */ + public static List<IteratorTestCase> findAllTestCases() { + log.info("Searching {}", IteratorTestCase.class.getPackage().getName()); + Reflections reflections = new Reflections(IteratorTestCase.class.getPackage().getName()); --- End diff -- Yeah, like I hinted at above, this was a quick hack to get this functionality and I hope to remove it (despite being a very nice library to use). Ideally, I'd not need any extra dependencies to do it (currently don't have any deps outside of accumulo-core, junit and slf4j that I recall), and I'd prefer to leave it that way. If it's hard to do with regular reflection libs, Guava sounds like a nice choice. Thanks for the recommendation. > create an iterator fuzz tester > ------------------------------ > > Key: ACCUMULO-626 > URL: https://issues.apache.org/jira/browse/ACCUMULO-626 > Project: Accumulo > Issue Type: New Feature > Components: test > Reporter: Eric Newton > Assignee: Josh Elser > > Users often write iterators without fully understanding its limits and > lifetime. Accumulo should have an iterator fuzz-tester which will take user > data and run the iterator under extreme conditions. For example, it should > re-create and re-seek the iterator with every key returned. It could > automatically compare results of such a run with the naive run, which seeks > to the beginning and scans all the data. -- This message was sent by Atlassian JIRA (v6.3.4#6332)