summaryrefslogtreecommitdiff
path: root/functional/common/exceptions.py
diff options
context:
space:
mode:
authorSteve Martinelli <stevemar@ca.ibm.com>2014-09-19 02:42:55 +0000
committerSteve Martinelli <stevemar@ca.ibm.com>2014-10-01 19:46:07 -0400
commit742982af4bb94b73a78c06688732acf1c8127f8a (patch)
tree0c84f0dbcb181e044c440bf7411811b014d72495 /functional/common/exceptions.py
parent02320a5a2437acdc501a003cca53310a444e4b4e (diff)
downloadpython-openstackclient-742982af4bb94b73a78c06688732acf1c8127f8a.tar.gz
Add functional tests to osc
Create a script that kicks off function tests that exercise openstackclient commands against a cloud. If no keystone/openstack process is detected, a devstack instance is spun up and the tests are run against that. There is also a hook added to tox.ini so that we can run these tests easily from a gate job. Change-Id: I3cc8b2b800de7ca74af506d2c7e8ee481fa985f0
Diffstat (limited to 'functional/common/exceptions.py')
-rw-r--r--functional/common/exceptions.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/functional/common/exceptions.py b/functional/common/exceptions.py
new file mode 100644
index 00000000..47c6071e
--- /dev/null
+++ b/functional/common/exceptions.py
@@ -0,0 +1,26 @@
+# 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.
+
+
+class CommandFailed(Exception):
+ def __init__(self, returncode, cmd, output, stderr):
+ super(CommandFailed, self).__init__()
+ self.returncode = returncode
+ self.cmd = cmd
+ self.stdout = output
+ self.stderr = stderr
+
+ def __str__(self):
+ return ("Command '%s' returned non-zero exit status %d.\n"
+ "stdout:\n%s\n"
+ "stderr:\n%s" % (self.cmd, self.returncode,
+ self.stdout, self.stderr))