summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-04-04 19:35:14 +0000
committerAlan Conway <aconway@apache.org>2008-04-04 19:35:14 +0000
commit248277697e369d951b6f2a5cd60401ccf9762923 (patch)
tree41c006d4ca138052e963f55cb4d0a48338bcaea9
parentf7204bd30d2efb2a7290e6f231beb3122fdaba7b (diff)
downloadqpid-python-248277697e369d951b6f2a5cd60401ccf9762923.tar.gz
Minor cleanup of base Exception and python_tests script.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@644845 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--cpp/src/qpid/Exception.cpp26
-rw-r--r--cpp/src/qpid/Exception.h23
-rwxr-xr-xcpp/src/tests/python_tests6
3 files changed, 20 insertions, 35 deletions
diff --git a/cpp/src/qpid/Exception.cpp b/cpp/src/qpid/Exception.cpp
index fbd3f9d2a0..5c6867a4f9 100644
--- a/cpp/src/qpid/Exception.cpp
+++ b/cpp/src/qpid/Exception.cpp
@@ -33,31 +33,23 @@ std::string strError(int err) {
return std::string(strerror_r(err, buf, sizeof(buf)));
}
-Exception::Exception(const std::string& msg,
- const std::string& nm,
- uint16_t cd) throw()
- : message(msg), name(nm), code(cd),
- whatStr((name.empty() ? "" : name + ": ")+ msg)
-{
- QPID_LOG(warning, "Exception: " << whatStr);
+Exception::Exception(const std::string& msg) throw() : message(msg) {
+ QPID_LOG(warning, "Exception: " << message);
}
Exception::~Exception() throw() {}
-std::string Exception::getMessage() const throw() { return message; }
-
-std::string Exception::getName() const throw() {
- return name.empty() ? typeid(*this).name() : name;
-}
-
-uint16_t Exception::getCode() const throw() { return code; }
+std::string Exception::getPrefix() const { return typeid(*this).name(); }
const char* Exception::what() const throw() {
- if (whatStr.empty()) return typeid(*this).name();
- else return whatStr.c_str();
+ if (whatStr.empty())
+ whatStr = getPrefix() + ": " + message;
+ return whatStr.c_str();
}
ClosedException::ClosedException(const std::string& msg)
- : Exception(msg, "ClosedException") {}
+ : Exception(msg) {}
+
+std::string ClosedException::getPrefix() const { return "Closed"; }
} // namespace qpid
diff --git a/cpp/src/qpid/Exception.h b/cpp/src/qpid/Exception.h
index ff62817719..2f934166a7 100644
--- a/cpp/src/qpid/Exception.h
+++ b/cpp/src/qpid/Exception.h
@@ -40,27 +40,15 @@ std::string strError(int err);
class Exception : public std::exception
{
public:
- explicit Exception(const std::string& message=std::string(),
- const std::string& name=std::string(),
- uint16_t code=0) throw();
-
+ explicit Exception(const std::string& message=std::string()) throw();
virtual ~Exception() throw();
-
- // returns "name: message"
virtual const char* what() const throw();
- virtual std::string getName() const throw();
- virtual std::string getMessage() const throw();
- virtual uint16_t getCode() const throw();
-
- // FIXME aconway 2008-02-21: backwards compat, remove?
- std::string str() const throw() { return getMessage(); }
-
+ protected:
+ std::string getPrefix() const;
private:
- const std::string message;
- const std::string name;
- const uint16_t code;
- const std::string whatStr;
+ std::string message;
+ mutable std::string whatStr;
};
/**
@@ -90,6 +78,7 @@ struct ConnectionException : public SessionException {
struct ClosedException : public Exception {
ClosedException(const std::string& msg=std::string());
+ std::string getPrefix() const;
};
} // namespace qpid
diff --git a/cpp/src/tests/python_tests b/cpp/src/tests/python_tests
index 9a1bfff6a9..7e6ab8a312 100755
--- a/cpp/src/tests/python_tests
+++ b/cpp/src/tests/python_tests
@@ -1,7 +1,11 @@
#!/bin/sh
# Run the python tests.
+QPID_PORT=${QPID_PORT:-5672}
+PYTHON_TESTS=${PYTHON_TESTS:-$*}
if test -d ../../../python ; then
- cd ../../../python && ./run-tests --skip-self-test -v -s ../specs/amqp.0-10-preview.xml -I cpp_failing_0-10_preview.txt -b localhost:$QPID_PORT $PYTHON_TESTS && ./run-tests --skip-self-test -v -s "0-10" -I cpp_failing_0-10.txt -b localhost:$QPID_PORT $PYTHON_TESTS
+ cd ../../../python
+ test -z "$QPID_NO_PREVIEW" && ./run-tests --skip-self-test -v -s ../specs/amqp.0-10-preview.xml -I cpp_failing_0-10_preview.txt -b localhost:$QPID_PORT $PYTHON_TESTS
+ ./run-tests --skip-self-test -v -s "0-10" -I cpp_failing_0-10.txt -b localhost:$QPID_PORT $PYTHON_TESTS
else
echo Warning: python tests not found.
fi