Mercurial > hg > orthanc-databases
comparison MySQL/UnitTests/UnitTestsMain.cpp @ 22:1e9bad493475
prevent running unit tests on a non-existing db
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 11 Jul 2018 14:39:59 +0200 |
parents | 54ea251aed70 |
children | b2ff1cd2907a |
comparison
equal
deleted
inserted
replaced
21:2e5d2c69d4f9 | 22:1e9bad493475 |
---|---|
143 << "Example (Windows): " << argv[0] << " localhost 3306 root root orthanctest" | 143 << "Example (Windows): " << argv[0] << " localhost 3306 root root orthanctest" |
144 << std::endl << std::endl; | 144 << std::endl << std::endl; |
145 return -1; | 145 return -1; |
146 } | 146 } |
147 | 147 |
148 if (argc == 5) | 148 std::vector<std::string> args; |
149 { | 149 for (int i = 1; i < argc; i++) |
150 // UNIX | 150 { |
151 globalParameters_.SetUnixSocket(argv[1]); | 151 // Ignore arguments beginning with "-" to allow passing arguments |
152 globalParameters_.SetUsername(argv[2]); | 152 // to Google Test such as "--gtest_filter=" |
153 globalParameters_.SetPassword(argv[3]); | 153 if (argv[i] != NULL && |
154 globalParameters_.SetDatabase(argv[4]); | 154 argv[i][0] != '-') |
155 } | 155 { |
156 else | 156 args.push_back(std::string(argv[i])); |
157 { | 157 } |
158 // Windows | 158 } |
159 globalParameters_.SetHost(argv[1]); | 159 |
160 globalParameters_.SetPort(boost::lexical_cast<unsigned int>(argv[2])); | |
161 globalParameters_.SetUsername(argv[3]); | |
162 globalParameters_.SetPassword(argv[4]); | |
163 globalParameters_.SetDatabase(argv[5]); | |
164 } | |
165 | |
166 ::testing::InitGoogleTest(&argc, argv); | 160 ::testing::InitGoogleTest(&argc, argv); |
167 Orthanc::Logging::Initialize(); | 161 Orthanc::Logging::Initialize(); |
168 Orthanc::Logging::EnableInfoLevel(true); | 162 Orthanc::Logging::EnableInfoLevel(true); |
169 Orthanc::Logging::EnableTraceLevel(true); | 163 Orthanc::Logging::EnableTraceLevel(true); |
164 | |
165 if (args.size() == 4) | |
166 { | |
167 // UNIX flavor | |
168 globalParameters_.SetUnixSocket(args[0]); | |
169 globalParameters_.SetUsername(args[1]); | |
170 globalParameters_.SetPassword(args[2]); | |
171 globalParameters_.SetDatabase(args[3]); | |
172 } | |
173 else if (args.size() == 5) | |
174 { | |
175 // Windows flavor | |
176 globalParameters_.SetHost(args[0]); | |
177 globalParameters_.SetPort(boost::lexical_cast<unsigned int>(args[1])); | |
178 globalParameters_.SetUsername(args[2]); | |
179 globalParameters_.SetPassword(args[3]); | |
180 globalParameters_.SetDatabase(args[4]); | |
181 } | |
182 else | |
183 { | |
184 LOG(ERROR) << "Bad number of arguments"; | |
185 return -1; | |
186 } | |
187 | |
188 Json::Value config; | |
189 globalParameters_.Format(config); | |
190 std::cout << "Parameters of the MySQL connection: " << std::endl | |
191 << config.toStyledString() << std::endl; | |
170 | 192 |
171 int result = RUN_ALL_TESTS(); | 193 int result = RUN_ALL_TESTS(); |
172 | 194 |
173 Orthanc::Logging::Finalize(); | 195 Orthanc::Logging::Finalize(); |
174 | 196 |