From a19fa6a07c465fa30a8a6ce18eb41ba386226560 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 2 Nov 2011 21:41:41 -0700 Subject: [PATCH] Cleanup temporary directory after running --- test/acceptance/base.rb | 4 ++++ test/acceptance/helpers/isolated_environment.rb | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/test/acceptance/base.rb b/test/acceptance/base.rb index ffd8308a2..3e4afffbd 100644 --- a/test/acceptance/base.rb +++ b/test/acceptance/base.rb @@ -47,4 +47,8 @@ class AcceptanceTest < Test::Unit::TestCase apps = { "vagrant" => config.vagrant_path } @environment = Acceptance::IsolatedEnvironment.new(apps, config.env) end + + teardown do + @environment.close + end end diff --git a/test/acceptance/helpers/isolated_environment.rb b/test/acceptance/helpers/isolated_environment.rb index 9281c16a5..cf20e25c2 100644 --- a/test/acceptance/helpers/isolated_environment.rb +++ b/test/acceptance/helpers/isolated_environment.rb @@ -12,6 +12,9 @@ module Acceptance class IsolatedEnvironment include POSIX::Spawn + attr_reader :homedir + attr_reader :workdir + # Initializes an isolated environment. You can pass in some # options here to configure runing custom applications in place # of others as well as specifying environmental variables. @@ -55,6 +58,12 @@ module Acceptance return ExecuteProcess.new(status.exitstatus, stdout, stderr) end + + # Closes the environment, cleans up the temporary directories, etc. + def close + # Delete the temporary directory + FileUtils.rm_rf(@tempdir.path) + end end # This class represents a process which has run via the IsolatedEnvironment.