Checkpoints can now be called from a helper binary in build/user_tools/Checkpoint or via the programmatic API with Checkpoint().
The most recent checkpoint reached when generating a crash state is dumped to the output log along with the order of the bios used to generate the crash state (each bio is represented by its index in the original bio stream).
Below is an entry generated by running sudo ./c_harness -f /dev/vda -d /dev/cow_ram0 -t ext2 tests/checkpoint_example.so. This test creates a file and a new directory, and then moves the new file between the root directory of the file system and the new directory. Checkpoints are placed at various intervals during this test.
Test #26 FAILED: file missing: test file has completely disappeared
last checkpoint: 2
crash state: 0, 1, 2, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 17, 16, 18
Implementations for #42, #41, #40, #39, and #38.
Checkpoints can now be called from a helper binary in
build/user_tools/Checkpoint
or via the programmatic API withCheckpoint()
.The most recent checkpoint reached when generating a crash state is dumped to the output log along with the order of the bios used to generate the crash state (each bio is represented by its index in the original bio stream).
Below is an entry generated by running
sudo ./c_harness -f /dev/vda -d /dev/cow_ram0 -t ext2 tests/checkpoint_example.so
. This test creates a file and a new directory, and then moves the new file between the root directory of the file system and the new directory. Checkpoints are placed at various intervals during this test.