From 27cf386ac6a133b5c75d2dbe7864ec7166d74b09 Mon Sep 17 00:00:00 2001 From: Parth Yadav Date: Mon, 19 Jul 2021 19:26:06 +0530 Subject: Initialize k8s test suite for Airship This patch updates sdv framework to support multiple test suites. Current test suites: * default * k8s Current Cloud Installers: * Airship The patch also adds makefile for sdv framework to ease development work. Some useful makefile target: * make sandbox * make run * make lint * make bash Run `make help` for complete usage guide. The patch restructures the codebases directory structure. Signed-off-by: Parth Yadav Change-Id: I109d13f84334ec1cfa4f9c17b74d38a979272ea5 --- sdv/docker/sdvstate/internal/display_report.py | 57 ++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 sdv/docker/sdvstate/internal/display_report.py (limited to 'sdv/docker/sdvstate/internal/display_report.py') diff --git a/sdv/docker/sdvstate/internal/display_report.py b/sdv/docker/sdvstate/internal/display_report.py new file mode 100644 index 0000000..97ccb55 --- /dev/null +++ b/sdv/docker/sdvstate/internal/display_report.py @@ -0,0 +1,57 @@ +# Copyright 2020 University Of Delhi. +# +# 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. + + +"""Display Report +""" + +import logging +from datetime import datetime as dt + + + +def display_report(report): + """ + Logs the final report + """ + installer = report['installer'] + result = report['criteria'] + start_time = dt.strptime(report['start_date'], '%Y-%m-%d %H:%M:%S') + stop_time = dt.strptime(report['stop_date'], '%Y-%m-%d %H:%M:%S') + duration = (stop_time - start_time).total_seconds() + + logger = logging.getLogger(__name__) + logger.info('') + logger.info('') + logger.info('========================================') + logger.info('') + logger.info(f' Installer: {installer}') + logger.info(f' Duration: {duration}') + logger.info(f' Result: {result}') + logger.info('') + logger.info('') + logger.info(f' CHECKS PASSED:') + logger.info(' =============') + for case_name in report['details']['pass']: + logger.info(f' {case_name}') + logger.info('') + logger.info('') + logger.info(f' CHECKS FAILED:') + logger.info(' =============') + for case_name in report['details']['fail']: + logger.info(f' {case_name}') + logger.info('') + logger.info('========================================') + logger.info('') + logger.info('') -- cgit 1.2.3-korg