Loading audio/core/all-versions/vts/functional/4.0/AudioPrimaryHidlHalTest.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ static void waitForDeviceDestruction() { // flushCommand makes sure all local command are sent, thus should reduce // the latency between local and remote destruction. IPCThreadState::self()->flushCommands(); usleep(100); usleep(100 * 1000); } TEST_F(AudioHidlTest, OpenPrimaryDeviceUsingGetDevice) { Loading audio/core/all-versions/vts/functional/AudioPrimaryHidlHalTest.h +24 −4 Original line number Diff line number Diff line Loading @@ -699,13 +699,27 @@ class OpenStreamTest : public AudioConfigPrimaryTest, Return<Result> closeStream() { open = false; return stream->close(); auto res = stream->close(); stream.clear(); waitForStreamDestruction(); return res; } void waitForStreamDestruction() { // FIXME: there is no way to know when the remote IStream is being destroyed // Binder does not support testing if an object is alive, thus // wait for 100ms to let the binder destruction propagates and // the remote device has the time to be destroyed. // flushCommand makes sure all local command are sent, thus should reduce // the latency between local and remote destruction. IPCThreadState::self()->flushCommands(); usleep(100 * 1000); } private: void TearDown() override { if (open) { ASSERT_OK(stream->close()); ASSERT_OK(closeStream()); } AudioConfigPrimaryTest::TearDown(); } Loading Loading @@ -1003,8 +1017,14 @@ TEST_IO_STREAM(getMmapPositionNoMmap, "Get a stream Mmap position before mapping ASSERT_RESULT(invalidStateOrNotSupported, stream->stop())) TEST_IO_STREAM(close, "Make sure a stream can be closed", ASSERT_OK(closeStream())) TEST_IO_STREAM(closeTwice, "Make sure a stream can not be closed twice", ASSERT_OK(closeStream()); ASSERT_RESULT(Result::INVALID_STATE, closeStream())) // clang-format off TEST_IO_STREAM(closeTwice, "Make sure a stream can not be closed twice", auto streamCopy = stream; ASSERT_OK(closeStream()); ASSERT_RESULT(Result::INVALID_STATE, streamCopy->close()); streamCopy.clear(); waitForStreamDestruction()) // clang-format on static void testCreateTooBigMmapBuffer(IStream* stream) { MmapBufferInfo info; Loading Loading
audio/core/all-versions/vts/functional/4.0/AudioPrimaryHidlHalTest.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ static void waitForDeviceDestruction() { // flushCommand makes sure all local command are sent, thus should reduce // the latency between local and remote destruction. IPCThreadState::self()->flushCommands(); usleep(100); usleep(100 * 1000); } TEST_F(AudioHidlTest, OpenPrimaryDeviceUsingGetDevice) { Loading
audio/core/all-versions/vts/functional/AudioPrimaryHidlHalTest.h +24 −4 Original line number Diff line number Diff line Loading @@ -699,13 +699,27 @@ class OpenStreamTest : public AudioConfigPrimaryTest, Return<Result> closeStream() { open = false; return stream->close(); auto res = stream->close(); stream.clear(); waitForStreamDestruction(); return res; } void waitForStreamDestruction() { // FIXME: there is no way to know when the remote IStream is being destroyed // Binder does not support testing if an object is alive, thus // wait for 100ms to let the binder destruction propagates and // the remote device has the time to be destroyed. // flushCommand makes sure all local command are sent, thus should reduce // the latency between local and remote destruction. IPCThreadState::self()->flushCommands(); usleep(100 * 1000); } private: void TearDown() override { if (open) { ASSERT_OK(stream->close()); ASSERT_OK(closeStream()); } AudioConfigPrimaryTest::TearDown(); } Loading Loading @@ -1003,8 +1017,14 @@ TEST_IO_STREAM(getMmapPositionNoMmap, "Get a stream Mmap position before mapping ASSERT_RESULT(invalidStateOrNotSupported, stream->stop())) TEST_IO_STREAM(close, "Make sure a stream can be closed", ASSERT_OK(closeStream())) TEST_IO_STREAM(closeTwice, "Make sure a stream can not be closed twice", ASSERT_OK(closeStream()); ASSERT_RESULT(Result::INVALID_STATE, closeStream())) // clang-format off TEST_IO_STREAM(closeTwice, "Make sure a stream can not be closed twice", auto streamCopy = stream; ASSERT_OK(closeStream()); ASSERT_RESULT(Result::INVALID_STATE, streamCopy->close()); streamCopy.clear(); waitForStreamDestruction()) // clang-format on static void testCreateTooBigMmapBuffer(IStream* stream) { MmapBufferInfo info; Loading