@@ -2141,4 +2141,42 @@ namespace {
21412141 StatusCountMap expectedStatusCountMap{ { testsgen::TEST_PASSED, 3 } };
21422142 testUtils::checkStatuses (resultsMap, tests);
21432143 }
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+ }
21442182}
0 commit comments