aboutsummaryrefslogtreecommitdiffstats
path: root/vsperf
diff options
context:
space:
mode:
authorMartin Klozik <martinx.klozik@intel.com>2015-12-09 12:53:43 +0000
committerMaryam Tahhan <maryam.tahhan@intel.com>2015-12-14 14:46:05 +0000
commitb7a3cb6b74850ef71fbbeacbee63df791caba626 (patch)
tree026268f316b89cae4828513b1b8f5ec282a02302 /vsperf
parentad35451e9bb63a551b0b1ff517706b969653f594 (diff)
bugfix: Fix failure caused by unset locale
In case, that VSPERF detects missing locale settings, it will set language and encodding settings to default values specified by configuration parameter DEFAULT_LOCALE. Localized external commands with output parsed by VSPERF are executed with modified locale to ensure correct VSPERF function. Locale settings for such commands is specified by configuration parameter DEFAULT_CMD_LOCALE. Change-Id: If5c15115b778ce90046e390f10438b780f82695b JIRA: VSPERF-132 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Brian Castelli <brian.castelli@spirent.com> Reviewed-by: Gurpreet Singh <gurpreet.singh@spirent.com> Reviewed-by: Tv Rao <tv.rao@freescale.com>
Diffstat (limited to 'vsperf')
-rwxr-xr-xvsperf15
1 files changed, 15 insertions, 0 deletions
diff --git a/vsperf b/vsperf
index f6ddc637..2f85fba5 100755
--- a/vsperf
+++ b/vsperf
@@ -26,6 +26,7 @@ import datetime
import shutil
import unittest
import xmlrunner
+import locale
sys.dont_write_bytecode = True
@@ -237,6 +238,17 @@ def apply_filter(tests, tc_filter):
return result
+def check_and_set_locale():
+ """ Function will check locale settings. In case, that it isn't configured
+ properly, then default values specified by DEFAULT_LOCALE will be used.
+ """
+
+ system_locale = locale.getdefaultlocale()
+ if None in system_locale:
+ os.environ['LC_ALL'] = settings.getValue('DEFAULT_LOCALE')
+ logging.warning("Locale was not properly configured. Default values were set. Old locale: %s, New locale: %s",
+ system_locale, locale.getdefaultlocale())
+
class MockTestCase(unittest.TestCase):
"""Allow use of xmlrunner to generate Jenkins compatible output without
using xmlrunner to actually run tests.
@@ -309,6 +321,9 @@ def main():
configure_logging(settings.getValue('VERBOSITY'))
logger = logging.getLogger()
+ # check and fix locale
+ check_and_set_locale()
+
# configure trafficgens
if args['trafficgen']: