updater: Add ABORT command.

This will be used for testing purpose only, replacing the previously
used "fail", to intentionally abort an update.

As we're separating the logic between commands parsing and execution,
"abort" needs to be considered as a valid command during the parsing.

Test: recovery_unit_test and recovery_component_test on marlin.
Change-Id: I47c41c423e62c41cc8515fd92f3c5959be08da02
diff --git a/tests/component/updater_test.cpp b/tests/component/updater_test.cpp
index fe4f45e..e8abb53 100644
--- a/tests/component/updater_test.cpp
+++ b/tests/component/updater_test.cpp
@@ -46,6 +46,7 @@
 #include "otautil/paths.h"
 #include "otautil/print_sha1.h"
 #include "otautil/sysutil.h"
+#include "private/commands.h"
 #include "updater/blockimg.h"
 #include "updater/install.h"
 #include "updater/updater.h"
@@ -150,6 +151,9 @@
     Paths::Get().set_last_command_file(temp_last_command_.path);
     Paths::Get().set_stash_directory_base(temp_stash_base_.path);
 
+    // Enable a special command "abort" to simulate interruption.
+    Command::abort_allowed_ = true;
+
     last_command_file_ = temp_last_command_.path;
     image_file_ = image_temp_file_.path;
   }
@@ -580,7 +584,7 @@
     "2",
     "stash " + src_hash + " 2,0,2",
     "free " + src_hash,
-    "fail",
+    "abort",
     // clang-format on
   };
 
@@ -714,7 +718,7 @@
     "stash " + block1_hash + " 2,0,1",
     "move " + block1_hash + " 2,1,2 1 2,0,1",
     "stash " + block3_hash + " 2,2,3",
-    "fail",
+    "abort",
     // clang-format on
   };
 
@@ -859,6 +863,9 @@
     Paths::Get().set_last_command_file(temp_last_command_.path);
     Paths::Get().set_stash_directory_base(temp_stash_base_.path);
 
+    // Enable a special command "abort" to simulate interruption.
+    Command::abort_allowed_ = true;
+
     index_ = GetParam();
     image_file_ = image_temp_file_.path;
     last_command_file_ = temp_last_command_.path;
@@ -1030,7 +1037,7 @@
             << g_transfer_list[kTransferListHeaderLines + index_] << ")";
 
   std::vector<std::string> transfer_list_copy{ g_transfer_list };
-  transfer_list_copy[kTransferListHeaderLines + index_] = "fail";
+  transfer_list_copy[kTransferListHeaderLines + index_] = "abort";
 
   g_entries["transfer_list"] = android::base::Join(transfer_list_copy, '\n');