@@ -2141,4 +2141,42 @@ namespace {
2141
2141
StatusCountMap expectedStatusCountMap{ { testsgen::TEST_PASSED, 3 } };
2142
2142
testUtils::checkStatuses (resultsMap, tests);
2143
2143
}
2144
+
2145
+ TEST_F (Server_Test, Run_Tests_For_Structs_With_Pointers) {
2146
+ fs::path structs_with_pointers_c = getTestFilePath (" structs_with_pointers.c" );
2147
+ auto request = testUtils::createFileRequest (projectName, suitePath, buildDirRelativePath,
2148
+ srcPaths, structs_with_pointers_c,
2149
+ GrpcUtils::UTBOT_AUTO_TARGET_PATH, true , false );
2150
+ auto testGen = FileTestGen (*request, writer.get (), TESTMODE);
2151
+ Status status = Server::TestsGenServiceImpl::ProcessBaseTestRequest (testGen, writer.get ());
2152
+ ASSERT_TRUE (status.ok ()) << status.error_message ();
2153
+ EXPECT_GE (testUtils::getNumberOfTests (testGen.tests ), 3 );
2154
+
2155
+ fs::path testsDirPath = getTestFilePath (" tests" );
2156
+
2157
+ fs::path structs_with_pointers_test_cpp = Paths::sourcePathToTestPath (
2158
+ utbot::ProjectContext (projectName, suitePath, testsDirPath, buildDirRelativePath, clientProjectPath),
2159
+ structs_with_pointers_c);
2160
+ auto testFilter = GrpcUtils::createTestFilterForFile (structs_with_pointers_test_cpp);
2161
+ auto runRequest = testUtils::createCoverageAndResultsRequest (
2162
+ projectName, suitePath, testsDirPath, buildDirRelativePath, std::move (testFilter));
2163
+
2164
+ static auto coverageAndResultsWriter =
2165
+ std::make_unique<ServerCoverageAndResultsWriter>(nullptr );
2166
+ CoverageAndResultsGenerator coverageGenerator{ runRequest.get (),
2167
+ coverageAndResultsWriter.get () };
2168
+ utbot::SettingsContext settingsContext{
2169
+ true , false , 45 , 0 , false , false , ErrorMode::FAILING, false
2170
+ };
2171
+ coverageGenerator.generate (false , settingsContext);
2172
+
2173
+ EXPECT_FALSE (coverageGenerator.hasExceptions ());
2174
+ ASSERT_TRUE (coverageGenerator.getCoverageMap ().empty ());
2175
+
2176
+ auto resultsMap = coverageGenerator.getTestResultMap ();
2177
+ auto tests = coverageGenerator.getTestsToLaunch ();
2178
+
2179
+ StatusCountMap expectedStatusCountMap{ { testsgen::TEST_PASSED, 3 } };
2180
+ testUtils::checkStatuses (resultsMap, tests);
2181
+ }
2144
2182
}
0 commit comments