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

Commit d4c21aa4 authored by Mikhail Naganov's avatar Mikhail Naganov
Browse files

Fix some issues with audiopolicy_tests

1. Update AudioPolicyManagerTestClientForHdmi to allow adding
   multiple supported formats.
2. Add missing assertions for helper functions to complete with
   no failures.
3. Set the name of the loaded config file so it can be seen
   in the APM config dump printed to syslog.

Bug: 201089251
Test: atest audiopolicy_tests
Change-Id: I02dac749b7927ee6f048156d0f8aa16af09a50ea
parent 94f6166f
Loading
Loading
Loading
Loading
+14 −7
Original line number Diff line number Diff line
@@ -28,19 +28,26 @@ namespace android {
class AudioPolicyManagerTestClientForHdmi : public AudioPolicyManagerTestClient {
public:
    String8 getParameters(audio_io_handle_t /* ioHandle */, const String8&  /* keys*/ ) override {
        return mAudioParameters.toString();
        AudioParameter mAudioParameters;
        std::string formats;
        for (const auto& f : mSupportedFormats) {
            if (!formats.empty()) formats += AUDIO_PARAMETER_VALUE_LIST_SEPARATOR;
            formats += audio_format_to_string(f);
        }

    void addSupportedFormat(audio_format_t format) override {
        mAudioParameters.add(
                String8(AudioParameter::keyStreamSupportedFormats),
                String8(audio_format_to_string(format)));
                String8(formats.c_str()));
        mAudioParameters.addInt(String8(AudioParameter::keyStreamSupportedSamplingRates), 48000);
        mAudioParameters.add(String8(AudioParameter::keyStreamSupportedChannels), String8(""));
        return mAudioParameters.toString();
    }

    void addSupportedFormat(audio_format_t format) override {
        mSupportedFormats.insert(format);
    }

private:
    AudioParameter mAudioParameters;
    std::set<audio_format_t> mSupportedFormats;
};

} // namespace android
+7 −6
Original line number Diff line number Diff line
@@ -151,7 +151,7 @@ class AudioPolicyManagerTest : public testing::Test {
void AudioPolicyManagerTest::SetUp() {
    mClient.reset(getClient());
    mManager.reset(new AudioPolicyTestManager(mClient.get()));
    SetUpManagerConfig();  // Subclasses may want to customize the config.
    ASSERT_NO_FATAL_FAILURE(SetUpManagerConfig());  // Subclasses may want to customize the config.
    ASSERT_EQ(NO_ERROR, mManager->initialize());
    ASSERT_EQ(NO_ERROR, mManager->initCheck());
}
@@ -401,7 +401,7 @@ INSTANTIATE_TEST_CASE_P(

void AudioPolicyManagerTestMsd::SetUpManagerConfig() {
    // TODO: Consider using Serializer to load part of the config from a string.
    AudioPolicyManagerTest::SetUpManagerConfig();
    ASSERT_NO_FATAL_FAILURE(AudioPolicyManagerTest::SetUpManagerConfig());
    AudioPolicyConfig& config = mManager->getConfig();
    mMsdOutputDevice = new DeviceDescriptor(AUDIO_DEVICE_OUT_BUS);
    sp<AudioProfile> pcmOutputProfile = new AudioProfile(
@@ -660,6 +660,7 @@ const std::string AudioPolicyManagerTestWithConfigurationFile::sDefaultConfig =
void AudioPolicyManagerTestWithConfigurationFile::SetUpManagerConfig() {
    status_t status = deserializeAudioPolicyFile(getConfigFile().c_str(), &mManager->getConfig());
    ASSERT_EQ(NO_ERROR, status);
    mManager->getConfig().setSource(getConfigFile());
}

TEST_F(AudioPolicyManagerTestWithConfigurationFile, InitSuccess) {
@@ -825,7 +826,7 @@ const std::string AudioPolicyManagerTestForHdmi::sTvConfig =
        "test_settop_box_surround_configuration.xml";

void AudioPolicyManagerTestForHdmi::SetUp() {
    AudioPolicyManagerTest::SetUp();
    ASSERT_NO_FATAL_FAILURE(AudioPolicyManagerTest::SetUp());
    // Note that 'AC3' isn't added as it is handled automatically by APM.
    mClient->addSupportedFormat(AUDIO_FORMAT_E_AC3);
    mManager->setDeviceConnectionState(
@@ -1051,7 +1052,7 @@ protected:
};

void AudioPolicyManagerTestDPPlaybackReRouting::SetUp() {
    AudioPolicyManagerTestDynamicPolicy::SetUp();
    ASSERT_NO_FATAL_FAILURE(AudioPolicyManagerTestDynamicPolicy::SetUp());

    mTracker.reset(new RecordingActivityTracker());

@@ -1237,7 +1238,7 @@ protected:
};

void AudioPolicyManagerTestDPMixRecordInjection::SetUp() {
    AudioPolicyManagerTestDynamicPolicy::SetUp();
    ASSERT_NO_FATAL_FAILURE(AudioPolicyManagerTestDynamicPolicy::SetUp());

    mTracker.reset(new RecordingActivityTracker());

@@ -1535,7 +1536,7 @@ protected:
};

void AudioPolicyManagerDynamicHwModulesTest::SetUpManagerConfig() {
    AudioPolicyManagerTestWithConfigurationFile::SetUpManagerConfig();
    ASSERT_NO_FATAL_FAILURE(AudioPolicyManagerTestWithConfigurationFile::SetUpManagerConfig());
    // Only allow successful opening of "primary" hw module during APM initialization.
    mClient->swapAllowedModuleNames({"primary"});
}