COMPMID-1995: Fix Disabled suite in test framework.

Change-Id: I6b22a002e946e948b9dda4964d3516994e057dd6
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1012
Reviewed-by: Anthony Barbier <Anthony.barbier@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/tests/framework/DatasetModes.cpp b/tests/framework/DatasetModes.cpp
index 3f747df..0224bd8 100644
--- a/tests/framework/DatasetModes.cpp
+++ b/tests/framework/DatasetModes.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -38,6 +38,7 @@
     static const std::map<std::string, DatasetMode> modes =
     {
         { "all", DatasetMode::ALL },
+        { "disabled", DatasetMode::DISABLED },
         { "precommit", DatasetMode::PRECOMMIT },
         { "nightly", DatasetMode::NIGHTLY },
     };
diff --git a/tests/framework/DatasetModes.h b/tests/framework/DatasetModes.h
index 27638b0..c970550 100644
--- a/tests/framework/DatasetModes.h
+++ b/tests/framework/DatasetModes.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -78,6 +78,9 @@
 {
     switch(mode)
     {
+        case DatasetMode::DISABLED:
+            stream << "DISABLED";
+            break;
         case DatasetMode::PRECOMMIT:
             stream << "PRECOMMIT";
             break;
diff --git a/tests/framework/TestFilter.cpp b/tests/framework/TestFilter.cpp
index 0af40c1..f392aa7 100644
--- a/tests/framework/TestFilter.cpp
+++ b/tests/framework/TestFilter.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -42,7 +42,8 @@
 
 bool TestFilter::is_selected(const TestInfo &info) const
 {
-    if((info.mode & _dataset_mode) == DatasetMode::DISABLED)
+    const bool include_disabled = (info.mode == _dataset_mode) && (_dataset_mode == DatasetMode::DISABLED);
+    if((info.mode & _dataset_mode) == DatasetMode::DISABLED && !include_disabled)
     {
         return false;
     }
diff --git a/tests/main.cpp b/tests/main.cpp
index b02c9f8..0eca0c8 100644
--- a/tests/main.cpp
+++ b/tests/main.cpp
@@ -110,6 +110,7 @@
 
     std::set<framework::DatasetMode> allowed_modes
     {
+        framework::DatasetMode::DISABLED,
         framework::DatasetMode::PRECOMMIT,
         framework::DatasetMode::NIGHTLY,
         framework::DatasetMode::ALL