summaryrefslogtreecommitdiff
path: root/functional
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-11-16 17:41:33 +0000
committerGerrit Code Review <review@openstack.org>2014-11-16 17:41:33 +0000
commitb4ca5cc9c174494a392ff70f5631ac51e0103e30 (patch)
tree63c2530435726e89436d4dd88e491907c7850649 /functional
parentf5a2811b6546007eac055151e320005c0d4410d0 (diff)
parent126b2c543617866e9e1ea45ef9c5770ce5f5dda9 (diff)
downloadpython-openstackclient-b4ca5cc9c174494a392ff70f5631ac51e0103e30.tar.gz
Merge "Add an API example base and functional test base"
Diffstat (limited to 'functional')
-rw-r--r--functional/common/test.py6
-rw-r--r--functional/tests/test_examples.py22
2 files changed, 28 insertions, 0 deletions
diff --git a/functional/common/test.py b/functional/common/test.py
index c1bb0b10..464844fa 100644
--- a/functional/common/test.py
+++ b/functional/common/test.py
@@ -10,6 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
+import os
import re
import shlex
import subprocess
@@ -19,6 +20,11 @@ import six
from functional.common import exceptions
+COMMON_DIR = os.path.dirname(os.path.abspath(__file__))
+FUNCTIONAL_DIR = os.path.normpath(os.path.join(COMMON_DIR, '..'))
+ROOT_DIR = os.path.normpath(os.path.join(FUNCTIONAL_DIR, '..'))
+EXAMPLE_DIR = os.path.join(ROOT_DIR, 'examples')
+
def execute(cmd, action, flags='', params='', fail_ok=False,
merge_stderr=False):
diff --git a/functional/tests/test_examples.py b/functional/tests/test_examples.py
new file mode 100644
index 00000000..fdaa26b8
--- /dev/null
+++ b/functional/tests/test_examples.py
@@ -0,0 +1,22 @@
+# 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.
+
+from functional.common import test
+
+
+class ExampleTests(test.TestCase):
+ """Functional tests for running examples."""
+
+ def test_common(self):
+ # NOTE(stevemar): If an examples has a non-zero return
+ # code, then execute will raise an error by default.
+ test.execute('python', test.EXAMPLE_DIR + '/common.py --debug')