More informative query unit test names (#3342)

This commit is contained in:
Jonathan Wei 2016-08-09 22:24:48 -07:00 committed by Gian Merlino
parent 8035c73409
commit 890e3bdd3f
20 changed files with 167 additions and 52 deletions

View File

@ -51,11 +51,19 @@ public class ApproximateHistogramGroupByQueryTest
{
private final QueryRunner<Row> runner;
private GroupByQueryRunnerFactory factory;
private String testName;
@Parameterized.Parameters
@Parameterized.Parameters(name="{0}")
public static Iterable<Object[]> constructorFeeder() throws IOException
{
final GroupByQueryConfig defaultConfig = new GroupByQueryConfig();
final GroupByQueryConfig defaultConfig = new GroupByQueryConfig()
{
@Override
public String toString()
{
return "default";
}
};
final GroupByQueryConfig singleThreadedConfig = new GroupByQueryConfig()
{
@Override
@ -63,6 +71,12 @@ public class ApproximateHistogramGroupByQueryTest
{
return true;
}
@Override
public String toString()
{
return "singleThreaded";
}
};
final GroupByQueryConfig v2Config = new GroupByQueryConfig()
{
@ -71,6 +85,12 @@ public class ApproximateHistogramGroupByQueryTest
{
return GroupByStrategySelector.STRATEGY_V2;
}
@Override
public String toString()
{
return "v2";
}
};
defaultConfig.setMaxIntermediateRows(10000);
@ -86,15 +106,21 @@ public class ApproximateHistogramGroupByQueryTest
for (GroupByQueryConfig config : configs) {
final GroupByQueryRunnerFactory factory = GroupByQueryRunnerTest.makeQueryRunnerFactory(config);
for (QueryRunner<Row> runner : QueryRunnerTestHelper.makeQueryRunners(factory)) {
constructors.add(new Object[]{factory, runner});
final String testName = String.format(
"config=%s, runner=%s",
config.toString(),
runner.toString()
);
constructors.add(new Object[]{testName, factory, runner});
}
}
return constructors;
}
public ApproximateHistogramGroupByQueryTest(GroupByQueryRunnerFactory factory, QueryRunner runner)
public ApproximateHistogramGroupByQueryTest(String testName, GroupByQueryRunnerFactory factory, QueryRunner runner)
{
this.testName = testName;
this.factory = factory;
this.runner = runner;
}

View File

@ -54,7 +54,7 @@ import java.util.Map;
@RunWith(Parameterized.class)
public class ApproximateHistogramTopNQueryTest
{
@Parameterized.Parameters
@Parameterized.Parameters(name="{0}")
public static Iterable<Object[]> constructorFeeder() throws IOException
{
return QueryRunnerTestHelper.transformToConstructionFeeder(

View File

@ -60,15 +60,17 @@ public class VarianceGroupByQueryTest
private final GroupByQueryConfig config;
private final QueryRunner<Row> runner;
private final GroupByQueryRunnerFactory factory;
private final String testName;
@Parameterized.Parameters
@Parameterized.Parameters(name="{0}")
public static Collection<?> constructorFeeder() throws IOException
{
return GroupByQueryRunnerTest.constructorFeeder();
}
public VarianceGroupByQueryTest(GroupByQueryConfig config, GroupByQueryRunnerFactory factory, QueryRunner runner)
public VarianceGroupByQueryTest(String testName, GroupByQueryConfig config, GroupByQueryRunnerFactory factory, QueryRunner runner)
{
this.testName = testName;
this.config = config;
this.factory = factory;
this.runner = factory.mergeRunners(MoreExecutors.sameThreadExecutor(), ImmutableList.<QueryRunner<Row>>of(runner));

View File

@ -50,7 +50,7 @@ import java.util.Map;
@RunWith(Parameterized.class)
public class VarianceTopNQueryTest
{
@Parameterized.Parameters
@Parameterized.Parameters(name="{0}")
public static Iterable<Object[]> constructorFeeder() throws IOException
{
return TopNQueryRunnerTest.constructorFeeder();

View File

@ -299,7 +299,8 @@ public class MultiValuedDimensionTest
);
QueryRunner<Result<TopNResultValue>> runner = QueryRunnerTestHelper.makeQueryRunner(
factory,
new QueryableIndexSegment("sid1", queryableIndex)
new QueryableIndexSegment("sid1", queryableIndex),
null
);
Map<String, Object> context = Maps.newHashMap();
Sequence<Result<TopNResultValue>> result = runner.run(query, context);

View File

@ -330,11 +330,11 @@ public class QueryRunnerTestHelper
final QueryableIndex noRollupMMappedTestIndex = TestIndex.getNoRollupMMappedTestIndex();
final QueryableIndex mergedRealtimeIndex = TestIndex.mergedRealtimeIndex();
return ImmutableList.of(
makeQueryRunner(factory, new IncrementalIndexSegment(rtIndex, segmentId)),
makeQueryRunner(factory, new IncrementalIndexSegment(noRollupRtIndex, segmentId)),
makeQueryRunner(factory, new QueryableIndexSegment(segmentId, mMappedTestIndex)),
makeQueryRunner(factory, new QueryableIndexSegment(segmentId, noRollupMMappedTestIndex)),
makeQueryRunner(factory, new QueryableIndexSegment(segmentId, mergedRealtimeIndex))
makeQueryRunner(factory, new IncrementalIndexSegment(rtIndex, segmentId), "rtIndex"),
makeQueryRunner(factory, new IncrementalIndexSegment(noRollupRtIndex, segmentId), "noRollupRtIndex"),
makeQueryRunner(factory, new QueryableIndexSegment(segmentId, mMappedTestIndex), "mMappedTestIndex"),
makeQueryRunner(factory, new QueryableIndexSegment(segmentId, noRollupMMappedTestIndex), "noRollupMMappedTestIndex"),
makeQueryRunner(factory, new QueryableIndexSegment(segmentId, mergedRealtimeIndex), "mergedRealtimeIndex")
);
}
@ -350,11 +350,12 @@ public class QueryRunnerTestHelper
final QueryableIndex mergedRealtimeIndex = TestIndex.mergedRealtimeIndex();
return Arrays.asList(
makeUnionQueryRunner(factory, new IncrementalIndexSegment(rtIndex, segmentId)),
makeUnionQueryRunner(factory, new QueryableIndexSegment(segmentId, mMappedTestIndex)),
makeUnionQueryRunner(factory, new IncrementalIndexSegment(rtIndex, segmentId), "rtIndex"),
makeUnionQueryRunner(factory, new QueryableIndexSegment(segmentId, mMappedTestIndex), "mMappedTestIndex"),
makeUnionQueryRunner(
factory,
new QueryableIndexSegment(segmentId, mergedRealtimeIndex)
new QueryableIndexSegment(segmentId, mergedRealtimeIndex),
"mergedRealtimeIndex"
)
);
}
@ -415,28 +416,32 @@ public class QueryRunnerTestHelper
public static <T, QueryType extends Query<T>> QueryRunner<T> makeQueryRunner(
QueryRunnerFactory<T, QueryType> factory,
String resourceFileName
String resourceFileName,
final String runnerName
)
{
return makeQueryRunner(
factory,
segmentId,
new IncrementalIndexSegment(TestIndex.makeRealtimeIndex(resourceFileName), segmentId)
new IncrementalIndexSegment(TestIndex.makeRealtimeIndex(resourceFileName), segmentId),
runnerName
);
}
public static <T, QueryType extends Query<T>> QueryRunner<T> makeQueryRunner(
QueryRunnerFactory<T, QueryType> factory,
Segment adapter
Segment adapter,
final String runnerName
)
{
return makeQueryRunner(factory, segmentId, adapter);
return makeQueryRunner(factory, segmentId, adapter, runnerName);
}
public static <T, QueryType extends Query<T>> QueryRunner<T> makeQueryRunner(
QueryRunnerFactory<T, QueryType> factory,
String segmentId,
Segment adapter
Segment adapter,
final String runnerName
)
{
return new FinalizeResultsQueryRunner<T>(
@ -444,16 +449,24 @@ public class QueryRunnerTestHelper
segmentId, adapter.getDataInterval().getStart(),
factory.createRunner(adapter)
),
(QueryToolChest<T, Query<T>>)factory.getToolchest()
);
(QueryToolChest<T, Query<T>>) factory.getToolchest()
)
{
@Override
public String toString()
{
return runnerName;
}
};
}
public static <T> QueryRunner<T> makeUnionQueryRunner(
QueryRunnerFactory<T, Query<T>> factory,
Segment adapter
Segment adapter,
final String runnerName
)
{
return new FluentQueryRunnerBuilder<T>(factory.getToolchest())
final QueryRunner<T> qr = new FluentQueryRunnerBuilder<T>(factory.getToolchest())
.create(
new UnionQueryRunner<T>(
new BySegmentQueryRunner<T>(
@ -464,6 +477,21 @@ public class QueryRunnerTestHelper
)
.mergeResults()
.applyPostMergeDecoration();
return new QueryRunner<T>()
{
@Override
public Sequence<T> run(Query<T> query, Map<String, Object> responseContext)
{
return qr.run(query, responseContext);
}
@Override
public String toString()
{
return runnerName;
}
};
}
public static <T> QueryRunner<T> makeFilteringQueryRunner(

View File

@ -118,7 +118,8 @@ public class DataSourceMetadataQueryTest
final QueryRunner runner = QueryRunnerTestHelper.makeQueryRunner(
(QueryRunnerFactory) new DataSourceMetadataQueryRunnerFactory(
QueryRunnerTestHelper.NOOP_QUERYWATCHER
), new IncrementalIndexSegment(rtIndex, "test")
), new IncrementalIndexSegment(rtIndex, "test"),
null
);
DateTime timestamp = new DateTime(System.currentTimeMillis());
rtIndex.add(

View File

@ -131,6 +131,7 @@ public class GroupByQueryRunnerTest
private final QueryRunner<Row> runner;
private GroupByQueryRunnerFactory factory;
private GroupByQueryConfig config;
private final String testName;
@Rule
public ExpectedException expectedException = ExpectedException.none();
@ -203,10 +204,16 @@ public class GroupByQueryRunnerTest
);
}
@Parameterized.Parameters
@Parameterized.Parameters(name = "{0}")
public static Collection<?> constructorFeeder() throws IOException
{
final GroupByQueryConfig defaultConfig = new GroupByQueryConfig();
final GroupByQueryConfig defaultConfig = new GroupByQueryConfig() {
@Override
public String toString()
{
return "default";
}
};
final GroupByQueryConfig singleThreadedConfig = new GroupByQueryConfig()
{
@Override
@ -214,6 +221,12 @@ public class GroupByQueryRunnerTest
{
return true;
}
@Override
public String toString()
{
return "singleThreaded";
}
};
final GroupByQueryConfig v2Config = new GroupByQueryConfig()
{
@ -222,6 +235,12 @@ public class GroupByQueryRunnerTest
{
return GroupByStrategySelector.STRATEGY_V2;
}
@Override
public String toString()
{
return "v2";
}
};
final GroupByQueryConfig v2SmallBufferConfig = new GroupByQueryConfig()
{
@ -242,6 +261,12 @@ public class GroupByQueryRunnerTest
{
return 10L * 1024 * 1024;
}
@Override
public String toString()
{
return "v2SmallBuffer";
}
};
final GroupByQueryConfig epinephelinaeSmallDictionaryConfig = new GroupByQueryConfig()
{
@ -262,6 +287,12 @@ public class GroupByQueryRunnerTest
{
return 10L * 1024 * 1024;
}
@Override
public String toString()
{
return "epinephelinaeSmallDictionary";
}
};
defaultConfig.setMaxIntermediateRows(10000);
@ -279,15 +310,23 @@ public class GroupByQueryRunnerTest
for (GroupByQueryConfig config : configs) {
final GroupByQueryRunnerFactory factory = makeQueryRunnerFactory(config);
for (QueryRunner<Row> runner : QueryRunnerTestHelper.makeQueryRunners(factory)) {
constructors.add(new Object[]{config, factory, runner});
final String testName = String.format(
"config=%s, runner=%s",
config.toString(),
runner.toString()
);
constructors.add(new Object[]{testName, config, factory, runner});
}
}
return constructors;
}
public GroupByQueryRunnerTest(GroupByQueryConfig config, GroupByQueryRunnerFactory factory, QueryRunner runner)
public GroupByQueryRunnerTest(
String testName, GroupByQueryConfig config, GroupByQueryRunnerFactory factory, QueryRunner runner
)
{
this.testName = testName;
this.config = config;
this.factory = factory;
this.runner = factory.mergeRunners(MoreExecutors.sameThreadExecutor(), ImmutableList.<QueryRunner<Row>>of(runner));

View File

@ -51,7 +51,7 @@ import java.util.Map;
public class GroupByTimeseriesQueryRunnerTest extends TimeseriesQueryRunnerTest
{
@SuppressWarnings("unchecked")
@Parameterized.Parameters
@Parameterized.Parameters(name="{0}")
public static Iterable<Object[]> constructorFeeder() throws IOException
{
GroupByQueryConfig config = new GroupByQueryConfig();
@ -100,6 +100,12 @@ public class GroupByTimeseriesQueryRunnerTest extends TimeseriesQueryRunnerTest
}
);
}
@Override
public String toString()
{
return input.toString();
}
};
}
}

View File

@ -167,7 +167,9 @@ public class SegmentAnalyzerTest
(QueryRunnerFactory) new SegmentMetadataQueryRunnerFactory(
new SegmentMetadataQueryQueryToolChest(new SegmentMetadataQueryConfig()),
QueryRunnerTestHelper.NOOP_QUERYWATCHER
), index
),
index,
null
);
final SegmentMetadataQuery query = new SegmentMetadataQuery(

View File

@ -88,7 +88,8 @@ public class SegmentMetadataQueryTest
return QueryRunnerTestHelper.makeQueryRunner(
factory,
segmentId,
new QueryableIndexSegment(segmentId, index)
new QueryableIndexSegment(segmentId, index),
null
);
}
@ -103,7 +104,8 @@ public class SegmentMetadataQueryTest
return QueryRunnerTestHelper.makeQueryRunner(
factory,
segmentId,
new IncrementalIndexSegment(index, segmentId)
new IncrementalIndexSegment(index, segmentId),
null
);
}

View File

@ -74,8 +74,9 @@ public class SegmentMetadataUnionQueryTest
new QueryableIndexSegment(
QueryRunnerTestHelper.segmentId,
TestIndex.getMMappedTestIndex()
)
), true
),
null
), true,
},
new Object[]{
QueryRunnerTestHelper.makeUnionQueryRunner(
@ -83,7 +84,8 @@ public class SegmentMetadataUnionQueryTest
new IncrementalIndexSegment(
TestIndex.getIncrementalTestIndex(),
QueryRunnerTestHelper.segmentId
)
),
null
), false
}
);

View File

@ -67,7 +67,7 @@ public class SearchQueryRunnerTest
QueryRunnerTestHelper.NoopIntervalChunkingQueryRunnerDecorator()
);
@Parameterized.Parameters
@Parameterized.Parameters(name="{0}")
public static Iterable<Object[]> constructorFeeder() throws IOException
{
return QueryRunnerTestHelper.transformToConstructionFeeder(

View File

@ -91,10 +91,10 @@ public class SearchQueryRunnerWithCaseTest
return transformToConstructionFeeder(
Arrays.asList(
makeQueryRunner(factory, "index1", new IncrementalIndexSegment(index1, "index1")),
makeQueryRunner(factory, "index2", new IncrementalIndexSegment(index2, "index2")),
makeQueryRunner(factory, "index3", new QueryableIndexSegment("index3", index3)),
makeQueryRunner(factory, "index4", new QueryableIndexSegment("index4", index4))
makeQueryRunner(factory, "index1", new IncrementalIndexSegment(index1, "index1"), "index1"),
makeQueryRunner(factory, "index2", new IncrementalIndexSegment(index2, "index2"), "index2"),
makeQueryRunner(factory, "index3", new QueryableIndexSegment("index3", index3), "index3"),
makeQueryRunner(factory, "index4", new QueryableIndexSegment("index4", index4), "index4")
)
);
}

View File

@ -45,7 +45,7 @@ import java.util.Map;
@RunWith(Parameterized.class)
public class TimeBoundaryQueryRunnerTest
{
@Parameterized.Parameters
@Parameterized.Parameters(name="{0}")
public static Iterable<Object[]> constructorFeeder() throws IOException
{
return QueryRunnerTestHelper.transformToConstructionFeeder(

View File

@ -121,7 +121,8 @@ public class TopNQueryQueryToolChestTest
);
QueryRunner<Result<TopNResultValue>> runner = QueryRunnerTestHelper.makeQueryRunner(
factory,
new IncrementalIndexSegment(TestIndex.getIncrementalTestIndex(), segmentId)
new IncrementalIndexSegment(TestIndex.getIncrementalTestIndex(), segmentId),
null
);
Map<String, Object> context = Maps.newHashMap();

View File

@ -106,21 +106,24 @@ public class TopNQueryRunnerBenchmark extends AbstractBenchmark
TestCases.rtIndex,
QueryRunnerTestHelper.makeQueryRunner(
factory,
new IncrementalIndexSegment(TestIndex.getIncrementalTestIndex(), segmentId)
new IncrementalIndexSegment(TestIndex.getIncrementalTestIndex(), segmentId),
null
)
);
testCaseMap.put(
TestCases.mMappedTestIndex,
QueryRunnerTestHelper.makeQueryRunner(
factory,
new QueryableIndexSegment(segmentId, TestIndex.getMMappedTestIndex())
new QueryableIndexSegment(segmentId, TestIndex.getMMappedTestIndex()),
null
)
);
testCaseMap.put(
TestCases.mergedRealtimeIndex,
QueryRunnerTestHelper.makeQueryRunner(
factory,
new QueryableIndexSegment(segmentId, TestIndex.mergedRealtimeIndex())
new QueryableIndexSegment(segmentId, TestIndex.mergedRealtimeIndex()),
null
)
);
//Thread.sleep(10000);

View File

@ -90,7 +90,7 @@ import java.util.Map;
@RunWith(Parameterized.class)
public class TopNQueryRunnerTest
{
@Parameterized.Parameters
@Parameterized.Parameters(name="{0}")
public static Iterable<Object[]> constructorFeeder() throws IOException
{
List<QueryRunner<Result<TopNResultValue>>> retVal = Lists.newArrayList();

View File

@ -57,7 +57,7 @@ public class TopNUnionQueryTest
this.runner = runner;
}
@Parameterized.Parameters
@Parameterized.Parameters(name="{0}")
public static Iterable<Object[]> constructorFeeder() throws IOException
{
return QueryRunnerTestHelper.cartesian(

View File

@ -606,13 +606,15 @@ public class RealtimeManagerTest
interval_26_28,
QueryRunnerTestHelper.makeQueryRunner(
factory,
"druid.sample.tsv.top"
"druid.sample.tsv.top",
null
)
,
interval_28_29,
QueryRunnerTestHelper.makeQueryRunner(
factory,
"druid.sample.tsv.bottom"
"druid.sample.tsv.bottom",
null
)
);
plumber.setRunners(runnerMap);