Certain mutation testing -- mutateOperandLifeTimeTest and
mutateOperandInputOutputTest -- can introduce potentially very large
CONSTANT_COPY operands, which can in turn create potentially very
large Models which must be passed across binder. To avoid overflowing
the binder buffer, we estimate the size of the mutated Model, and skip
the test if that size is too high. The old logic recognizes that our
tests only have a single active binder transaction at a time, and
assumes that there are no other clients using the same service at the
same time, and so we should have the binder buffer to ourselves; to be
conservative, we reject any Model whose estimated size exceeds half
the binder buffer size. Unfortunately, sometimes the binder buffer
still overflows, because it unexpectedly contains an allocation from
some other transaction: It appears that binder buffer memory
management is not serialized with respect to transactions from our
tests, and therefore depending on scheduler behavior, there may be a
sizeable allocation still in the buffer when we attempt to pass the
large Model. To fix this problem we become even more conservative,
and instead of limiting the Model to half the binder buffer size, we
limit it to half IBinder.MAX_IPC_SIZE (the recommended transaction
size limit). To confirm that this change does not exclude too many
tests, I checked how may times the size filter function
exceedsBinderSizeLimit is called, how many times it rejects a model
under the new logic (modelsExceedHalfMaxIPCSize), and how many times
it rejects a model under the old logic (modelsExceedHalfMaxIPCSize).
Test: VtsHalNeuralnetworksV1_0TargetTest --gtest_filter=TestGenerated/ValidationTest.Test/*-*dsp*
Test: # models = 3592, modelsExceedHalfMaxIPCSize = 212, modelsExceedHalfBufferSize = 18
Test: VtsHalNeuralnetworksV1_1TargetTest --gtest_filter=TestGenerated/ValidationTest.Test/*-*dsp*
Test: # models = 7228, modelsExceedHalfMaxIPCSize = 330, modelsExceedHalfBufferSize = 28
Test: VtsHalNeuralnetworksV1_2TargetTest --gtest_filter=TestGenerated/ValidationTest.Test/*-*dsp*
Test: # models = 52072, modelsExceedHalfMaxIPCSize = 506, modelsExceedHalfBufferSize = 28
Test: VtsHalNeuralnetworksV1_3TargetTest --gtest_filter=TestGenerated/ValidationTest.Test/*-*dsp*
Test: # models = 73342, modelsExceedHalfMaxIPCSize = 568, modelsExceedHalfBufferSize = 28
Test: VtsHalNeuralnetworksTargetTest
Bug: 227719657
Bug: 227719752
Bug: 231928847
Bug: 238777741
Bug: 242271308
Change-Id: I3f81d71ca3c0ad4c639096b1dc034a8909bc8971
When we run the VTS of GraphicsComposerAidlCommandTest, we always meet
segmentation fault issue in some test items. VTS test items crashed
when it deleted the layer or display from resource manager and try to
go next loop.
The problem is the test item try to delete the layer iterator or
display iterator in the loop, so the iterator become an invalid
iterator. Then it try to use the invalid iterator for going to next
iterator. This behavior caused segmentation fault. We use different
way to fix deleting layer and deleting display.
Delete layer: Test item always delete all layer for each display, so
we always delete layer via get the first iterator until
the resource manager is empty.
Delete display: Test item only delete virtual display, so we move the
physical display to a temporary map. After delete all
virtual display, we swap the temporary map and
original map.
Bug: 243781450
Test: 1. test GraphicsComposerAidlCommandTest.SetLayerColorTransform
for deleting layer
2. test GraphicsComposerAidlCommandTest.SetOutputBuffer
for deleting disply
Change-Id: Id467df658e78ed29fdfc039cabc119f8bf62d69d
VtsHalEvsV1_1TargetTest does not verify any behavior depending on
a frame buffer's color format.
Bug: 240685726
Test: atest VtsHalEvsV1_1TargetTest
Change-Id: I592a0a8de5fffd98178d624ee5aac4c28245d056
EVS HAL implementations are expected to support any of following color
formats:
- RGBA 8888
- BGRA 8888
- NV21
- YV12
- Or, YUY2
Bug: 240685726
Test: atest VtsHalEvsV1_1TargetTest
Change-Id: I9fbbf1d29e52b24d8a53854faa58ac578094b305
Bug: 241174366
Test: run VtsAidlHalSensorsTargetTest, and verify Android app
can receive sensor data after test runs
Change-Id: Ie372f74f3a52decce592181c7d65624f8ec03ed1
(cherry picked from commit 8492dab99d)
* changes:
audio VTS: Update CompressedOffloadOutputStream implementation
audio VTS: CompressedOffloadOutputStream to check the vendor API level
audio VTS: add CompressedOffloadOutputStream test
audio VTS: Refactor test parameter generation for I/O streams
Raw buffer handles do not support metadata queries and need
to be imported first.
Additionally map the result buffer ids to the inflight
buffers and queue the maximum amount of inflight buffers
as advertised by Hal. Since we will be streaming a set
of buffers, use an appropriate preview size.
Bug: 237576060
Test: adb shell
/data/nativetest64/VtsAidlHalCameraProvider_TargetTest/VtsAidlHalCameraProvider_TargetTest
--gtest_filter=PerInstance/CameraAidlTest.process10BitDynamicRangeRequest/0_android_hardware_camera_provider_ICameraProvider_internal_0
Change-Id: Id854c2a8d1588a151240d1b32197dbace7e1a057
S AOSP did not remove the OMX.google* codecs, so this cannot be
enforced for devices launching with S
bug: 230582620
Change-Id: I25e8f827645db8e83c8c3142f5e76a912fdf7b22
(cherry picked from commit 6973e79b91)
Do not rely on blocking behavior of 'IStreamOut.write',
instead use stream callbacks. Measure the time between
write start and drain complete. This makes the test
working reliably across different chipsets.
Bug: 219767875
Test: atest VtsHalAudioV7_0TargetTest:CompressedOffloadOutputStream/CompressedOffloadOutputStreamTest
Test: atest VtsHalAudioV7_1TargetTest:CompressedOffloadOutputStream/CompressedOffloadOutputStreamTest
Change-Id: I26fd4fd26914ed2a0b3273f4ae5512a87f9cca2c
Merged-In: I26fd4fd26914ed2a0b3273f4ae5512a87f9cca2c
(cherry picked from commit a0a5d4a9f6)
Update CompressedOffloadOutputStream to fail the test if
compressed offload mix port does not support gapless offload
for a new device launching on T+.
Bug: 219767875
Test: atest VtsHalAudioV7_0TargetTest
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: Iaadf6e9b9bb7340ccaf5bc26c45fda9654190510
Merged-In: Iaadf6e9b9bb7340ccaf5bc26c45fda9654190510
(cherry picked from commit 1bc0dc4ceb)
Two changes that are necessary to test offloaded output:
1. Pass all mix port flags specified in the config to HAL when
opening an output stream. Previously the generator was
omitting the 'NON_BLOCKING' flag, however it is necessary
for offloaded output to work. This also now passes
the 'GAPLESS_OFFLOAD' flag to the stream opening call site.
2. Provide the DeviceAddress of the attached source/sink
device to tests that use mix ports. Some tests were looking
up the device address anyway. Also, HAL implementations
seem to prefer to have the actual output device instead
of 'DEFAULT' when opening offload streams.
Bug: 219767875
Test: atest VtsHalAudioV7_0TargetTest
Test: atest VtsHalAudioV7_1TargetTest
Test: atest HalAudioV7_0GeneratorTest
Change-Id: I0482376ecc7d6964f45f508a80716ffab18044b4
Merged-In: I0482376ecc7d6964f45f508a80716ffab18044b4
(cherry picked from commit 713d2c5590)
[Description]
If filter is started after playback thread, sometimes
filter cannot get data correctly because of timing issue.
Start playback thread after filter is started
so that filter will always get data correctly.
Bug: 235185563
Test:
1. Testcase pass
Change-Id: I97c38dab1ff81c31b4bb48c8015b626b3a6325ed
wifi hal is stopped before starting wifi.
Bug: 234853504
Test: atest VtsHalWifiSupplicantV1_0TargetTest # HIDL service
Change-Id: I413c3803a6607a72cc3aa8a5fa208551be1b1032
(cherry picked from commit bfe60cda4d)
Merged-In: I413c3803a6607a72cc3aa8a5fa208551be1b1032
[Description]
If filter is started after playback thread, sometimes
filter cannot get data correctly because of timing issue.
Start playback thread after filter is started
so that filter will always get data correctly.
Bug: 235185563
Test:
1. Testcase pass
Change-Id: I97c38dab1ff81c31b4bb48c8015b626b3a6325ed
(cherry picked from commit 8ab7fd8b21)
wifi hal is stopped before starting wifi.
Bug: 234853504
Test: atest VtsHalWifiSupplicantV1_0TargetTest # HIDL service
Change-Id: I413c3803a6607a72cc3aa8a5fa208551be1b1032
(cherry picked from commit bfe60cda4d)
This change syncs aosp/master with the change in http://aosp/2117528,
allowing devices that launched with the (incorrect) version of
ATTEST_KEY VTS tests in Android S to continue to pass the test.
Bug: 197096139
Bug: 230074335
Test: VtsAidlKeyMintTargetTest
Change-Id: If88642e238e64ca9ec80303a4a72f7171c63464f
Merged-In: If88642e238e64ca9ec80303a4a72f7171c63464f
This document goes a little more in depth on the motivating factors and
background mechanisms that occur with RKP, that are not appropriate for
direct inclusion in the HAL docs in the .aidl files.
Bug: 234159998
Test: Readable
Change-Id: I141fb098c536a5468b1113af64dcf6185ea7ae9f
- call startSvStatus()/startNmea() before calling start(). This will
avoid missing the first SvStatus
- in TestGnssSvInfoFieldsTest, avoid calling list::back() if the list is
empty.
Bug: 235062809
Test: atest VtsHalGnssTargetTest
Change-Id: I612d42e23085dbb0b32da328869bfd443ee66362
am skip reason: Merged-In Ica83f4959a87b8fb498b535572738e4e790c6ddb with SHA-1 0dc66a2c69 is already in history
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2099116
Change-Id: I1d91810834810314b06dfb14db753af520dac0f0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>