diff options
author | Alan Conway <aconway@apache.org> | 2007-06-27 00:12:26 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2007-06-27 00:12:26 +0000 |
commit | d032f5584b0f1de890844a2796d6ba158b011fca (patch) | |
tree | 7ffc500423a1cee3c39d2a5e27d301057fbcd0e9 /cpp/src/qpid/CommonOptions.cpp | |
parent | 2e15ee024a7f47bda7bd6ea5991657a820bd0714 (diff) | |
download | qpid-python-d032f5584b0f1de890844a2796d6ba158b011fca.tar.gz |
Make check now starts a broker on a dynamically assigned port, so
multiple qpid builds on one host will not conflict.
* src/tests/run_test, start_broker, kill_broker:
Broker writes port to file, run_test sets QPID_PORT
in environment of all tests.
* src/tests/topic_publisher.cpp, topic_listener.cpp, client_test.cpp:
All test clients use TestOptions to parse options from args and env.
* src/qpid/Options.h: Renamed from CommonOptions.h
Simplified use of Options class.
* src/qpid/Url.h: Renamed defaultPort constant.
* src/tests/logging.cpp:
* src/tests/interop_runner.cpp:
* src/tests/TestOptions.h:
* src/qpidd.cpp:
* src/qpid/log/Options.cpp:
* src/qpid/log/Logger.cpp:
* src/qpid/broker/Broker.cpp:
Updated for changes to Options.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@550993 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/CommonOptions.cpp')
-rw-r--r-- | cpp/src/qpid/CommonOptions.cpp | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/cpp/src/qpid/CommonOptions.cpp b/cpp/src/qpid/CommonOptions.cpp deleted file mode 100644 index 2224f0e75b..0000000000 --- a/cpp/src/qpid/CommonOptions.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/* - * - * Copyright (c) 2006 The Apache Software Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include "CommonOptions.h" -#include "qpid/Exception.h" -#include <fstream> -#include <algorithm> -#include <iostream> - -namespace qpid { -namespace program_options { - -char env2optchar(char env) { - return (env=='_') ? '-' : tolower(env); -} - -const std::string envPrefix("QPID_"); - -std::string env2option(const std::string& env) { - if (env.find(envPrefix) == 0) { - std::string opt = env.substr(envPrefix.size()); - std::transform(opt.begin(), opt.end(), opt.begin(), env2optchar); - return opt; - } - return std::string(); -} - -std::string prettyArg(const std::string& name, const std::string& value) { - return value.empty() ? name : name+" (="+value+")"; -} - -} // namespace program_options - -const int CommonOptions::DEFAULT_PORT=5672; - -CommonOptions::CommonOptions() : trace(false), port(DEFAULT_PORT) {} - -void CommonOptions::addTo(po::options_description& desc) -{ - using namespace po; - desc.add_options() - ("trace,t", optValue(trace), "Enable debug tracing" ) - ("port,p", optValue(port,"PORT"), "Use PORT for AMQP connections."); -} - -void parseOptions( - po::options_description& desc, int argc, char** argv, - const std::string& configFile) -{ - po::variables_map vm; - po::store(po::parse_command_line(argc, argv, desc), vm); - try { - po::store(po::parse_environment(desc, po::env2option), vm); - } - catch (const po::unknown_option& e) { - std::cerr << e.what() << std::endl; - } - catch (const po::error& e) { - throw po::error(std::string("parsing environment variables: ") - + e.what()); - } - po::notify(vm); // configFile may be updated from arg/env options. - if (!configFile.empty()) { - try { - using namespace std; - ifstream conf(configFile.c_str()); - if (conf.good()) { - conf.exceptions(ifstream::failbit|ifstream::badbit); - po::store(po::parse_config_file(conf, desc), vm); - } - } - catch (const std::exception& e) { - throw Exception(std::string("error parsing config file: ")+ e.what()); - } - } - po::notify(vm); -} - -} // namespace qpid - |