[ https://issues.apache.org/jira/browse/GEODE-2470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15865017#comment-15865017 ]
ASF GitHub Bot commented on GEODE-2470: --------------------------------------- Github user pivotal-jbarrett commented on a diff in the pull request: https://github.com/apache/geode-native/pull/6#discussion_r100957079 --- Diff: src/cppcache/integration-test/CacheHelper.cpp --- @@ -1382,6 +1377,31 @@ void CacheHelper::createDuplicateXMLFile(std::string& originalFile, CacheHelper::staticConfigFileList.size()); } +void CacheHelper::replacePortsInFile(int hostPort1, int hostPort2, + int hostPort3, int hostPort4, int locPort1, + int locPort2, const std::string& inFile, + const std::string& outFile) { + std::ifstream in(inFile, std::ios::in | std::ios::binary); + if (in) { + std::string contents; + in.seekg(0, std::ios::end); + contents.resize(in.tellg()); + in.seekg(0, std::ios::beg); + in.read(&contents[0], contents.size()); + in.close(); + + contents = std::regex_replace(contents, std::regex("HOST_PORT1"), std::to_string(hostPort1)); + contents = std::regex_replace(contents, std::regex("HOST_PORT2"), std::to_string(hostPort2)); + contents = std::regex_replace(contents, std::regex("HOST_PORT3"), std::to_string(hostPort3)); + contents = std::regex_replace(contents, std::regex("HOST_PORT4"), std::to_string(hostPort4)); + contents = std::regex_replace(contents, std::regex("LOC_PORT1"), std::to_string(locPort1)); + contents = std::regex_replace(contents, std::regex("LOC_PORT2"), std::to_string(locPort2)); + + std::ofstream out(outFile, std::ios::out); + out.write(&contents[0], contents.size()); --- End diff -- ``` out << contents; out.close(); ``` > Remove Dependency on sed tool > ----------------------------- > > Key: GEODE-2470 > URL: https://issues.apache.org/jira/browse/GEODE-2470 > Project: Geode > Issue Type: Improvement > Components: native client > Reporter: Michael Martell > > The integration tests currently rely on sed to replace strings inside config > xml files. This task replaces that dependency with standard C++ code. -- This message was sent by Atlassian JIRA (v6.3.15#6346)