diff options
Diffstat (limited to 'testcases')
-rwxr-xr-x | testcases/OpenStack/rally/run_rally-cert.py | 4 | ||||
-rwxr-xr-x | testcases/features/copper.py | 80 | ||||
-rw-r--r-- | testcases/features/doctor.py | 6 | ||||
-rwxr-xr-x | testcases/features/sfc/tacker_client_install.sh | 43 |
4 files changed, 128 insertions, 5 deletions
diff --git a/testcases/OpenStack/rally/run_rally-cert.py b/testcases/OpenStack/rally/run_rally-cert.py index 783932249..47b826d6c 100755 --- a/testcases/OpenStack/rally/run_rally-cert.py +++ b/testcases/OpenStack/rally/run_rally-cert.py @@ -530,10 +530,10 @@ def main(): # logger.info("Results: "+str(json_results)) # Evaluation of the success criteria - status = "failed" + status = "FAIL" # for Rally we decided that the overall success rate must be above 90% if total_success >= 90: - status = "passed" + status = "PASS" if args.sanity: case_name = "rally_sanity" diff --git a/testcases/features/copper.py b/testcases/features/copper.py new file mode 100755 index 000000000..54136a877 --- /dev/null +++ b/testcases/features/copper.py @@ -0,0 +1,80 @@ +#!/usr/bin/python
+#
+# Copyright 2016 AT&T Intellectual Property, Inc
+#
+# 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.
+#
+
+import os
+import time
+import yaml
+
+import functest.utils.functest_logger as ft_logger
+import functest.utils.functest_utils as functest_utils
+
+with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f:
+ functest_yaml = yaml.safe_load(f)
+
+dirs = functest_yaml.get('general').get('directories')
+FUNCTEST_REPO = dirs.get('dir_repo_functest')
+COPPER_REPO = dirs.get('dir_repo_copper')
+TEST_DB_URL = functest_yaml.get('results').get('test_db_url')
+
+logger = ft_logger.Logger("copper").getLogger()
+
+
+def main():
+ cmd = ('%s/tests/run.sh' % COPPER_REPO)
+ start_time = time.time()
+
+ ret = functest_utils.execute_command(cmd, logger, exit_on_error=False)
+
+ stop_time = time.time()
+ duration = round(stop_time - start_time, 1)
+ if ret == 0:
+ logger.info("COPPER PASSED")
+ test_status = 'PASS'
+ else:
+ logger.info("COPPER FAILED")
+ test_status = 'FAIL'
+
+ details = {
+ 'timestart': start_time,
+ 'duration': duration,
+ 'status': test_status,
+ }
+ pod_name = functest_utils.get_pod_name(logger)
+ scenario = functest_utils.get_scenario(logger)
+ version = functest_utils.get_version(logger)
+ build_tag = functest_utils.get_build_tag(logger)
+
+ logger.info("Pushing COPPER results: TEST_DB_URL=%(db)s pod_name=%(pod)s "
+ "version=%(v)s scenario=%(s)s criteria=%(c)s details=%(d)s" % {
+ 'db': TEST_DB_URL,
+ 'pod': pod_name,
+ 'v': version,
+ 's': scenario,
+ 'c': details['status'],
+ 'b': build_tag,
+ 'd': details,
+ })
+ functest_utils.push_results_to_db("COPPER",
+ "COPPER-notification",
+ logger,
+ start_time,
+ stop_time,
+ details['status'],
+ details)
+
+if __name__ == '__main__':
+ main()
diff --git a/testcases/features/doctor.py b/testcases/features/doctor.py index ca362ba67..ef55506af 100644 --- a/testcases/features/doctor.py +++ b/testcases/features/doctor.py @@ -40,7 +40,7 @@ def main(): stop_time = time.time() duration = round(stop_time - start_time, 1) - if ret: + if ret == 0: logger.info("doctor OK") test_status = 'OK' else: @@ -57,9 +57,9 @@ def main(): version = functest_utils.get_version(logger) build_tag = functest_utils.get_build_tag(logger) - status = "failed" + status = "FAIL" if details['status'] == "OK": - status = "passed" + status = "PASS" logger.info("Pushing Doctor results: TEST_DB_URL=%(db)s pod_name=%(pod)s " "version=%(v)s scenario=%(s)s criteria=%(c)s details=%(d)s" % { diff --git a/testcases/features/sfc/tacker_client_install.sh b/testcases/features/sfc/tacker_client_install.sh new file mode 100755 index 000000000..a3073177c --- /dev/null +++ b/testcases/features/sfc/tacker_client_install.sh @@ -0,0 +1,43 @@ +MYDIR=$(dirname $(readlink -f "$0")) +CLIENT=$(echo python-python-tackerclient_*_all.deb) +CLIREPO="tacker-client" + +# Function checks whether a python egg is available, if not, installs +function chkPPkg() { + PKG="$1" + IPPACK=$(python - <<'____EOF' +import pip +from os.path import join +for package in pip.get_installed_distributions(): + print(package.location) + print(join(package.location, *package._get_metadata("top_level.txt"))) +____EOF +) + echo "$IPPACK" | grep -q "$PKG" + if [ $? -ne 0 ];then + pip install "$PKG" + fi +} + +function envSetup() { + apt-get install -y python-all debhelper fakeroot + pip install --upgrade python-keystoneclient==1.7.4 + chkPPkg stdeb +} + +# Function installs python-tackerclient from github +function deployTackerClient() { + cd $MYDIR + git clone -b 'SFC_refactor' https://github.com/trozet/python-tackerclient.git $CLIREPO + cd $CLIREPO + python setup.py --command-packages=stdeb.command bdist_deb + cd "deb_dist" + CLIENT=$(echo python-python-tackerclient_*_all.deb) + cp $CLIENT $MYDIR + dpkg -i "${MYDIR}/${CLIENT}" + apt-get -f -y install + dpkg -i "${MYDIR}/${CLIENT}" +} + +envSetup +deployTackerClient |