Loading audio/aidl/vts/VtsHalVisualizerTargetTest.cpp +62 −42 Original line number Diff line number Diff line Loading @@ -48,27 +48,23 @@ using VisualizerParamTestParam = std::tuple<std::pair<std::shared_ptr<IFactory>, Descriptor>, int, Visualizer::ScalingMode, Visualizer::MeasurementMode, int>; class VisualizerParamTest : public ::testing::TestWithParam<VisualizerParamTestParam>, public EffectHelper { class VisualizerTestHelper : public EffectHelper { public: VisualizerParamTest() : mCaptureSize(std::get<PARAM_CAPTURE_SIZE>(GetParam())), mScalingMode(std::get<PARAM_SCALING_MODE>(GetParam())), mMeasurementMode(std::get<PARAM_MEASUREMENT_MODE>(GetParam())), mLatency(std::get<PARAM_LATENCY>(GetParam())) { std::tie(mFactory, mDescriptor) = std::get<PARAM_INSTANCE_NAME>(GetParam()); size_t channelCount = getChannelCount(AudioChannelLayout::make<AudioChannelLayout::layoutMask>( AudioChannelLayout::LAYOUT_STEREO)); mBufferSizeInFrames = kInputFrameCount * channelCount; mInputBuffer.resize(mBufferSizeInFrames); generateInputBuffer(mInputBuffer, 0, true, channelCount, kMaxAudioSampleValue); mOutputBuffer.resize(mBufferSizeInFrames); VisualizerTestHelper( std::pair<std::shared_ptr<IFactory>, Descriptor> descPair = {}, int captureSize = 128, int latency = 0, Visualizer::ScalingMode scalingMode = Visualizer::ScalingMode::NORMALIZED, Visualizer::MeasurementMode measurementMode = Visualizer::MeasurementMode::NONE) : mCaptureSize(captureSize), mLatency(latency), mScalingMode(scalingMode), mMeasurementMode(measurementMode), mInputBuffer(mBufferSizeInFrames), mOutputBuffer(mBufferSizeInFrames) { std::tie(mFactory, mDescriptor) = descPair; } void SetUp() override { void SetUpVisualizer() { ASSERT_NE(nullptr, mFactory); ASSERT_NO_FATAL_FAILURE(create(mFactory, mEffect, mDescriptor)); Loading @@ -80,28 +76,14 @@ class VisualizerParamTest : public ::testing::TestWithParam<VisualizerParamTestP mVersion = EffectFactoryHelper::getHalVersion(mFactory); } void TearDown() override { void TearDownVisualizer() { ASSERT_NO_FATAL_FAILURE(close(mEffect)); ASSERT_NO_FATAL_FAILURE(destroy(mFactory, mEffect)); mOpenEffectReturn = IEffect::OpenEffectReturn{}; } static const long kInputFrameCount = 0x100, kOutputFrameCount = 0x100; std::shared_ptr<IFactory> mFactory; std::shared_ptr<IEffect> mEffect; Descriptor mDescriptor; int mCaptureSize; Visualizer::ScalingMode mScalingMode = Visualizer::ScalingMode::NORMALIZED; Visualizer::MeasurementMode mMeasurementMode = Visualizer::MeasurementMode::NONE; int mLatency = 0; int mVersion = 0; std::vector<float> mInputBuffer; std::vector<float> mOutputBuffer; size_t mBufferSizeInFrames; IEffect::OpenEffectReturn mOpenEffectReturn; bool mAllParamsValid = true; void SetAndGetParameters() { void SetAndGetParameters(bool* allParamsValid = nullptr) { if (allParamsValid != nullptr) *allParamsValid = true; for (auto& it : mCommonTags) { auto& tag = it.first; auto& vs = it.second; Loading @@ -111,7 +93,9 @@ class VisualizerParamTest : public ::testing::TestWithParam<VisualizerParamTestP ASSERT_STATUS(EX_NONE, mEffect->getDescriptor(&desc)); const bool valid = isParameterValid<Visualizer, Range::visualizer>(vs, desc); const binder_exception_t expected = valid ? EX_NONE : EX_ILLEGAL_ARGUMENT; if (expected == EX_ILLEGAL_ARGUMENT) mAllParamsValid = false; if (expected == EX_ILLEGAL_ARGUMENT && allParamsValid != nullptr) { *allParamsValid = false; } // set parameter Parameter expectParam; Loading Loading @@ -155,6 +139,44 @@ class VisualizerParamTest : public ::testing::TestWithParam<VisualizerParamTestP {Visualizer::latencyMs, Visualizer::make<Visualizer::latencyMs>(latency)}); } static constexpr long kInputFrameCount = 0x100, kOutputFrameCount = 0x100; const size_t mChannelCount = getChannelCount(AudioChannelLayout::make<AudioChannelLayout::layoutMask>( AudioChannelLayout::LAYOUT_STEREO)); const size_t mBufferSizeInFrames = kInputFrameCount * mChannelCount; const int mCaptureSize; const int mLatency; const Visualizer::ScalingMode mScalingMode; const Visualizer::MeasurementMode mMeasurementMode; int mVersion; std::vector<float> mInputBuffer; std::vector<float> mOutputBuffer; std::shared_ptr<IEffect> mEffect; std::shared_ptr<IFactory> mFactory; Descriptor mDescriptor; IEffect::OpenEffectReturn mOpenEffectReturn; private: std::vector<std::pair<Visualizer::Tag, Visualizer>> mCommonTags; void CleanUp() { mCommonTags.clear(); } }; class VisualizerParamTest : public ::testing::TestWithParam<VisualizerParamTestParam>, public VisualizerTestHelper { public: VisualizerParamTest() : VisualizerTestHelper(std::get<PARAM_INSTANCE_NAME>(GetParam()), std::get<PARAM_CAPTURE_SIZE>(GetParam()), std::get<PARAM_LATENCY>(GetParam()), std::get<PARAM_SCALING_MODE>(GetParam()), std::get<PARAM_MEASUREMENT_MODE>(GetParam())) { generateInputBuffer(mInputBuffer, 0, true, mChannelCount, kMaxAudioSampleValue); } void SetUp() override { SetUpVisualizer(); } void TearDown() override { TearDownVisualizer(); } static std::unordered_set<Visualizer::MeasurementMode> getMeasurementModeValues() { return {ndk::enum_range<Visualizer::MeasurementMode>().begin(), ndk::enum_range<Visualizer::MeasurementMode>().end()}; Loading @@ -164,10 +186,6 @@ class VisualizerParamTest : public ::testing::TestWithParam<VisualizerParamTestP return {ndk::enum_range<Visualizer::ScalingMode>().begin(), ndk::enum_range<Visualizer::ScalingMode>().end()}; } private: std::vector<std::pair<Visualizer::Tag, Visualizer>> mCommonTags; void CleanUp() { mCommonTags.clear(); } }; TEST_P(VisualizerParamTest, SetAndGetCaptureSize) { Loading @@ -192,11 +210,13 @@ TEST_P(VisualizerParamTest, SetAndGetLatency) { TEST_P(VisualizerParamTest, testCaptureSampleBufferSizeAndOutput) { SKIP_TEST_IF_DATA_UNSUPPORTED(mDescriptor.common.flags); bool allParamsValid = true; ASSERT_NO_FATAL_FAILURE(addCaptureSizeParam(mCaptureSize)); ASSERT_NO_FATAL_FAILURE(addScalingModeParam(mScalingMode)); ASSERT_NO_FATAL_FAILURE(addMeasurementModeParam(mMeasurementMode)); ASSERT_NO_FATAL_FAILURE(addLatencyParam(mLatency)); ASSERT_NO_FATAL_FAILURE(SetAndGetParameters()); ASSERT_NO_FATAL_FAILURE(SetAndGetParameters(&allParamsValid)); Parameter getParam; Parameter::Id id; Loading @@ -209,7 +229,7 @@ TEST_P(VisualizerParamTest, testCaptureSampleBufferSizeAndOutput) { &mOpenEffectReturn, mVersion)); ASSERT_EQ(mInputBuffer, mOutputBuffer); if (mAllParamsValid) { if (allParamsValid) { std::vector<uint8_t> captureBuffer = getParam.get<Parameter::specific>() .get<Parameter::Specific::visualizer>() .get<Visualizer::captureSampleBuffer>(); Loading Loading
audio/aidl/vts/VtsHalVisualizerTargetTest.cpp +62 −42 Original line number Diff line number Diff line Loading @@ -48,27 +48,23 @@ using VisualizerParamTestParam = std::tuple<std::pair<std::shared_ptr<IFactory>, Descriptor>, int, Visualizer::ScalingMode, Visualizer::MeasurementMode, int>; class VisualizerParamTest : public ::testing::TestWithParam<VisualizerParamTestParam>, public EffectHelper { class VisualizerTestHelper : public EffectHelper { public: VisualizerParamTest() : mCaptureSize(std::get<PARAM_CAPTURE_SIZE>(GetParam())), mScalingMode(std::get<PARAM_SCALING_MODE>(GetParam())), mMeasurementMode(std::get<PARAM_MEASUREMENT_MODE>(GetParam())), mLatency(std::get<PARAM_LATENCY>(GetParam())) { std::tie(mFactory, mDescriptor) = std::get<PARAM_INSTANCE_NAME>(GetParam()); size_t channelCount = getChannelCount(AudioChannelLayout::make<AudioChannelLayout::layoutMask>( AudioChannelLayout::LAYOUT_STEREO)); mBufferSizeInFrames = kInputFrameCount * channelCount; mInputBuffer.resize(mBufferSizeInFrames); generateInputBuffer(mInputBuffer, 0, true, channelCount, kMaxAudioSampleValue); mOutputBuffer.resize(mBufferSizeInFrames); VisualizerTestHelper( std::pair<std::shared_ptr<IFactory>, Descriptor> descPair = {}, int captureSize = 128, int latency = 0, Visualizer::ScalingMode scalingMode = Visualizer::ScalingMode::NORMALIZED, Visualizer::MeasurementMode measurementMode = Visualizer::MeasurementMode::NONE) : mCaptureSize(captureSize), mLatency(latency), mScalingMode(scalingMode), mMeasurementMode(measurementMode), mInputBuffer(mBufferSizeInFrames), mOutputBuffer(mBufferSizeInFrames) { std::tie(mFactory, mDescriptor) = descPair; } void SetUp() override { void SetUpVisualizer() { ASSERT_NE(nullptr, mFactory); ASSERT_NO_FATAL_FAILURE(create(mFactory, mEffect, mDescriptor)); Loading @@ -80,28 +76,14 @@ class VisualizerParamTest : public ::testing::TestWithParam<VisualizerParamTestP mVersion = EffectFactoryHelper::getHalVersion(mFactory); } void TearDown() override { void TearDownVisualizer() { ASSERT_NO_FATAL_FAILURE(close(mEffect)); ASSERT_NO_FATAL_FAILURE(destroy(mFactory, mEffect)); mOpenEffectReturn = IEffect::OpenEffectReturn{}; } static const long kInputFrameCount = 0x100, kOutputFrameCount = 0x100; std::shared_ptr<IFactory> mFactory; std::shared_ptr<IEffect> mEffect; Descriptor mDescriptor; int mCaptureSize; Visualizer::ScalingMode mScalingMode = Visualizer::ScalingMode::NORMALIZED; Visualizer::MeasurementMode mMeasurementMode = Visualizer::MeasurementMode::NONE; int mLatency = 0; int mVersion = 0; std::vector<float> mInputBuffer; std::vector<float> mOutputBuffer; size_t mBufferSizeInFrames; IEffect::OpenEffectReturn mOpenEffectReturn; bool mAllParamsValid = true; void SetAndGetParameters() { void SetAndGetParameters(bool* allParamsValid = nullptr) { if (allParamsValid != nullptr) *allParamsValid = true; for (auto& it : mCommonTags) { auto& tag = it.first; auto& vs = it.second; Loading @@ -111,7 +93,9 @@ class VisualizerParamTest : public ::testing::TestWithParam<VisualizerParamTestP ASSERT_STATUS(EX_NONE, mEffect->getDescriptor(&desc)); const bool valid = isParameterValid<Visualizer, Range::visualizer>(vs, desc); const binder_exception_t expected = valid ? EX_NONE : EX_ILLEGAL_ARGUMENT; if (expected == EX_ILLEGAL_ARGUMENT) mAllParamsValid = false; if (expected == EX_ILLEGAL_ARGUMENT && allParamsValid != nullptr) { *allParamsValid = false; } // set parameter Parameter expectParam; Loading Loading @@ -155,6 +139,44 @@ class VisualizerParamTest : public ::testing::TestWithParam<VisualizerParamTestP {Visualizer::latencyMs, Visualizer::make<Visualizer::latencyMs>(latency)}); } static constexpr long kInputFrameCount = 0x100, kOutputFrameCount = 0x100; const size_t mChannelCount = getChannelCount(AudioChannelLayout::make<AudioChannelLayout::layoutMask>( AudioChannelLayout::LAYOUT_STEREO)); const size_t mBufferSizeInFrames = kInputFrameCount * mChannelCount; const int mCaptureSize; const int mLatency; const Visualizer::ScalingMode mScalingMode; const Visualizer::MeasurementMode mMeasurementMode; int mVersion; std::vector<float> mInputBuffer; std::vector<float> mOutputBuffer; std::shared_ptr<IEffect> mEffect; std::shared_ptr<IFactory> mFactory; Descriptor mDescriptor; IEffect::OpenEffectReturn mOpenEffectReturn; private: std::vector<std::pair<Visualizer::Tag, Visualizer>> mCommonTags; void CleanUp() { mCommonTags.clear(); } }; class VisualizerParamTest : public ::testing::TestWithParam<VisualizerParamTestParam>, public VisualizerTestHelper { public: VisualizerParamTest() : VisualizerTestHelper(std::get<PARAM_INSTANCE_NAME>(GetParam()), std::get<PARAM_CAPTURE_SIZE>(GetParam()), std::get<PARAM_LATENCY>(GetParam()), std::get<PARAM_SCALING_MODE>(GetParam()), std::get<PARAM_MEASUREMENT_MODE>(GetParam())) { generateInputBuffer(mInputBuffer, 0, true, mChannelCount, kMaxAudioSampleValue); } void SetUp() override { SetUpVisualizer(); } void TearDown() override { TearDownVisualizer(); } static std::unordered_set<Visualizer::MeasurementMode> getMeasurementModeValues() { return {ndk::enum_range<Visualizer::MeasurementMode>().begin(), ndk::enum_range<Visualizer::MeasurementMode>().end()}; Loading @@ -164,10 +186,6 @@ class VisualizerParamTest : public ::testing::TestWithParam<VisualizerParamTestP return {ndk::enum_range<Visualizer::ScalingMode>().begin(), ndk::enum_range<Visualizer::ScalingMode>().end()}; } private: std::vector<std::pair<Visualizer::Tag, Visualizer>> mCommonTags; void CleanUp() { mCommonTags.clear(); } }; TEST_P(VisualizerParamTest, SetAndGetCaptureSize) { Loading @@ -192,11 +210,13 @@ TEST_P(VisualizerParamTest, SetAndGetLatency) { TEST_P(VisualizerParamTest, testCaptureSampleBufferSizeAndOutput) { SKIP_TEST_IF_DATA_UNSUPPORTED(mDescriptor.common.flags); bool allParamsValid = true; ASSERT_NO_FATAL_FAILURE(addCaptureSizeParam(mCaptureSize)); ASSERT_NO_FATAL_FAILURE(addScalingModeParam(mScalingMode)); ASSERT_NO_FATAL_FAILURE(addMeasurementModeParam(mMeasurementMode)); ASSERT_NO_FATAL_FAILURE(addLatencyParam(mLatency)); ASSERT_NO_FATAL_FAILURE(SetAndGetParameters()); ASSERT_NO_FATAL_FAILURE(SetAndGetParameters(&allParamsValid)); Parameter getParam; Parameter::Id id; Loading @@ -209,7 +229,7 @@ TEST_P(VisualizerParamTest, testCaptureSampleBufferSizeAndOutput) { &mOpenEffectReturn, mVersion)); ASSERT_EQ(mInputBuffer, mOutputBuffer); if (mAllParamsValid) { if (allParamsValid) { std::vector<uint8_t> captureBuffer = getParam.get<Parameter::specific>() .get<Parameter::Specific::visualizer>() .get<Visualizer::captureSampleBuffer>(); Loading