|
@@ -13,6 +13,7 @@
|
|
|
import shutil
|
|
|
import logging
|
|
|
import time
|
|
|
+import subprocess
|
|
|
|
|
|
from avocado import skip
|
|
|
from avocado import skipUnless
|
|
@@ -31,7 +32,7 @@ class ReplayKernelBase(LinuxKernelTest):
|
|
|
terminates.
|
|
|
"""
|
|
|
|
|
|
- timeout = 120
|
|
|
+ timeout = 180
|
|
|
KERNEL_COMMON_COMMAND_LINE = 'printk.time=1 panic=-1 '
|
|
|
|
|
|
def run_vm(self, kernel_path, kernel_command_line, console_pattern,
|
|
@@ -63,6 +64,8 @@ def run_vm(self, kernel_path, kernel_command_line, console_pattern,
|
|
|
vm.shutdown()
|
|
|
logger.info('finished the recording with log size %s bytes'
|
|
|
% os.path.getsize(replay_path))
|
|
|
+ self.run_replay_dump(replay_path)
|
|
|
+ logger.info('successfully tested replay-dump.py')
|
|
|
else:
|
|
|
vm.wait()
|
|
|
logger.info('successfully finished the replay')
|
|
@@ -70,6 +73,14 @@ def run_vm(self, kernel_path, kernel_command_line, console_pattern,
|
|
|
logger.info('elapsed time %.2f sec' % elapsed)
|
|
|
return elapsed
|
|
|
|
|
|
+ def run_replay_dump(self, replay_path):
|
|
|
+ try:
|
|
|
+ subprocess.check_call(["./scripts/replay-dump.py",
|
|
|
+ "-f", replay_path],
|
|
|
+ stdout=subprocess.DEVNULL)
|
|
|
+ except subprocess.CalledProcessError:
|
|
|
+ self.fail('replay-dump.py failed')
|
|
|
+
|
|
|
def run_rr(self, kernel_path, kernel_command_line, console_pattern,
|
|
|
shift=7, args=None):
|
|
|
replay_path = os.path.join(self.workdir, 'replay.bin')
|