aboutsummaryrefslogtreecommitdiffstats
path: root/tests/README.md
diff options
context:
space:
mode:
authorRyan Moeller <[email protected]>2020-03-03 13:28:09 -0500
committerGitHub <[email protected]>2020-03-03 10:28:09 -0800
commit0a0f9a7dc6e4f215089cf0aabb230d5dd5dfbd1e (patch)
treed994b7072bd1ccff7e2d96566b347edc87904185 /tests/README.md
parent9bb907bc3fdcaa132ecb0f8326c8815f27824ce4 (diff)
ZTS: Provide for nested cleanup routines
Shared test library functions lack a simple way to ensure proper cleanup in the event of a failure. The `log_onexit` cleanup pattern cannot be used in library functions because it uses one global variable to store the cleanup command. An example of where this is a serious issue is when a tunable that artifically stalls kernel progress gets activated and then some check fails. Unless the caller knows about the tunable and sets it back, the system will be left in a bad state. To solve this problem, turn the global cleanup variable into a stack. Provide push and pop functions to add additional cleanup steps and remove them after it is safe again. The first use of this new functionality is in attempt_during_removal, which sets REMOVAL_SUSPEND_PROGRESS. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: John Kennedy <[email protected]> Signed-off-by: Ryan Moeller <[email protected]> Closes #10080
Diffstat (limited to 'tests/README.md')
0 files changed, 0 insertions, 0 deletions