Add Attn config option for clearing Attn Interrupts

Added attn config option
Added UT for attn config object
Added UT for cli that uses attn config object

Signed-off-by: austinfcui <austinfcui@gmail.com>
Change-Id: I0e30ebf4d94de676814bf5e173691c4d1ee362cb
diff --git a/attn/attn_config.cpp b/attn/attn_config.cpp
index eae96f9..98ec388 100644
--- a/attn/attn_config.cpp
+++ b/attn/attn_config.cpp
@@ -29,6 +29,7 @@
     iv_flags.set(enCheckstop);
     iv_flags.set(enTerminate);
     iv_flags.set(enBreakpoints);
+    iv_flags.set(enClrAttnIntr);
 }
 
 /** @brief Clear configuration flag */
@@ -44,6 +45,7 @@
     iv_flags.reset(enCheckstop);
     iv_flags.reset(enTerminate);
     iv_flags.reset(enBreakpoints);
+    iv_flags.reset(enClrAttnIntr);
 }
 
 } // namespace attn
diff --git a/attn/attn_config.hpp b/attn/attn_config.hpp
index 7aad393..98a6606 100644
--- a/attn/attn_config.hpp
+++ b/attn/attn_config.hpp
@@ -12,6 +12,7 @@
     enTerminate   = 2,
     enBreakpoints = 3,
     dfltTi        = 4,
+    enClrAttnIntr = 5,
     lastFlag
 };
 
@@ -40,10 +41,6 @@
     /** @brief Clear all configuration flags */
     void clearFlagAll();
 
-    /** @brief Set state of all configuration data */
-    void setConfig(bool i_vital, bool i_checkstop, bool i_terminate,
-                   bool i_breakpoints);
-
   private:
     std::bitset<lastFlag> iv_flags; // configuration flags
 };
diff --git a/attn/attn_handler.cpp b/attn/attn_handler.cpp
index 59dfab3..3252078 100644
--- a/attn/attn_handler.cpp
+++ b/attn/attn_handler.cpp
@@ -78,8 +78,12 @@
  */
 void attnHandler(Config* i_config)
 {
-    // Clear attention interrupts that may still be active (MPIPL)
-    clearAttnInterrupts();
+    // Check if enClrAttnIntr is enabled
+    if (true == i_config->getFlag(enClrAttnIntr))
+    {
+        // Clear attention interrupts that may still be active (MPIPL)
+        clearAttnInterrupts();
+    }
 
     // Vector of active attentions to be handled
     std::vector<Attention> active_attentions;