Fix memory leak in test (#18622)

* Fix memory leak in test

test=develop

* Fix memory leak in test
test=develop

* Fix memory leak in test
test=develop

* Pull out vars of the loops
test=develop
padding_in_crf
Krzysztof Binias 6 years ago committed by Tao Luo
parent ee2f296ef8
commit c2c876f718

@ -61,23 +61,27 @@ int main(int argc, char** argv) {
undefok.push_back("initial_cpu_memory_in_mb"); undefok.push_back("initial_cpu_memory_in_mb");
#endif #endif
char* env_str = nullptr;
if (envs.size() > 0) { if (envs.size() > 0) {
std::string env_string = "--tryfromenv="; std::string env_string = "--tryfromenv=";
for (auto t : envs) { for (auto t : envs) {
env_string += t + ","; env_string += t + ",";
} }
env_string = env_string.substr(0, env_string.length() - 1); env_string = env_string.substr(0, env_string.length() - 1);
new_argv.push_back(strdup(env_string.c_str())); env_str = strdup(env_string.c_str());
new_argv.push_back(env_str);
VLOG(1) << "gtest env_string:" << env_string; VLOG(1) << "gtest env_string:" << env_string;
} }
char* undefok_str = nullptr;
if (undefok.size() > 0) { if (undefok.size() > 0) {
std::string undefok_string = "--undefok="; std::string undefok_string = "--undefok=";
for (auto t : undefok) { for (auto t : undefok) {
undefok_string += t + ","; undefok_string += t + ",";
} }
undefok_string = undefok_string.substr(0, undefok_string.length() - 1); undefok_string = undefok_string.substr(0, undefok_string.length() - 1);
new_argv.push_back(strdup(undefok_string.c_str())); undefok_str = strdup(undefok_string.c_str());
new_argv.push_back(undefok_str);
VLOG(1) << "gtest undefok_string:" << undefok_string; VLOG(1) << "gtest undefok_string:" << undefok_string;
} }
@ -85,5 +89,11 @@ int main(int argc, char** argv) {
char** new_argv_address = new_argv.data(); char** new_argv_address = new_argv.data();
google::ParseCommandLineFlags(&new_argc, &new_argv_address, false); google::ParseCommandLineFlags(&new_argc, &new_argv_address, false);
paddle::framework::InitDevices(true); paddle::framework::InitDevices(true);
return RUN_ALL_TESTS();
int ret = RUN_ALL_TESTS();
if (env_str) free(env_str);
if (undefok_str) free(undefok_str);
return ret;
} }

Loading…
Cancel
Save