Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c8a62248 authored by Jakub Tyszkowski's avatar Jakub Tyszkowski Committed by Rongxuan Liu
Browse files

LeAudio/multicodec: Add the additional VTS test case

Bug: 308428217
Bug: 307258939
Test: atest VtsHalBluetoothAudioTargetTest
Change-Id: Idf8ca8c50e61482506c3c1a5bf5e8962c316a045
parent 4856308c
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -2506,6 +2506,40 @@ TEST_P(BluetoothAudioProviderLeAudioOutputHardwareAidl, GetQoSConfiguration) {
  // QoS Configurations should not be empty, as we searched for all contexts
  ASSERT_FALSE(QoSConfigurations.empty());
}

TEST_P(BluetoothAudioProviderLeAudioOutputHardwareAidl,
       GetDataPathConfiguration) {
  IBluetoothAudioProvider::StreamConfig sink_requirement;
  IBluetoothAudioProvider::StreamConfig source_requirement;
  std::vector<IBluetoothAudioProvider::LeAudioDataPathConfiguration>
      DataPathConfigurations;
  bool is_supported = false;

  for (auto bitmask : all_context_bitmasks) {
    sink_requirement.context = GetAudioContext(bitmask);
    source_requirement.context = GetAudioContext(bitmask);
    IBluetoothAudioProvider::LeAudioDataPathConfigurationPair result;
    auto aidl_retval = audio_provider_->getLeAudioAseDatapathConfiguration(
        sink_requirement, source_requirement, &result);
    if (!aidl_retval.isOk()) {
      // If not OK, then it could be not supported, as it is an optional feature
      ASSERT_EQ(aidl_retval.getExceptionCode(), EX_UNSUPPORTED_OPERATION);
    } else {
      is_supported = true;
      if (result.inputConfig.has_value())
        DataPathConfigurations.push_back(result.inputConfig.value());
      if (result.inputConfig.has_value())
        DataPathConfigurations.push_back(result.inputConfig.value());
    }
  }

  if (is_supported) {
    // Datapath Configurations should not be empty, as we searched for all
    // contexts
    ASSERT_FALSE(DataPathConfigurations.empty());
  }
}

/**
 * Test whether each provider of type
 * SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH can be started and