Use the scoped loopback releaser which implements timeout and retries.

BUG=chromium-os:12730
TEST=unit tests

Change-Id: I2da8213b3202482148b92c97caa9d7a87d76a95b

Review URL: http://codereview.chromium.org/6609041
diff --git a/postinstall_runner_action_unittest.cc b/postinstall_runner_action_unittest.cc
index baf03b6..05acb4c 100644
--- a/postinstall_runner_action_unittest.cc
+++ b/postinstall_runner_action_unittest.cc
@@ -132,8 +132,11 @@
   if (dev[strlen(dev) - 1] == '\n')
     dev[strlen(dev) - 1] = '\0';
 
-  if (do_losetup)
+  scoped_ptr<ScopedLoopbackDeviceReleaser> loop_releaser;
+  if (do_losetup) {
     ASSERT_EQ(0, System(string("losetup ") + dev + " " + cwd + "/image.dat"));
+    loop_releaser.reset(new ScopedLoopbackDeviceReleaser(dev));
+  }
 
   ActionProcessor processor;
   ObjectFeederAction<InstallPlan> feeder_action;
@@ -172,8 +175,9 @@
   else
     ASSERT_LT(rc, 0);
 
-  if (do_losetup)
-    ASSERT_EQ(0, System(string("losetup -d ") + dev));
+  if (do_losetup) {
+    loop_releaser.reset(NULL);
+  }
   ASSERT_EQ(0, System(string("rm -f ") + cwd + "/postinst_called"));
   ASSERT_EQ(0, System(string("rm -f ") + cwd + "/image.dat"));
 }