@@ -2070,4 +2070,42 @@ namespace {
2070
2070
StatusCountMap expectedStatusCountMap{ { testsgen::TEST_PASSED, 9 } };
2071
2071
testUtils::checkStatuses (resultsMap, tests);
2072
2072
}
2073
+
2074
+ TEST_F (Server_Test, Run_Tests_For_Structs_With_Pointers) {
2075
+ fs::path structs_with_pointers_c = getTestFilePath (" structs_with_pointers.c" );
2076
+ auto request = testUtils::createFileRequest (projectName, suitePath, buildDirRelativePath,
2077
+ srcPaths, structs_with_pointers_c,
2078
+ GrpcUtils::UTBOT_AUTO_TARGET_PATH, true , false );
2079
+ auto testGen = FileTestGen (*request, writer.get (), TESTMODE);
2080
+ Status status = Server::TestsGenServiceImpl::ProcessBaseTestRequest (testGen, writer.get ());
2081
+ ASSERT_TRUE (status.ok ()) << status.error_message ();
2082
+ EXPECT_GE (testUtils::getNumberOfTests (testGen.tests ), 3 );
2083
+
2084
+ fs::path testsDirPath = getTestFilePath (" tests" );
2085
+
2086
+ fs::path structs_with_pointers_test_cpp = Paths::sourcePathToTestPath (
2087
+ utbot::ProjectContext (projectName, suitePath, testsDirPath, buildDirRelativePath, clientProjectPath),
2088
+ structs_with_pointers_c);
2089
+ auto testFilter = GrpcUtils::createTestFilterForFile (structs_with_pointers_test_cpp);
2090
+ auto runRequest = testUtils::createCoverageAndResultsRequest (
2091
+ projectName, suitePath, testsDirPath, buildDirRelativePath, std::move (testFilter));
2092
+
2093
+ static auto coverageAndResultsWriter =
2094
+ std::make_unique<ServerCoverageAndResultsWriter>(nullptr );
2095
+ CoverageAndResultsGenerator coverageGenerator{ runRequest.get (),
2096
+ coverageAndResultsWriter.get () };
2097
+ utbot::SettingsContext settingsContext{
2098
+ true , false , 45 , 0 , false , false , ErrorMode::FAILING, false
2099
+ };
2100
+ coverageGenerator.generate (false , settingsContext);
2101
+
2102
+ EXPECT_FALSE (coverageGenerator.hasExceptions ());
2103
+ ASSERT_TRUE (coverageGenerator.getCoverageMap ().empty ());
2104
+
2105
+ auto resultsMap = coverageGenerator.getTestResultMap ();
2106
+ auto tests = coverageGenerator.getTestsToLaunch ();
2107
+
2108
+ StatusCountMap expectedStatusCountMap{ { testsgen::TEST_PASSED, 3 } };
2109
+ testUtils::checkStatuses (resultsMap, tests);
2110
+ }
2073
2111
}
0 commit comments