summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarvin Liu <yong.liu@intel.com>2016-12-29 16:09:46 +0800
committerMarvin Liu <yong.liu@intel.com>2017-01-04 11:26:08 +0800
commitc668a6055f847185273aa5a5965821d4342cad93 (patch)
tree2fccbe232bda3260a9d729df70b6e1605faf8e77
parentb4098629fe57d34af5163fbb1717d7f286d19b57 (diff)
framework settings: add support for global error status
Record error information in system environment variable. And changed system exit value according to what's kind of error met in execution process. Signed-off-by: Marvin Liu <yong.liu@intel.com>
-rw-r--r--framework/settings.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/framework/settings.py b/framework/settings.py
index e232364..df2a491 100644
--- a/framework/settings.py
+++ b/framework/settings.py
@@ -32,6 +32,7 @@
Folders for framework running enviornment.
"""
import os
+import sys
import re
import socket
@@ -194,7 +195,19 @@ HOST_NIC_SETTING = "DTS_HOST_NIC"
DEBUG_SETTING = "DTS_DEBUG_ENABLE"
DEBUG_CASE_SETTING = "DTS_DEBUGCASE_ENABLE"
DPDK_RXMODE_SETTING = "DTS_DPDK_RXMODE"
+DTS_ERROR_ENV = "DTS_RUNNING_ERROR"
+"""
+DTS global error table
+"""
+DTS_ERR_TBL = {
+ "GENERIC_ERR": 1,
+ "DPDK_BUILD_ERR" : 2,
+ "DUT_SETUP_ERR" : 3,
+ "TESTER_SETUP_ERR" : 4,
+ "SUITE_SETUP_ERR": 5,
+ "SUITE_EXECUTE_ERR": 6,
+}
def get_nic_name(type):
"""
@@ -271,6 +284,27 @@ def load_global_setting(key):
return ''
+def report_error(error):
+ """
+ Report error when error occurred
+ """
+ if error in DTS_ERR_TBL.keys():
+ os.environ[DTS_ERROR_ENV] = error
+ else:
+ os.environ[DTS_ERROR_ENV] = "GENERIC_ERR"
+
+
+def exit_error():
+ """
+ Set system exit value when error occurred
+ """
+ if DTS_ERROR_ENV in os.environ.keys():
+ ret_val = DTS_ERR_TBL[os.environ[DTS_ERROR_ENV]]
+ sys.exit(ret_val)
+ else:
+ sys.exit(0)
+
+
def accepted_nic(pci_id):
"""
Return True if the pci_id is a known NIC card in the settings file and if