This page describes the API one should use to write new test in ZDTM.
API for test itself
The test should clearly describe 3 stages:
- Preparations
- These are actions that test does before the process(es) get checkpointed
- Actions
- During this the process(es) will be interrupted at arbitrary place and get dumped
- Checks
- After restore test should verify whether everything is OK or not
This is achieved by using the following API calls:
test_init()
- Just initializes the test subsystem.
test_daemon()
- This one says that we finished preparations and ready to get dumped at any time.
test_waitsig()
- Calling this blocks the task till it's restored. After this the checks stage starts.
From the code perspective this looks like this:
int main(int argc, char **argv) { test_init(argc, argv); /* preparations */ test_daemon(); /* actions */ test_waitsig(); /* checks */ return 0; }