diff options
-rw-r--r-- | radio/1.0/vts/functional/sap_hidl_hal_test.cpp | 31 | ||||
-rw-r--r-- | radio/1.0/vts/functional/sap_hidl_hal_utils.h | 10 |
2 files changed, 39 insertions, 2 deletions
diff --git a/radio/1.0/vts/functional/sap_hidl_hal_test.cpp b/radio/1.0/vts/functional/sap_hidl_hal_test.cpp index fe105872b4..5224624719 100644 --- a/radio/1.0/vts/functional/sap_hidl_hal_test.cpp +++ b/radio/1.0/vts/functional/sap_hidl_hal_test.cpp @@ -16,8 +16,37 @@ #include <sap_hidl_hal_utils.h> +bool isServiceValidForDeviceConfiguration(hidl_string& serviceName) { + if (isSsSsEnabled()) { + // Device is configured as SSSS. + if (serviceName != SAP_SERVICE_SLOT1_NAME) { + LOG(DEBUG) << "Not valid for SSSS device."; + return false; + } + } else if (isDsDsEnabled()) { + // Device is configured as DSDS. + if (serviceName != SAP_SERVICE_SLOT1_NAME && serviceName != SAP_SERVICE_SLOT2_NAME) { + LOG(DEBUG) << "Not valid for DSDS device."; + return false; + } + } else if (isTsTsEnabled()) { + // Device is configured as TSTS. + if (serviceName != SAP_SERVICE_SLOT1_NAME && serviceName != SAP_SERVICE_SLOT2_NAME && + serviceName != SAP_SERVICE_SLOT3_NAME) { + LOG(DEBUG) << "Not valid for TSTS device."; + return false; + } + } + return true; +} + void SapHidlTest::SetUp() { - sap = ISap::getService(GetParam()); + hidl_string serviceName = GetParam(); + if (!isServiceValidForDeviceConfiguration(serviceName)) { + LOG(DEBUG) << "Skipped the test due to device configuration."; + GTEST_SKIP(); + } + sap = ISap::getService(serviceName); ASSERT_NE(sap, nullptr); sapCb = new SapCallback(*this); diff --git a/radio/1.0/vts/functional/sap_hidl_hal_utils.h b/radio/1.0/vts/functional/sap_hidl_hal_utils.h index 2fc9ae368e..8e86591bb7 100644 --- a/radio/1.0/vts/functional/sap_hidl_hal_utils.h +++ b/radio/1.0/vts/functional/sap_hidl_hal_utils.h @@ -36,7 +36,15 @@ using ::android::hardware::Void; using ::android::sp; #define TIMEOUT_PERIOD 40 -#define SAP_SERVICE_NAME "slot1" + +// HAL instance name for SIM slot 1 or single SIM device +#define SAP_SERVICE_SLOT1_NAME "slot1" + +// HAL instance name for SIM slot 2 on dual SIM device +#define SAP_SERVICE_SLOT2_NAME "slot2" + +// HAL instance name for SIM slot 3 on triple SIM device +#define SAP_SERVICE_SLOT3_NAME "slot3" class SapHidlTest; |