From c6d1b9797dd2850cd0b8be7f17a41db525cbe93d Mon Sep 17 00:00:00 2001 From: Jeff Darcy Date: Sun, 10 Apr 2016 10:51:11 -0400 Subject: tests: use trap mechanism to ensure that proper cleanups happen This actually consists of several parts. * Added a generic cleanup-scheduling mechanism. Instead of calling "trap ... EXIT" directly, just call "push_trapfunc ..." instead and your cleanup function will be called along with any others. * Converted a few tests to use push_trapfunc. * Added "push_trapfunc cleanup_lvm" to snapshot.rc to address the particular problem that's driving this - snapshot tests not calling cleanup_lvm on their own and leaving bad state for the next test. Change-Id: I548a97a26328390992fc71ee1f03c0463703f9d7 Signed-off-by: Jeff Darcy Reviewed-on: http://review.gluster.org/13933 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Reviewed-by: Atin Mukherjee Reviewed-by: Rajesh Joseph --- tests/snapshot.rc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'tests/snapshot.rc') diff --git a/tests/snapshot.rc b/tests/snapshot.rc index cca1f4d4988..f6da514f826 100644 --- a/tests/snapshot.rc +++ b/tests/snapshot.rc @@ -94,6 +94,11 @@ function cleanup_lvm() { return 0 } +# Find out how this file was sourced, source traps.rc the same way, and use +# push_trapfunc to make sure cleanup_lvm gets called before we exit. +. $(dirname ${BASH_SOURCE[0]})/traps.rc +push_trapfunc cleanup_lvm + ######################################################## # Private Functions ######################################################## -- cgit