test, arm: Add scripts to test checkpoints
authorAndreas Sandberg <Andreas.Sandberg@ARM.com>
Thu, 19 Mar 2015 08:06:20 +0000 (04:06 -0400)
committerAndreas Sandberg <Andreas.Sandberg@ARM.com>
Thu, 19 Mar 2015 08:06:20 +0000 (04:06 -0400)
commit877435950ca2dfb7213dc502e7d9e8374e55e16b
tree1059fcd21e3fb1b2ff979d023528e44cb3db67e1
parentecd4bad35179643950e9c9e6426711f16fee7052
test, arm: Add scripts to test checkpoints

Add a set of scripts to automatically test checkpointing in the
regression framework. The checkpointing tests are similar to the
switcheroo tests, but instead of switching between CPUs, they
checkpoint the system and restore from the checkpoint again. This is
done at regular intervals, typically while booting Linux.

The implementation is fairly straight forward, with the exception that
we have to work around gem5's inability to restore from a checkpoint
after a system has been instantiated. We work around this by forking
off child processes that does the actual simulation and never
instantiate a system in the parent process unless a maximum checkpoint
count is reached (in which case we just simulate the system to
completion in the parent).

Checkpoint testing is currently only enabled 32- and 64-bit ARM
systems using atomic CPUs.

Note: An unfortunate side-effect of forking is that every new process
will overwrite the stats and terminal output from the previous
process. This means that the output directory only contains data from
the last checkpoint.
12 files changed:
tests/SConscript
tests/configs/checkpoint.py [new file with mode: 0644]
tests/configs/realview-simple-atomic-checkpoint.py [new file with mode: 0644]
tests/configs/realview64-simple-atomic-checkpoint.py [new file with mode: 0644]
tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-checkpoint/config.ini [new file with mode: 0644]
tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-checkpoint/config.json [new file with mode: 0644]
tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-checkpoint/stats.txt [new file with mode: 0644]
tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-checkpoint/system.terminal [new file with mode: 0644]
tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-checkpoint/config.ini [new file with mode: 0644]
tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-checkpoint/config.json [new file with mode: 0644]
tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-checkpoint/stats.txt [new file with mode: 0644]
tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-checkpoint/system.terminal [new file with mode: 0644]