From 0505ab4323de047faaa9f890c8bc81829ef19b29 Mon Sep 17 00:00:00 2001 From: Ray Kuo Date: Tue, 5 May 2020 10:41:36 +0800 Subject: [PATCH 01/21] A2DP: Enable AAC VBR Offloading Bug: 155826682 Test: Manual Merged-In: I55df55bbad18ab561493ec9d4d930345056d8c72 Change-Id: I55df55bbad18ab561493ec9d4d930345056d8c72 --- .../2.0/default/session/BluetoothAudioSupportedCodecsDB.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bluetooth/audio/2.0/default/session/BluetoothAudioSupportedCodecsDB.cpp b/bluetooth/audio/2.0/default/session/BluetoothAudioSupportedCodecsDB.cpp index 6ea61e1f18..c368197467 100644 --- a/bluetooth/audio/2.0/default/session/BluetoothAudioSupportedCodecsDB.cpp +++ b/bluetooth/audio/2.0/default/session/BluetoothAudioSupportedCodecsDB.cpp @@ -74,7 +74,7 @@ static const AacParameters kDefaultOffloadAacCapability = { .objectType = AacObjectType::MPEG2_LC, .sampleRate = SampleRate::RATE_44100, .channelMode = ChannelMode::STEREO, - .variableBitRateEnabled = AacVariableBitRate::DISABLED, + .variableBitRateEnabled = AacVariableBitRate::ENABLED, .bitsPerSample = BitsPerSample::BITS_16}; // LDAC: mSampleRate:(44100|48000|88200|96000), mBitsPerSample:(16|24|32), From 09f373d6c1cf02ab47d78dfd435e21582e1b702f Mon Sep 17 00:00:00 2001 From: Oleh Cherpak Date: Tue, 4 Feb 2020 15:15:35 +0200 Subject: [PATCH 02/21] vts: hostapd: Remove optional service registration Wifi VendorHAL is optional for Soft AP mode to function. Tests should be runnable even on devices without VendorHAL. Test: run vts -m VtsHalWifiHostapdV1_1Target Bug: 148907288 Bug: 158343986 Signed-off-by: Oleh Cherpak Change-Id: Id65d09d39d93e540a24e58fda233fd2faf8c3258 Merged-In: Id65d09d39d93e540a24e58fda233fd2faf8c3258 --- .../vts/functional/wifi_hidl_test_utils.cpp | 6 +++++- wifi/1.0/vts/functional/wifi_hidl_test_utils.h | 2 ++ .../vts/functional/hostapd_hidl_test_utils.cpp | 18 +++++++++++++----- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp b/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp index 3ff33a564b..5b11dd3fc4 100644 --- a/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp +++ b/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp @@ -89,8 +89,12 @@ bool configureChipToSupportIfaceTypeInternal(const sp& wifi_chip, } } // namespace +sp getWifi(const std::string& instance_name) { + return IWifi::getService(instance_name); +} + sp getWifiChip(const std::string& instance_name) { - sp wifi = IWifi::getService(instance_name); + sp wifi = getWifi(instance_name); if (!wifi.get()) { return nullptr; } diff --git a/wifi/1.0/vts/functional/wifi_hidl_test_utils.h b/wifi/1.0/vts/functional/wifi_hidl_test_utils.h index d22ed77cd9..5c7863740d 100644 --- a/wifi/1.0/vts/functional/wifi_hidl_test_utils.h +++ b/wifi/1.0/vts/functional/wifi_hidl_test_utils.h @@ -31,6 +31,8 @@ // Note: We only have a single instance of each of these objects currently. // These helper functions should be modified to return vectors if we support // multiple instances. +android::sp getWifi( + const std::string& instance_name); android::sp getWifiChip( const std::string& instance_name); android::sp getWifiApIface( diff --git a/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test_utils.cpp b/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test_utils.cpp index d4063fe258..3ddb2b31aa 100644 --- a/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test_utils.cpp +++ b/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test_utils.cpp @@ -47,16 +47,24 @@ namespace { // Helper function to initialize the driver and firmware to AP mode // using the vendor HAL HIDL interface. void initilializeDriverAndFirmware(const std::string& wifi_instance_name) { - sp wifi_chip = getWifiChip(wifi_instance_name); - ChipModeId mode_id; - EXPECT_TRUE(configureChipToSupportIfaceType( - wifi_chip, ::android::hardware::wifi::V1_0::IfaceType::AP, &mode_id)); + if (getWifi(wifi_instance_name) != nullptr) { + sp wifi_chip = getWifiChip(wifi_instance_name); + ChipModeId mode_id; + EXPECT_TRUE(configureChipToSupportIfaceType( + wifi_chip, ::android::hardware::wifi::V1_0::IfaceType::AP, &mode_id)); + } else { + LOG(WARNING) << __func__ << ": Vendor HAL not supported"; + } } // Helper function to deinitialize the driver and firmware // using the vendor HAL HIDL interface. void deInitilializeDriverAndFirmware(const std::string& wifi_instance_name) { - stopWifi(wifi_instance_name); + if (getWifi(wifi_instance_name) != nullptr) { + stopWifi(wifi_instance_name); + } else { + LOG(WARNING) << __func__ << ": Vendor HAL not supported"; + } } } // namespace From 31c434b96c94e086aa7b80c14da110309b496cbf Mon Sep 17 00:00:00 2001 From: Oleh Cherpak Date: Tue, 4 Feb 2020 15:36:50 +0200 Subject: [PATCH 03/21] vts: supplicant: Remove optional service registration Wifi VendorHAL is optional for STA mode to function. Tests should be runnable even on devices without VendorHAL. Bug: 148883970 Bug: 158343746 Test: run vts -m VtsHalWifiSupplicantV1_0Host Signed-off-by: Oleh Cherpak Change-Id: Ife6e09e41ccfd6c3ccbdc19394175d17986d310d Merged-In: Ife6e09e41ccfd6c3ccbdc19394175d17986d310d --- .../functional/supplicant_hidl_test_utils.cpp | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp b/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp index 38153238b8..addf066c15 100644 --- a/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp +++ b/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp @@ -58,11 +58,14 @@ void initilializeDriverAndFirmware(const std::string& wifi_instance_name) { if (wifi_instance_name == "") { return; } - - sp wifi_chip = getWifiChip(wifi_instance_name); - ChipModeId mode_id; - EXPECT_TRUE(configureChipToSupportIfaceType( - wifi_chip, ::android::hardware::wifi::V1_0::IfaceType::STA, &mode_id)); + if (getWifi(wifi_instance_name) != nullptr) { + sp wifi_chip = getWifiChip(wifi_instance_name); + ChipModeId mode_id; + EXPECT_TRUE(configureChipToSupportIfaceType( + wifi_chip, ::android::hardware::wifi::V1_0::IfaceType::STA, &mode_id)); + } else { + LOG(WARNING) << __func__ << ": Vendor HAL not supported"; + } } // Helper function to deinitialize the driver and firmware @@ -72,8 +75,11 @@ void deInitilializeDriverAndFirmware(const std::string& wifi_instance_name) { if (wifi_instance_name == "") { return; } - - stopWifi(wifi_instance_name); + if (getWifi(wifi_instance_name) != nullptr) { + stopWifi(wifi_instance_name); + } else { + LOG(WARNING) << __func__ << ": Vendor HAL not supported"; + } } // Helper function to find any iface of the desired type exposed. From cd4a39301474a9eee2c3e40f570b159541c5d17d Mon Sep 17 00:00:00 2001 From: Tomasz Wasilczyk Date: Mon, 29 Jun 2020 10:22:43 -0700 Subject: [PATCH 04/21] Fix GTestResultParser compatibility Bug: 158643176 Test: adb shell /data/nativetest64/VtsHalBroadcastradioV2_0TargetTest/VtsHalBroadcastradioV2_0TargetTest Change-Id: Id0c936da397f7b06b2f274e036dc789cdcd506da --- .../functional/VtsHalBroadcastradioV2_0TargetTest.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/broadcastradio/2.0/vts/functional/VtsHalBroadcastradioV2_0TargetTest.cpp b/broadcastradio/2.0/vts/functional/VtsHalBroadcastradioV2_0TargetTest.cpp index d170a6d469..694d52a094 100644 --- a/broadcastradio/2.0/vts/functional/VtsHalBroadcastradioV2_0TargetTest.cpp +++ b/broadcastradio/2.0/vts/functional/VtsHalBroadcastradioV2_0TargetTest.cpp @@ -116,7 +116,10 @@ class BroadcastRadioHalTest : public ::testing::TestWithParam { }; static void printSkipped(std::string msg) { - std::cout << "[ SKIPPED ] " << msg << std::endl; + const auto testInfo = testing::UnitTest::GetInstance()->current_test_info(); + std::cout << "[ SKIPPED ] " << testInfo->test_case_name() << "." << testInfo->name() + << std::endl; + std::cout << msg << std::endl; } MATCHER_P(InfoHasId, id, @@ -428,8 +431,9 @@ TEST_P(BroadcastRadioHalTest, FmTune) { ProgramInfo infoCb = {}; EXPECT_TIMEOUT_CALL(*mCallback, onCurrentProgramInfoChanged_, InfoHasId(utils::make_identifier(IdentifierType::AMFM_FREQUENCY, freq))) - .Times(AnyNumber()) - .WillOnce(DoAll(SaveArg<0>(&infoCb), testing::Return(ByMove(Void())))); + .Times(AnyNumber()) + .WillOnce(DoAll(SaveArg<0>(&infoCb), testing::Return(ByMove(Void())))) + .WillRepeatedly(testing::InvokeWithoutArgs([] { return Void(); })); auto result = mSession->tune(sel); // expect a failure if it's not supported From c8143625bae1ba31161d8d5432ee94c344d4c74e Mon Sep 17 00:00:00 2001 From: Yu-Han Yang Date: Wed, 15 Jul 2020 10:19:03 -0700 Subject: [PATCH 05/21] Retrieve the last SvInfo list in TestGnssSvInfoFields Bug: 161313893 Test: atest VtsHalGnssV2_1TargetTest Change-Id: I687e5ff6edd1ef67dbfe046c401fd15b3da0c857 --- gnss/2.1/vts/functional/gnss_hal_test_cases.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnss/2.1/vts/functional/gnss_hal_test_cases.cpp b/gnss/2.1/vts/functional/gnss_hal_test_cases.cpp index 33feb5e5f0..a3d2956199 100644 --- a/gnss/2.1/vts/functional/gnss_hal_test_cases.cpp +++ b/gnss/2.1/vts/functional/gnss_hal_test_cases.cpp @@ -247,8 +247,10 @@ TEST_P(GnssHalTest, TestGnssSvInfoFields) { ALOGD("Observed %d GnssSvStatus, while awaiting one location (%d received)", sv_info_list_cbq_size, location_called_count); - hidl_vec last_sv_info_list; - ASSERT_TRUE(gnss_cb_->sv_info_list_cbq_.retrieve(last_sv_info_list, 1)); + // Get the last sv_info_list + std::list> sv_info_vec_list; + gnss_cb_->sv_info_list_cbq_.retrieve(sv_info_vec_list, sv_info_list_cbq_size, 1); + hidl_vec last_sv_info_list = sv_info_vec_list.back(); bool nonZeroCn0Found = false; for (auto sv_info : last_sv_info_list) { @@ -673,4 +675,4 @@ TEST_P(GnssHalTest, TestGnssMeasurementCorrections) { iMeasurementCorrections->setCorrections_1_1(Utils::getMockMeasurementCorrections_1_1()); ASSERT_TRUE(result.isOk()); EXPECT_TRUE(result); -} \ No newline at end of file +} From 456f6d7c918778f53fe20f46637c7f92523e7e6b Mon Sep 17 00:00:00 2001 From: Slava Shklyaev Date: Thu, 9 Jul 2020 15:28:18 +0100 Subject: [PATCH 06/21] Fix stale NNAPI documentation The scale and zeroPoint fields are applicable to other types since 1.2. Also makes some whitespaces changes due to the generated documentation getting out of sync with the template in frameworks/ml/nn. Fix: 160406237 Test: generate_api.sh Test: m Change-Id: Icf594d40c73ff8c05044c320ac9eb6a9c5a89754 Merged-In: Icf594d40c73ff8c05044c320ac9eb6a9c5a89754 (cherry picked from commit 0d6cefe90b949c9e2e90471f7aa959a0714eeb45) --- current.txt | 2 ++ neuralnetworks/1.2/types.hal | 9 ++++++--- neuralnetworks/1.2/types.t | 9 ++++++--- neuralnetworks/1.3/types.hal | 23 +++++++++++++---------- neuralnetworks/1.3/types.t | 9 ++++++--- 5 files changed, 33 insertions(+), 19 deletions(-) diff --git a/current.txt b/current.txt index fc8c025c04..2756c5f4d4 100644 --- a/current.txt +++ b/current.txt @@ -768,6 +768,8 @@ a64467bae843569f0d465c5be7f0c7a5b987985b55a3ef4794dd5afc68538650 android.hardwar # ABI preserving changes to HALs during Android S cd84ab19c590e0e73dd2307b591a3093ee18147ef95e6d5418644463a6620076 android.hardware.neuralnetworks@1.2::IDevice +9625e85f56515ad2cf87b6a1847906db669f746ea4ab02cd3d4ca25abc9b0109 android.hardware.neuralnetworks@1.2::types +745295adfd826de650eedaf8cc6979f52a1cf30b04ea7a089a132d0089475e95 android.hardware.neuralnetworks@1.3::types # HALs released in Android S # NOTE: waiting to freeze HALs until later in the release diff --git a/neuralnetworks/1.2/types.hal b/neuralnetworks/1.2/types.hal index 92cf2aa5e4..7441a54dba 100644 --- a/neuralnetworks/1.2/types.hal +++ b/neuralnetworks/1.2/types.hal @@ -4853,15 +4853,18 @@ struct Operand { /** * Quantized scale of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM or - * TENSOR_INT32. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ float scale; /** * Quantized zero-point offset of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ int32_t zeroPoint; diff --git a/neuralnetworks/1.2/types.t b/neuralnetworks/1.2/types.t index d197f6b541..21d88acf8f 100644 --- a/neuralnetworks/1.2/types.t +++ b/neuralnetworks/1.2/types.t @@ -251,15 +251,18 @@ struct Operand { /** * Quantized scale of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM or - * TENSOR_INT32. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ float scale; /** * Quantized zero-point offset of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ int32_t zeroPoint; diff --git a/neuralnetworks/1.3/types.hal b/neuralnetworks/1.3/types.hal index 3b2b14c98c..7ec60648c5 100644 --- a/neuralnetworks/1.3/types.hal +++ b/neuralnetworks/1.3/types.hal @@ -5103,8 +5103,8 @@ enum OperationType : int32_t { * signature of this operation. That is, if the operation has (3 + n) inputs * and m outputs, both subgraphs must have n inputs and m outputs with the same * types, ranks, dimensions, scales, - * zeroPoints, and extraParams as the corresponding operation inputs and - * outputs. + * zeroPoints, and extraParams as the corresponding operation + * inputs and outputs. * All of the operands mentioned must have fully specified dimensions. * * Inputs: @@ -5170,15 +5170,15 @@ enum OperationType : int32_t { * * 0: A {@link OperandType::SUBGRAPH} reference to the condition * subgraph. The subgraph must have (m + k + n) inputs with * the same types, ranks, dimensions, - * scales, zeroPoints, and extraParams as the corresponding inputs of - * the WHILE operation and exactly one output of - * {@link OperandType::TENSOR_BOOL8} and shape [1]. + * scales, zeroPoints, and extraParams as the + * corresponding inputs of the WHILE operation and exactly one output + * of {@link OperandType::TENSOR_BOOL8} and shape [1]. * All of the operands mentioned must have fully specified dimensions. * * 1: A {@link OperandType::SUBGRAPH} reference to the body subgraph. * The subgraph must have (m + k + n) inputs and (m + k) outputs with * the same types, ranks, dimensions, - * scales, zeroPoints, and extraParams as the corresponding inputs and - * outputs of the WHILE operation. + * scales, zeroPoints, and extraParams as the + * corresponding inputs and outputs of the WHILE operation. * All of the operands mentioned must have fully specified dimensions. * * (m inputs): Initial values for input-output operands. * * (k inputs): Initial values for state-only operands. @@ -5538,15 +5538,18 @@ struct Operand { /** * Quantized scale of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM or - * TENSOR_INT32. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ float scale; /** * Quantized zero-point offset of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ int32_t zeroPoint; diff --git a/neuralnetworks/1.3/types.t b/neuralnetworks/1.3/types.t index 7220e372a7..9cffc7a32c 100644 --- a/neuralnetworks/1.3/types.t +++ b/neuralnetworks/1.3/types.t @@ -303,15 +303,18 @@ struct Operand { /** * Quantized scale of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM or - * TENSOR_INT32. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ float scale; /** * Quantized zero-point offset of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ int32_t zeroPoint; From 886f321139716bb998b21e9436a61749239bcf13 Mon Sep 17 00:00:00 2001 From: Slava Shklyaev Date: Mon, 13 Jul 2020 14:18:27 +0100 Subject: [PATCH 07/21] Fix typo in NNAPI documentation Fix: 160960007 Test: m Change-Id: I6c1af92f640fde833d2d93f7db4576c92a6f9719 Merged-In: I6c1af92f640fde833d2d93f7db4576c92a6f9719 (cherry picked from commit 3bbc2aedd0c02afe9eeb3c4460ee1b6d8ddc1796) --- current.txt | 2 +- neuralnetworks/1.3/types.hal | 8 ++++---- neuralnetworks/1.3/types.t | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/current.txt b/current.txt index 2756c5f4d4..6f0debd047 100644 --- a/current.txt +++ b/current.txt @@ -769,7 +769,7 @@ a64467bae843569f0d465c5be7f0c7a5b987985b55a3ef4794dd5afc68538650 android.hardwar # ABI preserving changes to HALs during Android S cd84ab19c590e0e73dd2307b591a3093ee18147ef95e6d5418644463a6620076 android.hardware.neuralnetworks@1.2::IDevice 9625e85f56515ad2cf87b6a1847906db669f746ea4ab02cd3d4ca25abc9b0109 android.hardware.neuralnetworks@1.2::types -745295adfd826de650eedaf8cc6979f52a1cf30b04ea7a089a132d0089475e95 android.hardware.neuralnetworks@1.3::types +9e758e208d14f7256e0885d6d8ad0b61121b21d8c313864f981727ae55bffd16 android.hardware.neuralnetworks@1.3::types # HALs released in Android S # NOTE: waiting to freeze HALs until later in the release diff --git a/neuralnetworks/1.3/types.hal b/neuralnetworks/1.3/types.hal index 7ec60648c5..5f5ee0360c 100644 --- a/neuralnetworks/1.3/types.hal +++ b/neuralnetworks/1.3/types.hal @@ -5743,8 +5743,8 @@ struct Request { * Input data and information to be used in the execution of a prepared * model. * - * The index of the input corresponds to the index in Model.inputIndexes. - * E.g., input[i] corresponds to Model.inputIndexes[i]. + * The index of the input corresponds to the index in Model.main.inputIndexes. + * E.g., input[i] corresponds to Model.main.inputIndexes[i]. */ vec inputs; @@ -5752,8 +5752,8 @@ struct Request { * Output data and information to be used in the execution of a prepared * model. * - * The index of the output corresponds to the index in Model.outputIndexes. - * E.g., output[i] corresponds to Model.outputIndexes[i]. + * The index of the output corresponds to the index in Model.main.outputIndexes. + * E.g., output[i] corresponds to Model.main.outputIndexes[i]. */ vec outputs; diff --git a/neuralnetworks/1.3/types.t b/neuralnetworks/1.3/types.t index 9cffc7a32c..2901d18525 100644 --- a/neuralnetworks/1.3/types.t +++ b/neuralnetworks/1.3/types.t @@ -508,8 +508,8 @@ struct Request { * Input data and information to be used in the execution of a prepared * model. * - * The index of the input corresponds to the index in Model.inputIndexes. - * E.g., input[i] corresponds to Model.inputIndexes[i]. + * The index of the input corresponds to the index in Model.main.inputIndexes. + * E.g., input[i] corresponds to Model.main.inputIndexes[i]. */ vec inputs; @@ -517,8 +517,8 @@ struct Request { * Output data and information to be used in the execution of a prepared * model. * - * The index of the output corresponds to the index in Model.outputIndexes. - * E.g., output[i] corresponds to Model.outputIndexes[i]. + * The index of the output corresponds to the index in Model.main.outputIndexes. + * E.g., output[i] corresponds to Model.main.outputIndexes[i]. */ vec outputs; From de1d2b6cbeebb9c28d6288e1e358e645e9cee951 Mon Sep 17 00:00:00 2001 From: Amy Zhang Date: Wed, 15 Jul 2020 14:27:32 -0700 Subject: [PATCH 08/21] Fix bugs in the Tuner HAL 1.0 VTS The previous implementation did not check some of the Descrambler API test results to stop the test. And the test itself was also implemented in a wrong way. Test: atest VtsHalTvTunerV1_0TargetTest Bug: 150987138 Change-Id: Ie26db0ec1b231062d0314631eebec319382da1bc (cherry picked from commit 6d774c89a1112c36ad14c9c0b95ee8816cb176f2) --- .../1.0/vts/functional/DescramblerTests.cpp | 16 ++++++++-------- .../functional/VtsHalTvTunerV1_0TargetTest.cpp | 18 +++++++++--------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/tv/tuner/1.0/vts/functional/DescramblerTests.cpp b/tv/tuner/1.0/vts/functional/DescramblerTests.cpp index d7440bc135..2e27475e71 100644 --- a/tv/tuner/1.0/vts/functional/DescramblerTests.cpp +++ b/tv/tuner/1.0/vts/functional/DescramblerTests.cpp @@ -102,13 +102,13 @@ AssertionResult DescramblerTests::openDescrambler(uint32_t demuxId) { AssertionResult DescramblerTests::setKeyToken(TunerKeyToken token) { Result status; - if (mDescrambler) { + if (!mDescrambler) { ALOGW("[vts] Descrambler is not opened yet."); return failure(); } status = mDescrambler->setKeyToken(token); - if (status == Result::SUCCESS) { + if (status != Result::SUCCESS) { ALOGW("[vts] setKeyToken failed."); return failure(); } @@ -118,13 +118,13 @@ AssertionResult DescramblerTests::setKeyToken(TunerKeyToken token) { AssertionResult DescramblerTests::addPid(DemuxPid pid, sp optionalSourceFilter) { Result status; - if (mDescrambler) { + if (!mDescrambler) { ALOGW("[vts] Descrambler is not opened yet."); return failure(); } status = mDescrambler->addPid(pid, optionalSourceFilter); - if (status == Result::SUCCESS) { + if (status != Result::SUCCESS) { ALOGW("[vts] addPid failed."); return failure(); } @@ -134,13 +134,13 @@ AssertionResult DescramblerTests::addPid(DemuxPid pid, sp optionalSourc AssertionResult DescramblerTests::removePid(DemuxPid pid, sp optionalSourceFilter) { Result status; - if (mDescrambler) { + if (!mDescrambler) { ALOGW("[vts] Descrambler is not opened yet."); return failure(); } status = mDescrambler->removePid(pid, optionalSourceFilter); - if (status == Result::SUCCESS) { + if (status != Result::SUCCESS) { ALOGW("[vts] removePid failed."); return failure(); } @@ -150,14 +150,14 @@ AssertionResult DescramblerTests::removePid(DemuxPid pid, sp optionalSo AssertionResult DescramblerTests::closeDescrambler() { Result status; - if (mDescrambler) { + if (!mDescrambler) { ALOGW("[vts] Descrambler is not opened yet."); return failure(); } status = mDescrambler->close(); mDescrambler = nullptr; - if (status == Result::SUCCESS) { + if (status != Result::SUCCESS) { ALOGW("[vts] close Descrambler failed."); return failure(); } diff --git a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp index 6819659915..2be68b8fc0 100644 --- a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp +++ b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp @@ -292,18 +292,18 @@ void TunerDescramblerHidlTest::scrambledBroadcastTest(set m ASSERT_TRUE(mFilterTests.configFilter((*config).settings, filterId)); filterIds.insert(filterId); } - mDescramblerTests.openDescrambler(demuxId); + ASSERT_TRUE(mDescramblerTests.openDescrambler(demuxId)); TunerKeyToken token; ASSERT_TRUE(mDescramblerTests.getKeyToken(descConfig.casSystemId, descConfig.provisionStr, descConfig.hidlPvtData, token)); - mDescramblerTests.setKeyToken(token); + ASSERT_TRUE(mDescramblerTests.setKeyToken(token)); vector pids; DemuxPid pid; for (config = mediaFilterConfs.begin(); config != mediaFilterConfs.end(); config++) { ASSERT_TRUE(mDescramblerTests.getDemuxPidFromFilterSettings((*config).type, (*config).settings, pid)); pids.push_back(pid); - mDescramblerTests.addPid(pid, nullptr); + ASSERT_TRUE(mDescramblerTests.addPid(pid, nullptr)); } for (id = filterIds.begin(); id != filterIds.end(); id++) { ASSERT_TRUE(mFilterTests.startFilter(*id)); @@ -316,9 +316,9 @@ void TunerDescramblerHidlTest::scrambledBroadcastTest(set m ASSERT_TRUE(mFilterTests.stopFilter(*id)); } for (auto pid : pids) { - mDescramblerTests.removePid(pid, nullptr); + ASSERT_TRUE(mDescramblerTests.removePid(pid, nullptr)); } - mDescramblerTests.closeDescrambler(); + ASSERT_TRUE(mDescramblerTests.closeDescrambler()); for (id = filterIds.begin(); id != filterIds.end(); id++) { ASSERT_TRUE(mFilterTests.closeFilter(*id)); } @@ -410,9 +410,9 @@ TEST_P(TunerDemuxHidlTest, getAvSyncTime) { filterArray[TS_PCR0].bufferSize)); ASSERT_TRUE(mFilterTests.getNewlyOpenedFilterId(pcrFilterId)); ASSERT_TRUE(mFilterTests.configFilter(filterArray[TS_PCR0].settings, pcrFilterId)); - mDemuxTests.getAvSyncId(mediaFilter, avSyncHwId); + ASSERT_TRUE(mDemuxTests.getAvSyncId(mediaFilter, avSyncHwId)); ASSERT_TRUE(pcrFilterId == avSyncHwId); - mDemuxTests.getAvSyncTime(pcrFilterId); + ASSERT_TRUE(mDemuxTests.getAvSyncTime(pcrFilterId)); ASSERT_TRUE(mFilterTests.closeFilter(pcrFilterId)); ASSERT_TRUE(mFilterTests.closeFilter(mediaFilterId)); ASSERT_TRUE(mDemuxTests.closeDemux()); @@ -519,8 +519,8 @@ TEST_P(TunerDescramblerHidlTest, CreateDescrambler) { ASSERT_TRUE(mFrontendTests.setFrontendCallback()); ASSERT_TRUE(mDemuxTests.openDemux(demux, demuxId)); ASSERT_TRUE(mDemuxTests.setDemuxFrontendDataSource(feId)); - mDescramblerTests.openDescrambler(demuxId); - mDescramblerTests.closeDescrambler(); + ASSERT_TRUE(mDescramblerTests.openDescrambler(demuxId)); + ASSERT_TRUE(mDescramblerTests.closeDescrambler()); ASSERT_TRUE(mDemuxTests.closeDemux()); ASSERT_TRUE(mFrontendTests.closeFrontend()); } From 6d0af445ee73e73999470e911c02f07c50e96978 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Tue, 21 Jul 2020 13:48:28 -0700 Subject: [PATCH 09/21] wifi(vts): Use blocking getService to wait for service to come up Switch away from using wifi's custom implementation to block for supplicant/hostapd daemon to come up. Bug: 161682236 Test: vts-tradefed run commandAndExit vts --module VtsHalWifiHostapdV1_0Target vts-tradefed run commandAndExit vts --module VtsHalWifiSupplicantV1_0Host Change-Id: Ia05f93ba4a28c036315558edbba30f19c2e6ac95 --- .../functional/hostapd_hidl_test_utils.cpp | 60 +------------------ .../functional/supplicant_hidl_test_utils.cpp | 60 +------------------ 2 files changed, 4 insertions(+), 116 deletions(-) diff --git a/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test_utils.cpp b/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test_utils.cpp index d4063fe258..912d285fd4 100644 --- a/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test_utils.cpp +++ b/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test_utils.cpp @@ -17,7 +17,6 @@ #include #include -#include #include #include @@ -39,7 +38,6 @@ using ::android::hardware::wifi::hostapd::V1_0::HostapdStatusCode; using ::android::hardware::wifi::hostapd::V1_0::IHostapd; using ::android::hardware::wifi::V1_0::ChipModeId; using ::android::hardware::wifi::V1_0::IWifiChip; -using ::android::hidl::manager::V1_0::IServiceNotification; using ::android::wifi_system::HostapdManager; using ::android::wifi_system::SupplicantManager; @@ -60,55 +58,6 @@ void deInitilializeDriverAndFirmware(const std::string& wifi_instance_name) { } } // namespace -// Utility class to wait for wpa_hostapd's HIDL service registration. -class ServiceNotificationListener : public IServiceNotification { - public: - Return onRegistration(const hidl_string& fully_qualified_name, - const hidl_string& instance_name, - bool pre_existing) override { - if (pre_existing) { - return Void(); - } - std::unique_lock lock(mutex_); - registered_.push_back(std::string(fully_qualified_name.c_str()) + "/" + - instance_name.c_str()); - lock.unlock(); - condition_.notify_one(); - return Void(); - } - - bool registerForHidlServiceNotifications(const std::string& instance_name) { - if (!IHostapd::registerForNotifications(instance_name, this)) { - return false; - } - configureRpcThreadpool(2, false); - return true; - } - - bool waitForHidlService(uint32_t timeout_in_millis, - const std::string& instance_name) { - std::unique_lock lock(mutex_); - condition_.wait_for(lock, std::chrono::milliseconds(timeout_in_millis), - [&]() { return registered_.size() >= 1; }); - if (registered_.size() != 1) { - return false; - } - std::string expected_registered = - std::string(IHostapd::descriptor) + "/" + instance_name; - if (registered_[0] != expected_registered) { - LOG(ERROR) << "Expected: " << expected_registered - << ", Got: " << registered_[0]; - return false; - } - return true; - } - - private: - std::vector registered_{}; - std::mutex mutex_; - std::condition_variable condition_; -}; - void stopSupplicantIfNeeded(const std::string& instance_name) { SupplicantManager supplicant_manager; if (supplicant_manager.IsSupplicantRunning()) { @@ -131,16 +80,11 @@ void startHostapdAndWaitForHidlService( const std::string& hostapd_instance_name) { initilializeDriverAndFirmware(wifi_instance_name); - android::sp notification_listener = - new ServiceNotificationListener(); - ASSERT_TRUE(notification_listener->registerForHidlServiceNotifications( - hostapd_instance_name)); - HostapdManager hostapd_manager; ASSERT_TRUE(hostapd_manager.StartHostapd()); - ASSERT_TRUE( - notification_listener->waitForHidlService(500, hostapd_instance_name)); + // Wait for hostapd service to come up. + IHostapd::getService(hostapd_instance_name); } bool is_1_1(const sp& hostapd) { diff --git a/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp b/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp index 38153238b8..371cce99a3 100644 --- a/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp +++ b/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp @@ -18,7 +18,6 @@ #include #include -#include #include #include @@ -45,7 +44,6 @@ using ::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIface; using ::android::hardware::wifi::supplicant::V1_0::IfaceType; using ::android::hardware::wifi::supplicant::V1_0::SupplicantStatus; using ::android::hardware::wifi::supplicant::V1_0::SupplicantStatusCode; -using ::android::hidl::manager::V1_0::IServiceNotification; using ::android::wifi_system::InterfaceTool; using ::android::wifi_system::SupplicantManager; @@ -114,55 +112,6 @@ std::string getP2pIfaceName() { } } // namespace -// Utility class to wait for wpa_supplicant's HIDL service registration. -class ServiceNotificationListener : public IServiceNotification { - public: - Return onRegistration(const hidl_string& fully_qualified_name, - const hidl_string& instance_name, - bool pre_existing) override { - if (pre_existing) { - return Void(); - } - std::unique_lock lock(mutex_); - registered_.push_back(std::string(fully_qualified_name.c_str()) + "/" + - instance_name.c_str()); - lock.unlock(); - condition_.notify_one(); - return Void(); - } - - bool registerForHidlServiceNotifications(const std::string& instance_name) { - if (!ISupplicant::registerForNotifications(instance_name, this)) { - return false; - } - configureRpcThreadpool(2, false); - return true; - } - - bool waitForHidlService(uint32_t timeout_in_millis, - const std::string& instance_name) { - std::unique_lock lock(mutex_); - condition_.wait_for(lock, std::chrono::milliseconds(timeout_in_millis), - [&]() { return registered_.size() >= 1; }); - if (registered_.size() != 1) { - return false; - } - std::string exptected_registered = - std::string(ISupplicant::descriptor) + "/" + instance_name; - if (registered_[0] != exptected_registered) { - LOG(ERROR) << "Expected: " << exptected_registered - << ", Got: " << registered_[0]; - return false; - } - return true; - } - - private: - std::vector registered_{}; - std::mutex mutex_; - std::condition_variable condition_; -}; - void stopSupplicant() { stopSupplicant(""); } void stopSupplicant(const std::string& wifi_instance_name) { @@ -178,17 +127,12 @@ void startSupplicantAndWaitForHidlService( const std::string& supplicant_instance_name) { initilializeDriverAndFirmware(wifi_instance_name); - android::sp notification_listener = - new ServiceNotificationListener(); - ASSERT_TRUE(notification_listener->registerForHidlServiceNotifications( - supplicant_instance_name)); - SupplicantManager supplicant_manager; ASSERT_TRUE(supplicant_manager.StartSupplicant()); ASSERT_TRUE(supplicant_manager.IsSupplicantRunning()); - ASSERT_TRUE(notification_listener->waitForHidlService( - 500, supplicant_instance_name)); + // Wait for supplicant service to come up. + ISupplicant::getService(supplicant_instance_name); } bool is_1_1(const sp& supplicant) { From f122309667b815e8c7d86261782d0c9986268a28 Mon Sep 17 00:00:00 2001 From: Amy Zhang Date: Tue, 21 Jul 2020 10:16:13 -0700 Subject: [PATCH 10/21] Add Tuner HAL and TvInput HAL VTS tests into the exception list of the uninstantiated parameterized tests. This test can be disabled on the phone target once there is a cuttlefish tv target enabled to run the test continuously. The test will be removed from the exception list afterwards. Test: make VtsHalTvTunerV1_0TargetTest Bug: 161805444 Change-Id: I7a2ad0e8a43c6262628354be316c530ab00ac520 --- .../1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp | 3 +++ .../1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp b/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp index 59c70eb1e2..8092d5e7d2 100644 --- a/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp +++ b/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp @@ -337,3 +337,6 @@ INSTANTIATE_TEST_SUITE_P( PerInstance, TvInputHidlTest, testing::ValuesIn(android::hardware::getAllHalInstanceNames(ITvInput::descriptor)), android::hardware::PrintInstanceNameToString); + +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TvInputHidlTest); diff --git a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp index 6819659915..76f50155f1 100644 --- a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp +++ b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp @@ -572,4 +572,14 @@ INSTANTIATE_TEST_SUITE_P( PerInstance, TunerDescramblerHidlTest, testing::ValuesIn(android::hardware::getAllHalInstanceNames(ITuner::descriptor)), android::hardware::PrintInstanceNameToString); + +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerFrontendHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerLnbHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerDemuxHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerFilterHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerBroadcastHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerPlaybackHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerRecordHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerDescramblerHidlTest); } // namespace From 0857d7caa060d5390593136448c44df34db8df6d Mon Sep 17 00:00:00 2001 From: Amy Zhang Date: Tue, 21 Jul 2020 10:16:13 -0700 Subject: [PATCH 11/21] Add Tuner HAL and TvInput HAL VTS tests into the exception list of the uninstantiated parameterized tests. This test can be disabled on the phone target once there is a cuttlefish tv target enabled to run the test continuously. The test will be removed from the exception list afterwards. Test: make VtsHalTvTunerV1_0TargetTest Bug: 161805444 Change-Id: I7a2ad0e8a43c6262628354be316c530ab00ac520 Merged-In: I7a2ad0e8a43c6262628354be316c530ab00ac520 --- .../1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp | 3 +++ .../1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp b/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp index 59c70eb1e2..8092d5e7d2 100644 --- a/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp +++ b/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp @@ -337,3 +337,6 @@ INSTANTIATE_TEST_SUITE_P( PerInstance, TvInputHidlTest, testing::ValuesIn(android::hardware::getAllHalInstanceNames(ITvInput::descriptor)), android::hardware::PrintInstanceNameToString); + +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TvInputHidlTest); diff --git a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp index 2be68b8fc0..4f6c19ed59 100644 --- a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp +++ b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp @@ -572,4 +572,14 @@ INSTANTIATE_TEST_SUITE_P( PerInstance, TunerDescramblerHidlTest, testing::ValuesIn(android::hardware::getAllHalInstanceNames(ITuner::descriptor)), android::hardware::PrintInstanceNameToString); + +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerFrontendHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerLnbHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerDemuxHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerFilterHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerBroadcastHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerPlaybackHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerRecordHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerDescramblerHidlTest); } // namespace From 1eaaa3918efe8d50670dbdd1fe9e175440f7cb1d Mon Sep 17 00:00:00 2001 From: Sunil Ravi Date: Tue, 21 Jul 2020 22:15:01 -0700 Subject: [PATCH 12/21] wifi: Fix for DPP VTS test failures on 5GHz only devices Pass one 2.4GHz channel (1) and one 5GHz channel(40) in URI channel-list, so that devices which support only one band can initiate Authentication. Bug: 161331637 Test: VtsHalWifiSupplicantV1_2TargetTest Test: VtsHalWifiSupplicantV1_3TargetTest Change-Id: Ic2677c5f2c2bebe632f823f0472da0a5ae404c0d (cherry picked from commit 6b75eeb045aaea5477f9615f2fa9bdf2945be923) --- .../vts/functional/supplicant_sta_iface_hidl_test.cpp | 9 ++++++--- .../vts/functional/supplicant_sta_iface_hidl_test.cpp | 6 ++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/wifi/supplicant/1.2/vts/functional/supplicant_sta_iface_hidl_test.cpp b/wifi/supplicant/1.2/vts/functional/supplicant_sta_iface_hidl_test.cpp index f38dda4caf..7377f780f2 100644 --- a/wifi/supplicant/1.2/vts/functional/supplicant_sta_iface_hidl_test.cpp +++ b/wifi/supplicant/1.2/vts/functional/supplicant_sta_iface_hidl_test.cpp @@ -302,7 +302,8 @@ TEST_P(SupplicantStaIfaceHidlTest, AddDppPeerUriAndRomveUri) { } hidl_string uri = - "DPP:C:81/1;M:48d6d5bd1de1;I:G1197843;K:MDkwEwYHKoZIzj0CAQYIKoZIzj" + "DPP:C:81/1,117/" + "40;M:48d6d5bd1de1;I:G1197843;K:MDkwEwYHKoZIzj0CAQYIKoZIzj" "0DAQcDIgAD0edY4X3N//HhMFYsZfMbQJTiNFtNIWF/cIwMB/gzqOM=;;"; uint32_t peer_id = 0; @@ -347,7 +348,8 @@ TEST_P(SupplicantStaIfaceHidlTest, StartDppEnrolleeInitiator) { } hidl_string uri = - "DPP:C:81/1;M:48d6d5bd1de1;I:G1197843;K:MDkwEwYHKoZIzj0CAQYIKoZIzj" + "DPP:C:81/1,117/" + "40;M:48d6d5bd1de1;I:G1197843;K:MDkwEwYHKoZIzj0CAQYIKoZIzj" "0DAQcDIgAD0edY4X3N//HhMFYsZfMbQJTiNFtNIWF/cIwMB/gzqOM=;;"; uint32_t peer_id = 0; @@ -413,7 +415,8 @@ TEST_P(SupplicantStaIfaceHidlTest, StartDppConfiguratorInitiator) { } hidl_string uri = - "DPP:C:81/1;M:48d6d5bd1de1;I:G1197843;K:MDkwEwYHKoZIzj0CAQYIKoZIzj" + "DPP:C:81/1,117/" + "40;M:48d6d5bd1de1;I:G1197843;K:MDkwEwYHKoZIzj0CAQYIKoZIzj" "0DAQcDIgAD0edY4X3N//HhMFYsZfMbQJTiNFtNIWF/cIwMB/gzqOM=;;"; uint32_t peer_id = 0; diff --git a/wifi/supplicant/1.3/vts/functional/supplicant_sta_iface_hidl_test.cpp b/wifi/supplicant/1.3/vts/functional/supplicant_sta_iface_hidl_test.cpp index 40202980bc..12bd122b14 100644 --- a/wifi/supplicant/1.3/vts/functional/supplicant_sta_iface_hidl_test.cpp +++ b/wifi/supplicant/1.3/vts/functional/supplicant_sta_iface_hidl_test.cpp @@ -419,7 +419,8 @@ TEST_P(SupplicantStaIfaceHidlTest, StartDppEnrolleeInitiator) { } hidl_string uri = - "DPP:C:81/1;M:48d6d5bd1de1;I:G1197843;K:MDkwEwYHKoZIzj0CAQYIKoZIzj" + "DPP:C:81/1,117/" + "40;M:48d6d5bd1de1;I:G1197843;K:MDkwEwYHKoZIzj0CAQYIKoZIzj" "0DAQcDIgAD0edY4X3N//HhMFYsZfMbQJTiNFtNIWF/cIwMB/gzqOM=;;"; uint32_t peer_id = 0; @@ -470,7 +471,8 @@ TEST_P(SupplicantStaIfaceHidlTest, StartDppConfiguratorInitiator) { } hidl_string uri = - "DPP:C:81/1;M:48d6d5bd1de1;I:G1197843;K:MDkwEwYHKoZIzj0CAQYIKoZIzj" + "DPP:C:81/1,117/" + "40;M:48d6d5bd1de1;I:G1197843;K:MDkwEwYHKoZIzj0CAQYIKoZIzj" "0DAQcDIgAD0edY4X3N//HhMFYsZfMbQJTiNFtNIWF/cIwMB/gzqOM=;;"; uint32_t peer_id = 0; From f0dfc4d6245a82d231164d653b76a5574e513d20 Mon Sep 17 00:00:00 2001 From: David Su Date: Fri, 24 Jul 2020 18:46:33 +0000 Subject: [PATCH 13/21] Revert "Add Tuner HAL and TvInput HAL VTS tests into the exception list of the uninstantiated" This reverts commit 0857d7caa060d5390593136448c44df34db8df6d. Reason for revert: breaks build: b/162086397 Change-Id: If91c59aa5485cd78e42b743a7bf786c68283aecb --- .../1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp | 3 --- .../1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp | 10 ---------- 2 files changed, 13 deletions(-) diff --git a/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp b/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp index 8092d5e7d2..59c70eb1e2 100644 --- a/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp +++ b/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp @@ -337,6 +337,3 @@ INSTANTIATE_TEST_SUITE_P( PerInstance, TvInputHidlTest, testing::ValuesIn(android::hardware::getAllHalInstanceNames(ITvInput::descriptor)), android::hardware::PrintInstanceNameToString); - -// TODO remove from the allow list once the cf tv target is enabled for testing -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TvInputHidlTest); diff --git a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp index 4f6c19ed59..2be68b8fc0 100644 --- a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp +++ b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp @@ -572,14 +572,4 @@ INSTANTIATE_TEST_SUITE_P( PerInstance, TunerDescramblerHidlTest, testing::ValuesIn(android::hardware::getAllHalInstanceNames(ITuner::descriptor)), android::hardware::PrintInstanceNameToString); - -// TODO remove from the allow list once the cf tv target is enabled for testing -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerFrontendHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerLnbHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerDemuxHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerFilterHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerBroadcastHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerPlaybackHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerRecordHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerDescramblerHidlTest); } // namespace From 868c18341d6c25cb6b5ecb38e64c3bd99b79eba6 Mon Sep 17 00:00:00 2001 From: Manisha Jajoo Date: Wed, 15 Jul 2020 19:11:26 +0530 Subject: [PATCH 14/21] [DO NOT MERGE] OMX VTS: Use GraphicBuffer utils from libui Use GraphicBufferMapper and GraphicBufferAllocator for gralloc buffers. This makes the tests independent of gralloc version Bug: 160355727 Test: atest VtsHalMediaOmxV1_0TargetMasterTest \ VtsHalMediaOmxV1_0TargetComponentTest \ VtsHalMediaOmxV1_0TargetAudioEncTest \ VtsHalMediaOmxV1_0TargetAudioDecTest \ VtsHalMediaOmxV1_0TargetVideoDecTest \ VtsHalMediaOmxV1_0TargetVideoEncTest Change-Id: If407ac3d8c0fadc55a8e57627121244a8d5155f8 --- .../omx/1.0/vts/functional/common/Android.bp | 18 +- .../common/media_hidl_test_common.cpp | 112 ++----- .../common/media_hidl_test_common.h | 42 +-- .../VtsHalMediaOmxV1_0TargetVideoEncTest.cpp | 306 ++++++------------ 4 files changed, 125 insertions(+), 353 deletions(-) diff --git a/media/omx/1.0/vts/functional/common/Android.bp b/media/omx/1.0/vts/functional/common/Android.bp index 720ea9f1cf..064aaa5a58 100644 --- a/media/omx/1.0/vts/functional/common/Android.bp +++ b/media/omx/1.0/vts/functional/common/Android.bp @@ -22,28 +22,24 @@ cc_library_static { export_header_lib_headers: ["media_plugin_headers"], export_include_dirs: ["."], + shared_libs: [ + "libui", + ], + static_libs: [ "libgtest", "libhidlmemory", "android.hidl.allocator@1.0", "android.hidl.memory@1.0", "android.hardware.media.omx@1.0", - "android.hardware.graphics.allocator@2.0", - "android.hardware.graphics.allocator@3.0", "android.hardware.graphics.common@1.0", "android.hardware.graphics.common@1.1", "android.hardware.graphics.common@1.2", - "android.hardware.graphics.mapper@2.0", - "android.hardware.graphics.mapper@3.0", ], export_static_lib_headers: [ - "android.hardware.graphics.allocator@2.0", - "android.hardware.graphics.allocator@3.0", "android.hardware.graphics.common@1.0", "android.hardware.graphics.common@1.1", "android.hardware.graphics.common@1.2", - "android.hardware.graphics.mapper@2.0", - "android.hardware.graphics.mapper@3.0", ], } @@ -54,15 +50,10 @@ cc_defaults { // Link to these statically as they are not guaranteed to be on the device. static_libs: [ "VtsHalMediaOmxV1_0CommonUtil", - "android.hardware.graphics.allocator@2.0", - "android.hardware.graphics.allocator@3.0", "android.hardware.graphics.common@1.0", "android.hardware.graphics.common@1.1", "android.hardware.graphics.common@1.2", - "android.hardware.graphics.mapper@2.0", - "android.hardware.graphics.mapper@3.0", "android.hardware.graphics.bufferqueue@1.0", - "android.hardware.graphics.common@1.0", "android.hardware.media.omx@1.0", "android.hardware.media@1.0", "android.hidl.allocator@1.0", @@ -73,6 +64,7 @@ cc_defaults { // TODO(b/64437680): Assume these libs are always available on the device. shared_libs: [ + "libui", "libstagefright_foundation", "libstagefright_omx_utils", ], diff --git a/media/omx/1.0/vts/functional/common/media_hidl_test_common.cpp b/media/omx/1.0/vts/functional/common/media_hidl_test_common.cpp index d9d11571c4..64f27e8ad8 100644 --- a/media/omx/1.0/vts/functional/common/media_hidl_test_common.cpp +++ b/media/omx/1.0/vts/functional/common/media_hidl_test_common.cpp @@ -21,12 +21,6 @@ #include -#include -#include -#include -#include -#include -#include #include #include #include @@ -199,42 +193,6 @@ void allocateGraphicBuffers(sp omxNode, OMX_U32 portIndex, BufferInfo* buffer, uint32_t nFrameWidth, uint32_t nFrameHeight, int32_t* nStride, int format) { - struct AllocatorV2 : public GrallocV2 { - sp mAllocator; - sp mMapper; - AllocatorV2(sp&& allocator, sp&& mapper) - : mAllocator{std::move(allocator)}, mMapper{std::move(mapper)} {} - AllocatorV2() = default; - }; - struct AllocatorV3 : public GrallocV3 { - sp mAllocator; - sp mMapper; - AllocatorV3(sp&& allocator, sp&& mapper) - : mAllocator{std::move(allocator)}, mMapper{std::move(mapper)} {} - AllocatorV3() = default; - }; - std::variant grallocVar; - - sp mapper2{}; - sp mapper3{}; - sp allocator2{}; - sp allocator3 = - android::hardware::graphics::allocator::V3_0::IAllocator::getService(); - if (allocator3) { - mapper3 = - android::hardware::graphics::mapper::V3_0::IMapper::getService(); - ASSERT_NE(nullptr, mapper3.get()); - grallocVar.emplace(std::move(allocator3), std::move(mapper3)); - } else { - allocator2 = - android::hardware::graphics::allocator::V2_0::IAllocator::getService(); - ASSERT_NE(nullptr, allocator2.get()); - mapper2 = - android::hardware::graphics::mapper::V2_0::IMapper::getService(); - ASSERT_NE(nullptr, allocator2.get()); - grallocVar.emplace(std::move(allocator2), std::move(mapper2)); - } - android::hardware::media::omx::V1_0::Status status{}; uint64_t usage{}; ASSERT_TRUE(omxNode->getGraphicBufferUsage( @@ -246,57 +204,27 @@ void allocateGraphicBuffers(sp omxNode, OMX_U32 portIndex, }).isOk()); ASSERT_EQ(status, android::hardware::media::omx::V1_0::Status::OK); + uint32_t stride; + buffer_handle_t handle = nullptr; + android::GraphicBufferAllocator& allocator = android::GraphicBufferAllocator::get(); + android::status_t error = allocator.allocate( + nFrameWidth, nFrameHeight, static_cast(format), 1, + usage | BufferUsage::CPU_READ_OFTEN, &handle, &stride, "omx_vts_common"); + + ASSERT_EQ(error, android::NO_ERROR); + ASSERT_NE(handle, nullptr); + + *nStride = static_cast(stride); + buffer->omxBuffer.nativeHandle = handle; + buffer->omxBuffer.attr.anwBuffer.width = nFrameWidth; + buffer->omxBuffer.attr.anwBuffer.height = nFrameHeight; + buffer->omxBuffer.attr.anwBuffer.stride = stride; + buffer->omxBuffer.attr.anwBuffer.format = static_cast(format); + buffer->omxBuffer.attr.anwBuffer.usage = usage | BufferUsage::CPU_READ_OFTEN; + buffer->omxBuffer.attr.anwBuffer.layerCount = 1; static std::atomic_int32_t bufferIdCounter{0}; - - std::visit([buffer, nFrameWidth, nFrameHeight, format, usage, nStride](auto&& gralloc) { - using Gralloc = std::remove_reference_t; - using Descriptor = typename Gralloc::Descriptor; - using DescriptorInfo = typename Gralloc::DescriptorInfo; - using Error = typename Gralloc::Error; - using Format = typename Gralloc::Format; - using Usage = typename Gralloc::Usage; - - Error error{}; - Descriptor descriptor{}; - - DescriptorInfo descriptorInfo{}; - descriptorInfo.width = nFrameWidth; - descriptorInfo.height = nFrameHeight; - descriptorInfo.layerCount = 1; - descriptorInfo.format = static_cast(format); - descriptorInfo.usage = usage | Usage(BufferUsage::CPU_READ_OFTEN); - - gralloc.mMapper->createDescriptor(descriptorInfo, - [&error, &descriptor]( - Error _s, - const Descriptor& _n1) { - error = _s; - descriptor = _n1; - }); - ASSERT_EQ(error, Error::NONE); - - gralloc.mAllocator->allocate( - descriptor, 1, - [&](Error _s, uint32_t _n1, - const ::android::hardware::hidl_vec< - ::android::hardware::hidl_handle>& _n2) { - ASSERT_EQ(Error::NONE, _s); - *nStride = _n1; - buffer->omxBuffer.nativeHandle = _n2[0]; - buffer->omxBuffer.attr.anwBuffer.width = nFrameWidth; - buffer->omxBuffer.attr.anwBuffer.height = nFrameHeight; - buffer->omxBuffer.attr.anwBuffer.stride = _n1; - buffer->omxBuffer.attr.anwBuffer.format = - static_cast(descriptorInfo.format); - buffer->omxBuffer.attr.anwBuffer.usage = - static_cast(descriptorInfo.usage); - buffer->omxBuffer.attr.anwBuffer.layerCount = - descriptorInfo.layerCount; - buffer->omxBuffer.attr.anwBuffer.id = - (static_cast(getpid()) << 32) | - bufferIdCounter.fetch_add(1, std::memory_order_relaxed); - }); - }, grallocVar); + buffer->omxBuffer.attr.anwBuffer.id = (static_cast(getpid()) << 32) | + bufferIdCounter.fetch_add(1, std::memory_order_relaxed); } // allocate buffers needed on a component port diff --git a/media/omx/1.0/vts/functional/common/media_hidl_test_common.h b/media/omx/1.0/vts/functional/common/media_hidl_test_common.h index bb03dd0341..044408d58d 100644 --- a/media/omx/1.0/vts/functional/common/media_hidl_test_common.h +++ b/media/omx/1.0/vts/functional/common/media_hidl_test_common.h @@ -22,16 +22,6 @@ #endif #include - -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include #include @@ -46,6 +36,9 @@ #include #include +#include +#include + /* TIME OUTS (Wait time in dequeueMessage()) */ /* As component is switching states (loaded<->idle<->execute), dequeueMessage() @@ -312,35 +305,6 @@ Return setPortConfig( /* * common functions declarations */ -struct GrallocV2 { - using Format = android::hardware::graphics::common::V1_0::PixelFormat; - using Usage = android::hardware::hidl_bitfield< - android::hardware::graphics::common::V1_0::BufferUsage>; - - using IAllocator = android::hardware::graphics::allocator::V2_0::IAllocator; - - using IMapper = android::hardware::graphics::mapper::V2_0::IMapper; - using Error = android::hardware::graphics::mapper::V2_0::Error; - using Descriptor = android::hardware::graphics::mapper::V2_0::BufferDescriptor; - using YCbCrLayout = android::hardware::graphics::mapper::V2_0::YCbCrLayout; - using DescriptorInfo = IMapper::BufferDescriptorInfo; - using Rect = IMapper::Rect; -}; - -struct GrallocV3 { - using Format = android::hardware::graphics::common::V1_2::PixelFormat; - using Usage = android::hardware::hidl_bitfield< - android::hardware::graphics::common::V1_2::BufferUsage>; - - using IAllocator = android::hardware::graphics::allocator::V3_0::IAllocator; - - using IMapper = android::hardware::graphics::mapper::V3_0::IMapper; - using Error = android::hardware::graphics::mapper::V3_0::Error; - using Descriptor = android::hardware::graphics::mapper::V3_0::BufferDescriptor; - using YCbCrLayout = android::hardware::graphics::mapper::V3_0::YCbCrLayout; - using DescriptorInfo = IMapper::BufferDescriptorInfo; - using Rect = IMapper::Rect; -}; Return setRole(sp omxNode, const std::string& role); diff --git a/media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoEncTest.cpp b/media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoEncTest.cpp index 4b469e6bb1..7519f2f13a 100644 --- a/media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoEncTest.cpp +++ b/media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoEncTest.cpp @@ -23,8 +23,6 @@ #include #include -#include -#include #include #include #include @@ -364,61 +362,6 @@ Return DummyBufferSource::onInputBufferEmptied( return Void(); }; -// Variant of mappers -struct MapperV2 : public GrallocV2 { - sp mMapper; - MapperV2(sp&& mapper): mMapper{std::move(mapper)} {} - MapperV2() = default; - android::hardware::Return lock( - void* buffer, - Usage usage, - const Rect& rect, - const android::hardware::hidl_handle& handle, - Error* error, - void** data) { - return mMapper->lock(buffer, usage, rect, handle, - [error, data](Error e, void* d) { - *error = e; - *data = d; - }); - } -}; -struct MapperV3 : public GrallocV3 { - sp mMapper; - MapperV3(sp&& mapper): mMapper{std::move(mapper)} {} - MapperV3() = default; - android::hardware::Return lock( - void* buffer, - Usage usage, - const Rect& rect, - const android::hardware::hidl_handle& handle, - Error* error, - void** data) { - return mMapper->lock(buffer, usage, rect, handle, - [error, data](Error e, void* d, int32_t, int32_t) { - *error = e; - *data = d; - }); - } -}; -using MapperVar = std::variant; -// Initializes the MapperVar by trying services of different versions. -bool initialize(MapperVar& mapperVar) { - sp mapper3 = - android::hardware::graphics::mapper::V3_0::IMapper::getService(); - if (mapper3) { - mapperVar.emplace(std::move(mapper3)); - return true; - } - sp mapper2 = - android::hardware::graphics::mapper::V2_0::IMapper::getService(); - if (mapper2) { - mapperVar.emplace(std::move(mapper2)); - return true; - } - return false; -} - // request VOP refresh void requestIDR(sp omxNode, OMX_U32 portIndex) { android::hardware::media::omx::V1_0::Status status; @@ -627,168 +570,113 @@ void waitOnInputConsumption(sp omxNode, sp observer, } } -int colorFormatConversion(BufferInfo* buffer, void* buff, PixelFormat format, +int colorFormatConversion(BufferInfo* buffer, buffer_handle_t buff, PixelFormat format, std::ifstream& eleStream) { - MapperVar mapperVar; - if (!initialize(mapperVar)) { - EXPECT_TRUE(false) << "failed to obtain mapper service"; - return 1; + android::GraphicBufferMapper& gbmapper = android::GraphicBufferMapper::get(); + + android::Rect rect(0, 0, buffer->omxBuffer.attr.anwBuffer.width, + buffer->omxBuffer.attr.anwBuffer.height); + android_ycbcr ycbcrLayout; + android::status_t error = android::NO_ERROR; + + if (format == PixelFormat::YV12 || format == PixelFormat::YCRCB_420_SP || + format == PixelFormat::YCBCR_420_888) { + error = gbmapper.lockYCbCr(buff, buffer->omxBuffer.attr.anwBuffer.usage, rect, + &ycbcrLayout); + EXPECT_EQ(error, android::NO_ERROR); + if (error != android::NO_ERROR) return 1; + + int size = ((rect.getWidth() * rect.getHeight() * 3) >> 1); + char* img = new char[size]; + if (img == nullptr) return 1; + eleStream.read(img, size); + if (eleStream.gcount() != size) { + delete[] img; + return 1; + } + + char* imgTmp = img; + char* ipBuffer = static_cast(ycbcrLayout.y); + for (size_t y = rect.getHeight(); y > 0; --y) { + memcpy(ipBuffer, imgTmp, rect.getWidth()); + ipBuffer += ycbcrLayout.ystride; + imgTmp += rect.getWidth(); + } + + if (format == PixelFormat::YV12) + EXPECT_EQ(ycbcrLayout.chroma_step, 1U); + else if (format == PixelFormat::YCRCB_420_SP) + EXPECT_EQ(ycbcrLayout.chroma_step, 2U); + + ipBuffer = static_cast(ycbcrLayout.cb); + for (size_t y = rect.getHeight() >> 1; y > 0; --y) { + for (int32_t x = 0; x < (rect.getWidth() >> 1); ++x) { + ipBuffer[ycbcrLayout.chroma_step * x] = *imgTmp++; + } + ipBuffer += ycbcrLayout.cstride; + } + ipBuffer = static_cast(ycbcrLayout.cr); + for (size_t y = rect.getHeight() >> 1; y > 0; --y) { + for (int32_t x = 0; x < (rect.getWidth() >> 1); ++x) { + ipBuffer[ycbcrLayout.chroma_step * x] = *imgTmp++; + } + ipBuffer += ycbcrLayout.cstride; + } + + delete[] img; + + error = gbmapper.unlock(buff); + EXPECT_EQ(error, android::NO_ERROR); + if (error != android::NO_ERROR) return 1; + } else { + void* data; + int32_t outBytesPerPixel; + int32_t outBytesPerStride; + error = gbmapper.lock(buff, buffer->omxBuffer.attr.anwBuffer.usage, rect, &data, + &outBytesPerPixel, &outBytesPerStride); + EXPECT_EQ(error, android::NO_ERROR); + if (error != android::NO_ERROR) return 1; + + if (format == PixelFormat::BGRA_8888) { + char* ipBuffer = static_cast(data); + for (size_t y = rect.getHeight(); y > 0; --y) { + eleStream.read(ipBuffer, rect.getWidth() * 4); + if (eleStream.gcount() != rect.getWidth() * 4) return 1; + ipBuffer += buffer->omxBuffer.attr.anwBuffer.stride * 4; + } + } else { + EXPECT_TRUE(false) << "un expected pixel format"; + return 1; + } + + error = gbmapper.unlock(buff); + EXPECT_EQ(error, android::NO_ERROR); + if (error != android::NO_ERROR) return 1; } - return std::visit([buffer, buff, format, &eleStream](auto&& mapper) -> int { - using Gralloc = std::remove_reference_t; - using Error = typename Gralloc::Error; - using Rect = typename Gralloc::Rect; - using Usage = typename Gralloc::Usage; - using YCbCrLayout = typename Gralloc::YCbCrLayout; - - android::hardware::hidl_handle fence; - Rect rect; - YCbCrLayout ycbcrLayout; - Error error; - rect.left = 0; - rect.top = 0; - rect.width = buffer->omxBuffer.attr.anwBuffer.width; - rect.height = buffer->omxBuffer.attr.anwBuffer.height; - - if (format == PixelFormat::YV12 || format == PixelFormat::YCRCB_420_SP || - format == PixelFormat::YCBCR_420_888) { - mapper.mMapper->lockYCbCr( - buff, - static_cast( - buffer->omxBuffer.attr.anwBuffer.usage), - rect, - fence, - [&](Error _e, - const YCbCrLayout& _n1) { - error = _e; - ycbcrLayout = _n1; - }); - EXPECT_EQ(error, Error::NONE); - if (error != Error::NONE) - return 1; - - int size = ((rect.width * rect.height * 3) >> 1); - char* img = new char[size]; - if (img == nullptr) return 1; - eleStream.read(img, size); - if (eleStream.gcount() != size) { - delete[] img; - return 1; - } - - char* imgTmp = img; - char* ipBuffer = static_cast(ycbcrLayout.y); - for (size_t y = rect.height; y > 0; --y) { - memcpy(ipBuffer, imgTmp, rect.width); - ipBuffer += ycbcrLayout.yStride; - imgTmp += rect.width; - } - - if (format == PixelFormat::YV12) - EXPECT_EQ(ycbcrLayout.chromaStep, 1U); - else if (format == PixelFormat::YCRCB_420_SP) - EXPECT_EQ(ycbcrLayout.chromaStep, 2U); - - ipBuffer = static_cast(ycbcrLayout.cb); - for (size_t y = rect.height >> 1; y > 0; --y) { - for (int32_t x = 0; x < (rect.width >> 1); ++x) { - ipBuffer[ycbcrLayout.chromaStep * x] = *imgTmp++; - } - ipBuffer += ycbcrLayout.cStride; - } - ipBuffer = static_cast(ycbcrLayout.cr); - for (size_t y = rect.height >> 1; y > 0; --y) { - for (int32_t x = 0; x < (rect.width >> 1); ++x) { - ipBuffer[ycbcrLayout.chromaStep * x] = *imgTmp++; - } - ipBuffer += ycbcrLayout.cStride; - } - - delete[] img; - - mapper.mMapper->unlock(buff, - [&](Error _e, - const android::hardware::hidl_handle& _n1) { - error = _e; - fence = _n1; - }); - EXPECT_EQ(error, Error::NONE); - if (error != Error::NONE) - return 1; - } else { - void* data; - mapper.lock( - buff, - buffer->omxBuffer.attr.anwBuffer.usage, - rect, - fence, - &error, - &data); - EXPECT_EQ(error, Error::NONE); - if (error != Error::NONE) - return 1; - - if (format == PixelFormat::BGRA_8888) { - char* ipBuffer = static_cast(data); - for (size_t y = rect.height; y > 0; --y) { - eleStream.read(ipBuffer, rect.width * 4); - if (eleStream.gcount() != rect.width * 4) return 1; - ipBuffer += buffer->omxBuffer.attr.anwBuffer.stride * 4; - } - } else { - EXPECT_TRUE(false) << "un expected pixel format"; - return 1; - } - - mapper.mMapper->unlock( - buff, - [&](Error _e, const android::hardware::hidl_handle& _n1) { - error = _e; - fence = _n1; - }); - EXPECT_EQ(error, Error::NONE); - if (error != Error::NONE) - return 1; - } - - return 0; - }, mapperVar); + return 0; } int fillGraphicBuffer(BufferInfo* buffer, PixelFormat format, std::ifstream& eleStream) { - MapperVar mapperVar; - if (!initialize(mapperVar)) { - EXPECT_TRUE(false) << "failed to obtain mapper service"; - return 1; - } + android::GraphicBufferMapper& gbmapper = android::GraphicBufferMapper::get(); + buffer_handle_t buff; + android::status_t error = android::NO_ERROR; + gbmapper.importBuffer( + buffer->omxBuffer.nativeHandle, buffer->omxBuffer.attr.anwBuffer.width, + buffer->omxBuffer.attr.anwBuffer.height, buffer->omxBuffer.attr.anwBuffer.layerCount, + static_cast(format), buffer->omxBuffer.attr.anwBuffer.usage, + buffer->omxBuffer.attr.anwBuffer.stride, &buff); + EXPECT_EQ(error, android::NO_ERROR); + if (error != android::NO_ERROR) return 1; - return std::visit([buffer, format, &eleStream](auto&& mapper) -> int { - using Gralloc = std::remove_reference_t; - using Error = typename Gralloc::Error; + if (colorFormatConversion(buffer, buff, format, eleStream)) return 1; - void* buff = nullptr; - Error error; - mapper.mMapper->importBuffer( - buffer->omxBuffer.nativeHandle, - [&](Error _e, void* _n1) { - error = _e; - buff = _n1; - }); - EXPECT_EQ(error, Error::NONE); - if (error != Error::NONE) - return 1; + error = gbmapper.freeBuffer(buff); + EXPECT_EQ(error, android::NO_ERROR); + if (error != android::NO_ERROR) return 1; - if (colorFormatConversion(buffer, buff, format, eleStream)) return 1; - - error = mapper.mMapper->freeBuffer(buff); - EXPECT_EQ(error, Error::NONE); - if (error != Error::NONE) - return 1; - - return 0; - }, mapperVar); + return 0; } int dispatchGraphicBuffer(sp omxNode, From bcd3acde22ef4d7fdf80347e756cdf1066b348b9 Mon Sep 17 00:00:00 2001 From: Amy Zhang Date: Tue, 28 Jul 2020 17:49:24 +0000 Subject: [PATCH 15/21] Revert "Revert "Add Tuner HAL and TvInput HAL VTS tests into the exception list of the uninstantiated"" This reverts commit f0dfc4d6245a82d231164d653b76a5574e513d20. Reason for revert: To fix the test breakage in the rvc-dev-plus-aosp branch Change-Id: Ibeb73be943c74891f8ff5acec1ea120c1b820027 --- .../1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp | 3 +++ .../1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp b/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp index 59c70eb1e2..8092d5e7d2 100644 --- a/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp +++ b/tv/input/1.0/vts/functional/VtsHalTvInputV1_0TargetTest.cpp @@ -337,3 +337,6 @@ INSTANTIATE_TEST_SUITE_P( PerInstance, TvInputHidlTest, testing::ValuesIn(android::hardware::getAllHalInstanceNames(ITvInput::descriptor)), android::hardware::PrintInstanceNameToString); + +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TvInputHidlTest); diff --git a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp index 2be68b8fc0..4f6c19ed59 100644 --- a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp +++ b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp @@ -572,4 +572,14 @@ INSTANTIATE_TEST_SUITE_P( PerInstance, TunerDescramblerHidlTest, testing::ValuesIn(android::hardware::getAllHalInstanceNames(ITuner::descriptor)), android::hardware::PrintInstanceNameToString); + +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerFrontendHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerLnbHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerDemuxHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerFilterHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerBroadcastHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerPlaybackHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerRecordHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerDescramblerHidlTest); } // namespace From ef9374cb20606aac529bc3fd56794c34fb1ee747 Mon Sep 17 00:00:00 2001 From: Jayant Chowdhary Date: Thu, 16 Jul 2020 12:56:10 -0700 Subject: [PATCH 16/21] Camera HAL Vts : Fix usage flag combination during gralloc allocation. Earlier, for processCaptureRequestInternal, we took into account producer and consumer usage flags returned by configureSingleStream. Instead we should be taking into account the producer flag returned by configureSingleStream and the consumer flag passed into processCaptureRequestInternal (for output streams). Bug: 162344072 Test: Use secure camera as secure only camera and run vts Test: Run camera vts Test: Vendor testing Change-Id: I9fbd4db4cff48c25684f097907e7ba995c3edf41 Signed-off-by: Jayant Chowdhary --- .../functional/VtsHalCameraProviderV2_4TargetTest.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp b/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp index f235235ab7..b0aae8e04d 100644 --- a/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp +++ b/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp @@ -4453,9 +4453,12 @@ void CameraHidlTest::processCaptureRequestInternal(uint64_t bufferUsage, nullptr}; } else { allocateGraphicBuffer(testStream.width, testStream.height, - android_convertGralloc1To0Usage(halStreamConfig.streams[0].producerUsage, - halStreamConfig.streams[0].consumerUsage), - halStreamConfig.streams[0].overrideFormat, &buffer_handle); + /* We don't look at halStreamConfig.streams[0].consumerUsage + * since that is 0 for output streams + */ + android_convertGralloc1To0Usage( + halStreamConfig.streams[0].producerUsage, bufferUsage), + halStreamConfig.streams[0].overrideFormat, &buffer_handle); outputBuffer = {halStreamConfig.streams[0].id, bufferId, buffer_handle, From 2329bba9fed62612a7aa1935f794c5555963f4a4 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Tue, 21 Jul 2020 13:48:28 -0700 Subject: [PATCH 17/21] wifi(vts): Use blocking getService to wait for service to come up Switch away from using wifi's custom implementation to block for supplicant/hostapd daemon to come up. Bug: 161682236 Test: vts-tradefed run commandAndExit vts --module VtsHalWifiHostapdV1_0Target vts-tradefed run commandAndExit vts --module VtsHalWifiSupplicantV1_0Host Change-Id: Ia05f93ba4a28c036315558edbba30f19c2e6ac95 Merged-In: Ia05f93ba4a28c036315558edbba30f19c2e6ac95 (cherry picked from commit 6d0af445ee73e73999470e911c02f07c50e96978) --- .../functional/hostapd_hidl_test_utils.cpp | 60 +------------------ .../functional/supplicant_hidl_test_utils.cpp | 60 +------------------ 2 files changed, 4 insertions(+), 116 deletions(-) diff --git a/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test_utils.cpp b/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test_utils.cpp index 3ddb2b31aa..75d6252cd2 100644 --- a/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test_utils.cpp +++ b/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test_utils.cpp @@ -17,7 +17,6 @@ #include #include -#include #include #include @@ -39,7 +38,6 @@ using ::android::hardware::wifi::hostapd::V1_0::HostapdStatusCode; using ::android::hardware::wifi::hostapd::V1_0::IHostapd; using ::android::hardware::wifi::V1_0::ChipModeId; using ::android::hardware::wifi::V1_0::IWifiChip; -using ::android::hidl::manager::V1_0::IServiceNotification; using ::android::wifi_system::HostapdManager; using ::android::wifi_system::SupplicantManager; @@ -68,55 +66,6 @@ void deInitilializeDriverAndFirmware(const std::string& wifi_instance_name) { } } // namespace -// Utility class to wait for wpa_hostapd's HIDL service registration. -class ServiceNotificationListener : public IServiceNotification { - public: - Return onRegistration(const hidl_string& fully_qualified_name, - const hidl_string& instance_name, - bool pre_existing) override { - if (pre_existing) { - return Void(); - } - std::unique_lock lock(mutex_); - registered_.push_back(std::string(fully_qualified_name.c_str()) + "/" + - instance_name.c_str()); - lock.unlock(); - condition_.notify_one(); - return Void(); - } - - bool registerForHidlServiceNotifications(const std::string& instance_name) { - if (!IHostapd::registerForNotifications(instance_name, this)) { - return false; - } - configureRpcThreadpool(2, false); - return true; - } - - bool waitForHidlService(uint32_t timeout_in_millis, - const std::string& instance_name) { - std::unique_lock lock(mutex_); - condition_.wait_for(lock, std::chrono::milliseconds(timeout_in_millis), - [&]() { return registered_.size() >= 1; }); - if (registered_.size() != 1) { - return false; - } - std::string expected_registered = - std::string(IHostapd::descriptor) + "/" + instance_name; - if (registered_[0] != expected_registered) { - LOG(ERROR) << "Expected: " << expected_registered - << ", Got: " << registered_[0]; - return false; - } - return true; - } - - private: - std::vector registered_{}; - std::mutex mutex_; - std::condition_variable condition_; -}; - void stopSupplicantIfNeeded(const std::string& instance_name) { SupplicantManager supplicant_manager; if (supplicant_manager.IsSupplicantRunning()) { @@ -139,16 +88,11 @@ void startHostapdAndWaitForHidlService( const std::string& hostapd_instance_name) { initilializeDriverAndFirmware(wifi_instance_name); - android::sp notification_listener = - new ServiceNotificationListener(); - ASSERT_TRUE(notification_listener->registerForHidlServiceNotifications( - hostapd_instance_name)); - HostapdManager hostapd_manager; ASSERT_TRUE(hostapd_manager.StartHostapd()); - ASSERT_TRUE( - notification_listener->waitForHidlService(500, hostapd_instance_name)); + // Wait for hostapd service to come up. + IHostapd::getService(hostapd_instance_name); } bool is_1_1(const sp& hostapd) { diff --git a/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp b/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp index addf066c15..5e7a371d67 100644 --- a/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp +++ b/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp @@ -18,7 +18,6 @@ #include #include -#include #include #include @@ -45,7 +44,6 @@ using ::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIface; using ::android::hardware::wifi::supplicant::V1_0::IfaceType; using ::android::hardware::wifi::supplicant::V1_0::SupplicantStatus; using ::android::hardware::wifi::supplicant::V1_0::SupplicantStatusCode; -using ::android::hidl::manager::V1_0::IServiceNotification; using ::android::wifi_system::InterfaceTool; using ::android::wifi_system::SupplicantManager; @@ -120,55 +118,6 @@ std::string getP2pIfaceName() { } } // namespace -// Utility class to wait for wpa_supplicant's HIDL service registration. -class ServiceNotificationListener : public IServiceNotification { - public: - Return onRegistration(const hidl_string& fully_qualified_name, - const hidl_string& instance_name, - bool pre_existing) override { - if (pre_existing) { - return Void(); - } - std::unique_lock lock(mutex_); - registered_.push_back(std::string(fully_qualified_name.c_str()) + "/" + - instance_name.c_str()); - lock.unlock(); - condition_.notify_one(); - return Void(); - } - - bool registerForHidlServiceNotifications(const std::string& instance_name) { - if (!ISupplicant::registerForNotifications(instance_name, this)) { - return false; - } - configureRpcThreadpool(2, false); - return true; - } - - bool waitForHidlService(uint32_t timeout_in_millis, - const std::string& instance_name) { - std::unique_lock lock(mutex_); - condition_.wait_for(lock, std::chrono::milliseconds(timeout_in_millis), - [&]() { return registered_.size() >= 1; }); - if (registered_.size() != 1) { - return false; - } - std::string exptected_registered = - std::string(ISupplicant::descriptor) + "/" + instance_name; - if (registered_[0] != exptected_registered) { - LOG(ERROR) << "Expected: " << exptected_registered - << ", Got: " << registered_[0]; - return false; - } - return true; - } - - private: - std::vector registered_{}; - std::mutex mutex_; - std::condition_variable condition_; -}; - void stopSupplicant() { stopSupplicant(""); } void stopSupplicant(const std::string& wifi_instance_name) { @@ -184,17 +133,12 @@ void startSupplicantAndWaitForHidlService( const std::string& supplicant_instance_name) { initilializeDriverAndFirmware(wifi_instance_name); - android::sp notification_listener = - new ServiceNotificationListener(); - ASSERT_TRUE(notification_listener->registerForHidlServiceNotifications( - supplicant_instance_name)); - SupplicantManager supplicant_manager; ASSERT_TRUE(supplicant_manager.StartSupplicant()); ASSERT_TRUE(supplicant_manager.IsSupplicantRunning()); - ASSERT_TRUE(notification_listener->waitForHidlService( - 500, supplicant_instance_name)); + // Wait for supplicant service to come up. + ISupplicant::getService(supplicant_instance_name); } bool is_1_1(const sp& supplicant) { From 38ae83015247843dbb1f4f15ad016649564767a2 Mon Sep 17 00:00:00 2001 From: Amy Zhang Date: Wed, 29 Jul 2020 20:07:38 -0700 Subject: [PATCH 18/21] Add Tuner HAL VTS tests into the exception list of the uninstantiated parameterized tests The previous fix in the ag/12249074 added the allowlist funtion under the .cpp file. But they should be under the .h file where all the test suite classes are defined. Test: atest VtsHalTvTunerV1_0TargetTest Bug: 161805444 Change-Id: I4ad7270c75ec6b30db82b0b120f21e3759ed7b93 --- .../VtsHalTvTunerV1_0TargetTest.cpp | 10 -------- .../functional/VtsHalTvTunerV1_0TargetTest.h | 24 +++++++++++++++++++ 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp index 4f6c19ed59..2be68b8fc0 100644 --- a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp +++ b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp @@ -572,14 +572,4 @@ INSTANTIATE_TEST_SUITE_P( PerInstance, TunerDescramblerHidlTest, testing::ValuesIn(android::hardware::getAllHalInstanceNames(ITuner::descriptor)), android::hardware::PrintInstanceNameToString); - -// TODO remove from the allow list once the cf tv target is enabled for testing -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerFrontendHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerLnbHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerDemuxHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerFilterHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerBroadcastHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerPlaybackHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerRecordHidlTest); -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerDescramblerHidlTest); } // namespace diff --git a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.h b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.h index 6804f3c55f..5a23ca5f4a 100644 --- a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.h +++ b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.h @@ -67,6 +67,9 @@ class TunerFrontendHidlTest : public testing::TestWithParam { FrontendTests mFrontendTests; }; +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerFrontendHidlTest); + class TunerLnbHidlTest : public testing::TestWithParam { public: virtual void SetUp() override { @@ -86,6 +89,9 @@ class TunerLnbHidlTest : public testing::TestWithParam { LnbTests mLnbTests; }; +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerLnbHidlTest); + class TunerDemuxHidlTest : public testing::TestWithParam { public: virtual void SetUp() override { @@ -109,6 +115,9 @@ class TunerDemuxHidlTest : public testing::TestWithParam { FilterTests mFilterTests; }; +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerDemuxHidlTest); + class TunerFilterHidlTest : public testing::TestWithParam { public: virtual void SetUp() override { @@ -135,6 +144,9 @@ class TunerFilterHidlTest : public testing::TestWithParam { FilterTests mFilterTests; }; +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerFilterHidlTest); + class TunerBroadcastHidlTest : public testing::TestWithParam { public: virtual void SetUp() override { @@ -171,6 +183,9 @@ class TunerBroadcastHidlTest : public testing::TestWithParam { uint32_t* mLnbId = nullptr; }; +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerBroadcastHidlTest); + class TunerPlaybackHidlTest : public testing::TestWithParam { public: virtual void SetUp() override { @@ -200,6 +215,9 @@ class TunerPlaybackHidlTest : public testing::TestWithParam { void playbackSingleFilterTest(FilterConfig filterConf, DvrConfig dvrConf); }; +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerPlaybackHidlTest); + class TunerRecordHidlTest : public testing::TestWithParam { public: virtual void SetUp() override { @@ -237,6 +255,9 @@ class TunerRecordHidlTest : public testing::TestWithParam { uint32_t* mLnbId = nullptr; }; +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerRecordHidlTest); + class TunerDescramblerHidlTest : public testing::TestWithParam { public: virtual void SetUp() override { @@ -270,4 +291,7 @@ class TunerDescramblerHidlTest : public testing::TestWithParam { DescramblerTests mDescramblerTests; DvrTests mDvrTests; }; + +// TODO remove from the allow list once the cf tv target is enabled for testing +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TunerDescramblerHidlTest); } // namespace From e442f7f4a75a1b7fca60fcb8662d8a84e7bae0b8 Mon Sep 17 00:00:00 2001 From: Sarah Chin Date: Wed, 29 Jul 2020 14:14:07 -0700 Subject: [PATCH 19/21] Update language to comply with Android's inclusive language guidance See https://source.android.com/setup/contribute/respectful-code for reference Test: build Bug: 161896447 Change-Id: I3c0d02e1ee94c575c3a18291d438b464d7396463 Merged-In: I3c0d02e1ee94c575c3a18291d438b464d7396463 --- current.txt | 1 + radio/1.0/types.hal | 4 ++-- radio/1.2/default/Radio.cpp | 12 ++++++------ radio/1.5/vts/functional/radio_hidl_hal_api.cpp | 4 ++-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/current.txt b/current.txt index 6f0debd047..8f1aabfe13 100644 --- a/current.txt +++ b/current.txt @@ -770,6 +770,7 @@ a64467bae843569f0d465c5be7f0c7a5b987985b55a3ef4794dd5afc68538650 android.hardwar cd84ab19c590e0e73dd2307b591a3093ee18147ef95e6d5418644463a6620076 android.hardware.neuralnetworks@1.2::IDevice 9625e85f56515ad2cf87b6a1847906db669f746ea4ab02cd3d4ca25abc9b0109 android.hardware.neuralnetworks@1.2::types 9e758e208d14f7256e0885d6d8ad0b61121b21d8c313864f981727ae55bffd16 android.hardware.neuralnetworks@1.3::types +7da2707d4cf93818eaf8038eb65e2180116a399c310e594a00935c5c981aa340 android.hardware.radio@1.0::types # HALs released in Android S # NOTE: waiting to freeze HALs until later in the release diff --git a/radio/1.0/types.hal b/radio/1.0/types.hal index 8393cf5e14..025aa7ccca 100644 --- a/radio/1.0/types.hal +++ b/radio/1.0/types.hal @@ -1890,8 +1890,8 @@ struct Carrier { }; struct CarrierRestrictions { - vec allowedCarriers; // whitelist for allowed carriers - vec excludedCarriers; // blacklist for explicitly excluded carriers + vec allowedCarriers; // Allowed carriers + vec excludedCarriers; // Explicitly excluded carriers // which match allowed_carriers. Eg. allowedCarriers // match mcc/mnc, excludedCarriers has same mcc/mnc and // gid1 is ABCD. It means except the carrier whose gid1 diff --git a/radio/1.2/default/Radio.cpp b/radio/1.2/default/Radio.cpp index 73512e4c23..28a815f60c 100644 --- a/radio/1.2/default/Radio.cpp +++ b/radio/1.2/default/Radio.cpp @@ -52,16 +52,16 @@ Return Radio::getIccCardStatus(int32_t serial) { /** * IRadio-defined request is called from the client and talk to the radio to get * IRadioResponse-defined response or/and IRadioIndication-defined indication back to the - * client. This dummy implementation omits and replaces the design and implementation of vendor + * client. This implementation omits and replaces the design and implementation of vendor * codes that needs to handle the receipt of the request and the return of the response from the - * radio; this just directly returns a dummy response back to the client. + * radio; this just directly returns a fake response back to the client. */ ALOGD("Radio Request: getIccCardStatus is entering"); if (mRadioResponse != nullptr || mRadioResponseV1_1 != nullptr || mRadioResponseV1_2 != nullptr) { - // Dummy RadioResponseInfo as part of response to return in 1.0, 1.1 and 1.2 + // Fake RadioResponseInfo as part of response to return in 1.0, 1.1 and 1.2 ::android::hardware::radio::V1_0::RadioResponseInfo info; info.serial = serial; info.type = ::android::hardware::radio::V1_0::RadioResponseType::SOLICITED; @@ -72,7 +72,7 @@ Return Radio::getIccCardStatus(int32_t serial) { * return getIccCardStatusResponse. */ if (mRadioResponseV1_2 != nullptr) { - // Dummy CardStatus as part of getIccCardStatusResponse_1_2 response to return + // Fake CardStatus as part of getIccCardStatusResponse_1_2 response to return ::android::hardware::radio::V1_2::CardStatus card_status; card_status.base.cardState = ::android::hardware::radio::V1_0::CardState::ABSENT; card_status.base.gsmUmtsSubscriptionAppIndex = 0; @@ -80,7 +80,7 @@ Return Radio::getIccCardStatus(int32_t serial) { mRadioResponseV1_2->getIccCardStatusResponse_1_2(info, card_status); ALOGD("Radio Response: getIccCardStatusResponse_1_2 is sent"); } else if (mRadioResponseV1_1 != nullptr) { - // Dummy CardStatus as part of getIccCardStatusResponse response to return + // Fake CardStatus as part of getIccCardStatusResponse response to return ::android::hardware::radio::V1_0::CardStatus card_status_V1_0; card_status_V1_0.cardState = ::android::hardware::radio::V1_0::CardState::ABSENT; card_status_V1_0.gsmUmtsSubscriptionAppIndex = 0; @@ -88,7 +88,7 @@ Return Radio::getIccCardStatus(int32_t serial) { mRadioResponseV1_1->getIccCardStatusResponse(info, card_status_V1_0); ALOGD("Radio Response: getIccCardStatusResponse is sent"); } else { - // Dummy CardStatus as part of getIccCardStatusResponse response to return + // Fake CardStatus as part of getIccCardStatusResponse response to return ::android::hardware::radio::V1_0::CardStatus card_status_V1_0; card_status_V1_0.cardState = ::android::hardware::radio::V1_0::CardState::ABSENT; card_status_V1_0.gsmUmtsSubscriptionAppIndex = 0; diff --git a/radio/1.5/vts/functional/radio_hidl_hal_api.cpp b/radio/1.5/vts/functional/radio_hidl_hal_api.cpp index 24b7fd5df3..ca1593f031 100644 --- a/radio/1.5/vts/functional/radio_hidl_hal_api.cpp +++ b/radio/1.5/vts/functional/radio_hidl_hal_api.cpp @@ -1265,7 +1265,7 @@ TEST_P(RadioHidlTest_v1_5, getBarringInfo) { info.serviceType <= BarringInfo::ServiceType::OPERATOR_32)); reportedServices.insert(info.serviceType); - // Any type that is "conditional" must have sane values for conditional barring + // Any type that is "conditional" must have valid values for conditional barring // factor and time. switch (info.barringType) { case BarringInfo::BarringType::NONE: // fall through @@ -1284,7 +1284,7 @@ TEST_P(RadioHidlTest_v1_5, getBarringInfo) { // Certain types of barring are relevant for certain RANs. Ensure that only the right // types are reported. Note that no types are required, simply that for a given technology - // only certain types are valid. This is one way to sanity check that implementations are + // only certain types are valid. This is one way to check that implementations are // not providing information that they don't have. static const std::set UTRA_SERVICES{ BarringInfo::ServiceType::CS_SERVICE, BarringInfo::ServiceType::PS_SERVICE, From 6a1198e166643800e09e3b8d58cf7fbaa533a33f Mon Sep 17 00:00:00 2001 From: Eran Messeri Date: Fri, 24 Jul 2020 13:34:02 +0000 Subject: [PATCH 20/21] Merge "Fix Keymaster VTS unique attestation failure" am: 3e4d8d0856 am: b0f932739a Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1372156 Change-Id: I0e2ee2609c8fcf82ad31d9c97423b9006862cb97 (cherry picked from commit 4e3c9a1d659c86878dbb10d3d1e420718365ab5a) Bug: 160518399 Exempt-From-Owner-Approval: already approved as aosp/1372156. Change-Id: I0e2ee2609c8fcf82ad31d9c97423b9006862cb97 --- keymaster/4.1/vts/functional/DeviceUniqueAttestationTest.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/keymaster/4.1/vts/functional/DeviceUniqueAttestationTest.cpp b/keymaster/4.1/vts/functional/DeviceUniqueAttestationTest.cpp index 495de0f97d..728a523d65 100644 --- a/keymaster/4.1/vts/functional/DeviceUniqueAttestationTest.cpp +++ b/keymaster/4.1/vts/functional/DeviceUniqueAttestationTest.cpp @@ -212,9 +212,11 @@ TEST_P(DeviceUniqueAttestationTest, NonStrongBoxOnly) { EXPECT_EQ(ErrorCode::UNIMPLEMENTED, convert(AttestKey( AuthorizationSetBuilder() + .Authorization(TAG_DEVICE_UNIQUE_ATTESTATION) .Authorization(TAG_ATTESTATION_CHALLENGE, HidlBuf("challenge")) .Authorization(TAG_ATTESTATION_APPLICATION_ID, HidlBuf("foo")), &cert_chain))); + CheckedDeleteKey(); } TEST_P(DeviceUniqueAttestationTest, Rsa) { From 97225977fb6268a54c4526379079f04fdcc8e39e Mon Sep 17 00:00:00 2001 From: Dan Shi Date: Fri, 25 Sep 2020 20:59:17 -0700 Subject: [PATCH 21/21] Rename vts-core to vts Bug: 151896491 Test: none Change-Id: If74547c56b46ebc7fd728c1bf52fe9dedac65ffa Merged-In: I562b4dc50765e953800a814a8fd84a01c1b9352b --- automotive/audiocontrol/2.0/vts/functional/Android.bp | 2 +- automotive/evs/1.1/vts/functional/Android.bp | 2 +- automotive/occupant_awareness/aidl/vts/functional/Android.bp | 2 +- automotive/sv/1.0/vts/functional/Android.bp | 2 +- biometrics/fingerprint/2.2/vts/functional/Android.bp | 2 +- camera/provider/2.4/vts/functional/Android.bp | 2 +- cas/1.0/vts/functional/Android.bp | 2 +- cas/1.1/vts/functional/Android.bp | 2 +- cas/1.2/vts/functional/Android.bp | 2 +- contexthub/1.1/vts/functional/Android.bp | 2 +- drm/1.3/vts/functional/Android.bp | 2 +- gnss/1.1/vts/functional/Android.bp | 2 +- gnss/2.0/vts/functional/Android.bp | 2 +- gnss/2.1/vts/functional/Android.bp | 2 +- graphics/composer/2.1/vts/functional/Android.bp | 2 +- graphics/composer/2.2/vts/functional/Android.bp | 2 +- graphics/composer/2.3/vts/functional/Android.bp | 2 +- graphics/composer/2.4/vts/functional/Android.bp | 2 +- graphics/mapper/4.0/vts/functional/Android.bp | 2 +- input/classifier/1.0/vts/functional/Android.bp | 2 +- rebootescrow/aidl/vts/functional/Android.bp | 2 +- sensors/1.0/vts/functional/Android.bp | 2 +- sensors/2.0/vts/functional/Android.bp | 2 +- sensors/2.1/vts/functional/Android.bp | 2 +- soundtrigger/2.3/vts/functional/Android.bp | 2 +- tv/input/1.0/vts/functional/Android.bp | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/automotive/audiocontrol/2.0/vts/functional/Android.bp b/automotive/audiocontrol/2.0/vts/functional/Android.bp index 520b042e37..ac20509dd5 100644 --- a/automotive/audiocontrol/2.0/vts/functional/Android.bp +++ b/automotive/audiocontrol/2.0/vts/functional/Android.bp @@ -24,6 +24,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/automotive/evs/1.1/vts/functional/Android.bp b/automotive/evs/1.1/vts/functional/Android.bp index 086a199ca5..d61f0a8f9c 100644 --- a/automotive/evs/1.1/vts/functional/Android.bp +++ b/automotive/evs/1.1/vts/functional/Android.bp @@ -38,7 +38,7 @@ cc_test { "android.hardware.graphics.common@1.2", "android.hardware.camera.device@3.2", ], - test_suites: ["vts-core"], + test_suites: ["vts"], cflags: [ "-O0", "-g", diff --git a/automotive/occupant_awareness/aidl/vts/functional/Android.bp b/automotive/occupant_awareness/aidl/vts/functional/Android.bp index 1256b69c67..514b0afc2b 100644 --- a/automotive/occupant_awareness/aidl/vts/functional/Android.bp +++ b/automotive/occupant_awareness/aidl/vts/functional/Android.bp @@ -12,6 +12,6 @@ cc_test { "android.hardware.automotive.occupant_awareness-cpp", ], test_suites: [ - "vts-core", + "vts", ], } diff --git a/automotive/sv/1.0/vts/functional/Android.bp b/automotive/sv/1.0/vts/functional/Android.bp index 0e5d3df9a7..d5d72a6c5b 100644 --- a/automotive/sv/1.0/vts/functional/Android.bp +++ b/automotive/sv/1.0/vts/functional/Android.bp @@ -33,7 +33,7 @@ cc_test { "android.hidl.memory@1.0", "libhidlmemory", ], - test_suites: ["general-tests", "vts-core"], + test_suites: ["general-tests", "vts"], cflags: [ "-O0", "-g", diff --git a/biometrics/fingerprint/2.2/vts/functional/Android.bp b/biometrics/fingerprint/2.2/vts/functional/Android.bp index 496570c64c..5e8e7c80be 100644 --- a/biometrics/fingerprint/2.2/vts/functional/Android.bp +++ b/biometrics/fingerprint/2.2/vts/functional/Android.bp @@ -24,6 +24,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/camera/provider/2.4/vts/functional/Android.bp b/camera/provider/2.4/vts/functional/Android.bp index 4b9d6f125b..cd66f74571 100644 --- a/camera/provider/2.4/vts/functional/Android.bp +++ b/camera/provider/2.4/vts/functional/Android.bp @@ -49,5 +49,5 @@ cc_test { "libhidlmemory", "libgralloctypes", ], - test_suites: ["general-tests", "vts-core"], + test_suites: ["general-tests", "vts"], } diff --git a/cas/1.0/vts/functional/Android.bp b/cas/1.0/vts/functional/Android.bp index ab39c0e93b..82dc568fa6 100644 --- a/cas/1.0/vts/functional/Android.bp +++ b/cas/1.0/vts/functional/Android.bp @@ -29,6 +29,6 @@ cc_test { shared_libs: [ "libbinder", ], - test_suites: ["general-tests", "vts-core"], + test_suites: ["general-tests", "vts"], } diff --git a/cas/1.1/vts/functional/Android.bp b/cas/1.1/vts/functional/Android.bp index 9e8eb52efe..de223c8ce2 100644 --- a/cas/1.1/vts/functional/Android.bp +++ b/cas/1.1/vts/functional/Android.bp @@ -30,6 +30,6 @@ cc_test { shared_libs: [ "libbinder", ], - test_suites: ["general-tests", "vts-core"], + test_suites: ["general-tests", "vts"], } diff --git a/cas/1.2/vts/functional/Android.bp b/cas/1.2/vts/functional/Android.bp index 2d6517f0b0..74ea85fbf2 100644 --- a/cas/1.2/vts/functional/Android.bp +++ b/cas/1.2/vts/functional/Android.bp @@ -33,6 +33,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/contexthub/1.1/vts/functional/Android.bp b/contexthub/1.1/vts/functional/Android.bp index f1625a6b6b..034c11fb0c 100644 --- a/contexthub/1.1/vts/functional/Android.bp +++ b/contexthub/1.1/vts/functional/Android.bp @@ -25,6 +25,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/drm/1.3/vts/functional/Android.bp b/drm/1.3/vts/functional/Android.bp index bd9db85251..3e40adfd4a 100644 --- a/drm/1.3/vts/functional/Android.bp +++ b/drm/1.3/vts/functional/Android.bp @@ -87,6 +87,6 @@ cc_test { }, test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/gnss/1.1/vts/functional/Android.bp b/gnss/1.1/vts/functional/Android.bp index c9914fb7a3..94bfb894d4 100644 --- a/gnss/1.1/vts/functional/Android.bp +++ b/gnss/1.1/vts/functional/Android.bp @@ -34,6 +34,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/gnss/2.0/vts/functional/Android.bp b/gnss/2.0/vts/functional/Android.bp index da5289d006..d67677afe4 100644 --- a/gnss/2.0/vts/functional/Android.bp +++ b/gnss/2.0/vts/functional/Android.bp @@ -31,5 +31,5 @@ cc_test { "android.hardware.gnss@2.1", "android.hardware.gnss@common-vts-lib", ], - test_suites: ["general-tests", "vts-core"], + test_suites: ["general-tests", "vts"], } diff --git a/gnss/2.1/vts/functional/Android.bp b/gnss/2.1/vts/functional/Android.bp index f008a26f1f..b3051d4b48 100644 --- a/gnss/2.1/vts/functional/Android.bp +++ b/gnss/2.1/vts/functional/Android.bp @@ -34,6 +34,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/graphics/composer/2.1/vts/functional/Android.bp b/graphics/composer/2.1/vts/functional/Android.bp index 3678a049f5..e137afb27a 100644 --- a/graphics/composer/2.1/vts/functional/Android.bp +++ b/graphics/composer/2.1/vts/functional/Android.bp @@ -43,5 +43,5 @@ cc_test { "android.hardware.graphics.composer@2.1-command-buffer", ], disable_framework: true, - test_suites: ["general-tests", "vts-core"], + test_suites: ["general-tests", "vts"], } diff --git a/graphics/composer/2.2/vts/functional/Android.bp b/graphics/composer/2.2/vts/functional/Android.bp index a8a05e4aa1..d80845f9dd 100644 --- a/graphics/composer/2.2/vts/functional/Android.bp +++ b/graphics/composer/2.2/vts/functional/Android.bp @@ -61,6 +61,6 @@ cc_test { disable_framework: true, test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/graphics/composer/2.3/vts/functional/Android.bp b/graphics/composer/2.3/vts/functional/Android.bp index fdb055aa47..1ab6b3b88d 100644 --- a/graphics/composer/2.3/vts/functional/Android.bp +++ b/graphics/composer/2.3/vts/functional/Android.bp @@ -50,5 +50,5 @@ cc_test { "android.hardware.graphics.composer@2.3-command-buffer", ], disable_framework: true, - test_suites: ["general-tests", "vts-core"], + test_suites: ["general-tests", "vts"], } diff --git a/graphics/composer/2.4/vts/functional/Android.bp b/graphics/composer/2.4/vts/functional/Android.bp index 88b6114607..d0209b7af3 100644 --- a/graphics/composer/2.4/vts/functional/Android.bp +++ b/graphics/composer/2.4/vts/functional/Android.bp @@ -52,5 +52,5 @@ cc_test { "android.hardware.graphics.composer@2.4-command-buffer", ], disable_framework: true, - test_suites: ["general-tests", "vts-core"], + test_suites: ["general-tests", "vts"], } diff --git a/graphics/mapper/4.0/vts/functional/Android.bp b/graphics/mapper/4.0/vts/functional/Android.bp index 3542a6ee89..03abc891c0 100644 --- a/graphics/mapper/4.0/vts/functional/Android.bp +++ b/graphics/mapper/4.0/vts/functional/Android.bp @@ -36,6 +36,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/input/classifier/1.0/vts/functional/Android.bp b/input/classifier/1.0/vts/functional/Android.bp index 150324b263..99fdb8c445 100644 --- a/input/classifier/1.0/vts/functional/Android.bp +++ b/input/classifier/1.0/vts/functional/Android.bp @@ -25,6 +25,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/rebootescrow/aidl/vts/functional/Android.bp b/rebootescrow/aidl/vts/functional/Android.bp index 5d51a53f06..2cc00685d6 100644 --- a/rebootescrow/aidl/vts/functional/Android.bp +++ b/rebootescrow/aidl/vts/functional/Android.bp @@ -28,7 +28,7 @@ cc_test { "android.hardware.rebootescrow-cpp", ], test_suites: [ - "vts-core", + "vts", ], require_root: true, } diff --git a/sensors/1.0/vts/functional/Android.bp b/sensors/1.0/vts/functional/Android.bp index 4941ac2d52..c77733bba2 100644 --- a/sensors/1.0/vts/functional/Android.bp +++ b/sensors/1.0/vts/functional/Android.bp @@ -28,6 +28,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/sensors/2.0/vts/functional/Android.bp b/sensors/2.0/vts/functional/Android.bp index c0803c7e6a..83ebc6b807 100644 --- a/sensors/2.0/vts/functional/Android.bp +++ b/sensors/2.0/vts/functional/Android.bp @@ -35,6 +35,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/sensors/2.1/vts/functional/Android.bp b/sensors/2.1/vts/functional/Android.bp index 920b6423bf..d257993329 100644 --- a/sensors/2.1/vts/functional/Android.bp +++ b/sensors/2.1/vts/functional/Android.bp @@ -37,6 +37,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/soundtrigger/2.3/vts/functional/Android.bp b/soundtrigger/2.3/vts/functional/Android.bp index e3855fc372..2c1b9e594e 100644 --- a/soundtrigger/2.3/vts/functional/Android.bp +++ b/soundtrigger/2.3/vts/functional/Android.bp @@ -26,6 +26,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts-core", + "vts", ], } diff --git a/tv/input/1.0/vts/functional/Android.bp b/tv/input/1.0/vts/functional/Android.bp index 5d20bceeed..29d4e21de2 100644 --- a/tv/input/1.0/vts/functional/Android.bp +++ b/tv/input/1.0/vts/functional/Android.bp @@ -21,7 +21,7 @@ cc_test { static_libs: ["android.hardware.tv.input@1.0"], test_suites: [ "general-tests", - "vts-core", + "vts", ], require_root: true, }