Testcase 06 ----------- It's been found that sometimes onlining and offlining CPUs confuse some of the various system tools. In particular, we found it caused top to crash, and found that sar wouldn't register newly available cpus that weren't there when it started. This test case seeks to exercise these known error cases and verify that they behave correctly now. Algorithm - Top =============== Given a CPU to test that exists Make sure the specified cpu is online Loop until done: Start up top and give it a little time to run Offline the specified CPU Wait a little time for top to notice the CPU is gone Now check that top hasn't crashed by verifying its PID is still being reported by ps. When exiting: Kill the top process Restore all CPUs to their initial state Algorithm - Sar =============== Given a CPU to test that exists Make sure the specified cpu is offline Loop until done: Start up sar writing to a temp log and give it a little time to run Verify that SAR has correctly listed the missing CPU as 'nan' in its tmp log Take a timestamp and count how many CPUs sar is reporting to be offline Online the specified cpu Take another timestamp and another count of offlined CPUs. Verify that the number of CPUs offline has changed When exiting: Kill the sar process