update_engine: Fake chromeos-setgoodkernel command for testing.
This patch fakes the chromeos-setgoodkernel command when running
unittests so the command doesn't attempt to run it. It also makes
Subprocess log the error message when there's a failure running
an async process.
BUG=chromium:401866
TEST=cros_workon_make update_engine --test
Change-Id: Ieca3216c57f6f9bc2f71a53e520575ae1fc19c0e
Reviewed-on: https://chromium-review.googlesource.com/212260
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Alex Deymo <deymo@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
diff --git a/update_attempter_unittest.cc b/update_attempter_unittest.cc
index 632c297..c9ff687 100644
--- a/update_attempter_unittest.cc
+++ b/update_attempter_unittest.cc
@@ -71,6 +71,12 @@
// Finish initializing the attempter.
attempter_.Init();
+
+ // We set the set_good_kernel command to a non-existent path so it fails to
+ // run it. This avoids the async call to the command and continues the
+ // update process right away. Tests testing that behavior can override the
+ // default set_good_kernel command if needed.
+ attempter_.set_good_kernel_cmd_ = "/path/to/non-existent/command";
}
virtual void SetUp() {