import time, os from autotest_lib.client.bin import test, utils from autotest_lib.client.common_lib import error class cpu_hotplug(test.test): version = 2 # http://developer.osdl.org/dev/hotplug/tests/lhcs_regression-1.6.tgz def setup(self, tarball = 'lhcs_regression-1.6.tgz'): tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) utils.extract_tarball_to_dir(tarball, self.srcdir) def initialize(self): # Check if the kernel supports cpu hotplug if utils.running_config(): utils.check_for_kernel_feature('HOTPLUG_CPU') # Check cpu nums, if equals 1, quit. if utils.count_cpus() == 1: e_msg = 'Single CPU online detected, test not supported.' raise error.TestNAError(e_msg) # Have a simple and quick check first, FIX me please. utils.system('dmesg -c > /dev/null') for cpu in utils.cpu_online_map(): if os.path.isfile('/sys/devices/system/cpu/cpu%s/online' % cpu): utils.system('echo 0 > /sys/devices/system/cpu/cpu%s/online' % cpu, 1) utils.system('dmesg -c') time.sleep(3) utils.system('echo 1 > /sys/devices/system/cpu/cpu%s/online' % cpu, 1) utils.system('dmesg -c') time.sleep(3) def run_once(self): # Begin this cpu hotplug test big guru. os.chdir(self.srcdir) utils.system('./runtests.sh')