From 751e4c1c0da54cb6c1ba74c00b6fd032b772382e Mon Sep 17 00:00:00 2001 From: Lucas Meneghel Rodrigues Date: Wed, 31 Mar 2010 16:33:57 +0000 Subject: [PATCH] Fix the problem of matching re in hwclock test v2 Set LANG=C to make sure the output of hwclock will have the same output in all tested systems, regardless of their language settings. Thanks to Jason Wang, who spotted the the problem, and for Gregory Smith and John Admanski, who pointed out the solution. Changes from v1 * Removed the initialization method altogether * Used LC_ALL instead of LANG * Exported LC_ALL right before the verification command is executed so we don't have to globally mess up with the environment variables. Signed-off-by: Lucas Meneghel Rodrigues --- hwclock/hwclock.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/hwclock/hwclock.py b/hwclock/hwclock.py index 12f8c54bc..3e6d2a825 100644 --- a/hwclock/hwclock.py +++ b/hwclock/hwclock.py @@ -1,16 +1,26 @@ from autotest_lib.client.bin import test, utils from autotest_lib.client.common_lib import error -import re +import re, os, logging class hwclock(test.test): version = 1 - def run_once(self, seconds=1): + def run_once(self): + """ + Set hwclock back to a date in 1980 and verify if the changes took + effect in the system. + """ + logging.info('Setting hwclock to 2/2/80 03:04:00') utils.system('/sbin/hwclock --set --date "2/2/80 03:04:00"') - date = utils.system_output('/sbin/hwclock') + date = utils.system_output('LC_ALL=C /sbin/hwclock') if not re.match('Sat *Feb *2 *03:04:.. 1980', date): - raise error.TestFail('Failed to set hwclock back to the eighties') + raise error.TestFail("Failed to set hwclock back to the eighties. " + "Output of hwclock is '%s'" % date) def cleanup(self): + """ + Restore hardware clock to current system time. + """ + logging.info('Restoring the hardware clock') utils.system('/sbin/hwclock --systohc --noadjfile --utc')