The following issues were found
src/mongo/db/pipeline/document_source_internal_unpack_bucket_test/group_reorder_test.cpp
1 issues
Line: 59
ASSERT_BSONOBJ_EQ(optimized, serialized[0]);
}
TEST_F(InternalUnpackBucketGroupReorder, OptimizeForCountNegative) {
auto unpackSpecObj = fromjson(
"{$_internalUnpackBucket: { include: ['a', 'b', 'c'], metaField: 'meta', timeField: 't', "
"bucketMaxSpanSeconds: 3600}}");
auto groupSpecObj = fromjson("{$group: {_id: '$a', s: {$sum: '$b'}}}");
Reported by Cppcheck.
src/mongo/db/pipeline/document_source_internal_unpack_bucket_test/internalize_project_test.cpp
1 issues
Line: 60
serializedArray[0].getDocument().toBson());
}
TEST_F(InternalUnpackBucketInternalizeProjectTest, InternalizesInclusionButExcludesId) {
auto unpack = DocumentSourceInternalUnpackBucket::createFromBsonInternal(
fromjson("{$_internalUnpackBucket: { exclude: [], timeField: 'foo', bucketMaxSpanSeconds: "
"3600}}")
.firstElement(),
getExpCtx());
Reported by Cppcheck.
src/mongo/db/pipeline/document_source_internal_unpack_bucket_test/optimize_pipeline_test.cpp
1 issues
Line: 68
ASSERT_BSONOBJ_EQ(fromjson("{$match: {a: {$lte: 4}}}"), stages[2].getDocument().toBson());
}
TEST_F(OptimizePipeline, MetaMatchPushedDown) {
auto unpack = fromjson(
"{$_internalUnpackBucket: { exclude: [], timeField: 'foo', metaField: 'myMeta', "
"bucketMaxSpanSeconds: 3600}}");
auto pipeline =
Pipeline::parse(makeVector(unpack, fromjson("{$match: {myMeta: {$gte: 0}}}")), getExpCtx());
Reported by Cppcheck.
src/mongo/db/pipeline/document_source_internal_unpack_bucket_test/pushdown_computed_meta_projections_test.cpp
1 issues
Line: 68
serialized[1]);
}
TEST_F(InternalUnpackBucketPushdownProjectionsTest, OptimizeAddFieldsWithMetaProjectionDocument) {
auto unpackSpecObj = fromjson(
"{$_internalUnpackBucket: { exclude: [], timeField: 'foo', metaField: 'myMeta', "
"bucketMaxSpanSeconds: 3600}}");
auto addFieldsSpecObj =
fromjson("{$addFields: {newMeta: {$concat: ['$myMeta.a', '$myMeta.b']}}}");
Reported by Cppcheck.
src/mongo/db/pipeline/document_source_internal_unpack_bucket_test/sample_reorder_test.cpp
1 issues
Line: 60
ASSERT_EQ(kComparator.compare(projectSpec, serialized[2]), 0);
}
TEST_F(InternalUnpackBucketSampleReorderTest, SampleThenComputedProject) {
auto unpackSpec = fromjson(
"{$_internalUnpackBucket: { exclude: [], timeField: 'foo', metaField: 'myMeta', "
"bucketMaxSpanSeconds: 3600}}");
auto sampleSpec = fromjson("{$sample: {size: 500}}");
auto projectSpec =
Reported by Cppcheck.
src/mongo/db/pipeline/document_source_internal_unpack_bucket_test/sort_reorder_test.cpp
1 issues
Line: 57
ASSERT_BSONOBJ_EQ(unpackSpecObj, serialized[1]);
}
TEST_F(InternalUnpackBucketSortReorderTest, OptimizeForMetaSortNegative) {
auto unpackSpecObj = fromjson(
"{$_internalUnpackBucket: { exclude: [], timeField: 'foo', metaField: 'meta1', "
"bucketMaxSpanSeconds: 3600}}");
auto countSpecObj = fromjson("{$sort: {'meta1.a': 1, 'unrelated': -1}}");
Reported by Cppcheck.
src/mongo/db/pipeline/document_source_internal_unpack_bucket_test/split_match_on_meta_and_rename_test.cpp
1 issues
Line: 62
ASSERT_BSONOBJ_EQ(matchToSplit->getQuery(), remainingMatch->getQuery());
}
TEST_F(InternalUnpackBucketSplitMatchOnMetaAndRename, DoesNotSplitWhenNoMatchOnMetaField) {
auto unpack = DocumentSourceInternalUnpackBucket::createFromBsonInternal(
fromjson("{$_internalUnpackBucket: { exclude: [], timeField: 'foo', metaField: 'myMeta', "
"bucketMaxSpanSeconds: 3600}}")
.firstElement(),
getExpCtx());
Reported by Cppcheck.
src/mongo/db/pipeline/document_source_internal_unpack_bucket_test/unpack_bucket_exec_test.cpp
1 issues
Line: 44
using InternalUnpackBucketExecTest = AggregationContextFixture;
TEST_F(InternalUnpackBucketExecTest, UnpackBasicIncludeAllMeasurementFields) {
auto expCtx = getExpCtx();
auto spec = BSON(DocumentSourceInternalUnpackBucket::kStageNameInternal << BSON(
DocumentSourceInternalUnpackBucket::kInclude
<< BSON_ARRAY("_id" << kUserDefinedTimeName << kUserDefinedMetaName << "a"
Reported by Cppcheck.
src/mongo/db/pipeline/document_source_limit_test.cpp
1 issues
Line: 64
ASSERT_TRUE(source->isDisposed);
}
TEST_F(DocumentSourceLimitTest, ShouldNotBeAbleToLimitToZeroDocuments) {
auto source = DocumentSourceMock::createForTest({"{a: 1}", "{a: 2}"}, getExpCtx());
ASSERT_THROWS_CODE(DocumentSourceLimit::create(getExpCtx(), 0), AssertionException, 15958);
}
TEST_F(DocumentSourceLimitTest, ShouldRejectUserLimitOfZero) {
Reported by Cppcheck.
src/mongo/db/pipeline/document_source_lookup_test.cpp
1 issues
Line: 88
// A 'let' variable defined in a $lookup stage is expected to be available to all sub-pipelines. For
// sub-pipelines below the immediate one, they are passed to via ExpressionContext. This test
// confirms that variables defined in the ExpressionContext are captured by the $lookup stage.
TEST_F(DocumentSourceLookUpTest, PreservesParentPipelineLetVariables) {
auto expCtx = getExpCtx();
NamespaceString fromNs("test", "coll");
expCtx->setResolvedNamespaces(StringMap<ExpressionContext::ResolvedNamespace>{
{fromNs.coll().toString(), {fromNs, std::vector<BSONObj>()}}});
Reported by Cppcheck.