ion-unit-tests: Add heap id verification test.

Bug: 140507100
Test: ion-unit-tests --gtest_filter=HeapQuery.*

Change-Id: I5b881f7886f0908f69025cf63706a6c8cab584bf
Signed-off-by: Sandeep Patil <sspatil@google.com>
This commit is contained in:
Sandeep Patil 2019-09-10 04:50:24 -07:00
parent 2d29c4b0a3
commit 50619e492e

View file

@ -15,6 +15,8 @@
*/
#include <gtest/gtest.h>
#include <ion/ion.h>
#include "ion_test_fixture.h"
class HeapQuery : public IonTest {};
@ -23,5 +25,24 @@ TEST_F(HeapQuery, AtleastOneHeap) {
ASSERT_GT(ion_heaps.size(), 0);
}
// TODO: Check if we expect some of the default
// heap types to be present on all devices.
// TODO: Adjust this test to account for the range of valid carveout and DMA heap ids.
TEST_F(HeapQuery, HeapIdVerify) {
for (const auto& heap : ion_heaps) {
SCOPED_TRACE(::testing::Message() << "Invalid id for heap:" << heap.name << ":" << heap.type
<< ":" << heap.heap_id);
switch (heap.type) {
case ION_HEAP_TYPE_SYSTEM:
ASSERT_TRUE((1 << heap.heap_id) & ION_HEAP_SYSTEM_MASK);
break;
case ION_HEAP_TYPE_SYSTEM_CONTIG:
ASSERT_TRUE((1 << heap.heap_id) & ION_HEAP_SYSTEM_CONTIG_MASK);
break;
case ION_HEAP_TYPE_CARVEOUT:
ASSERT_TRUE((1 << heap.heap_id) & ION_HEAP_CARVEOUT_MASK);
break;
case ION_HEAP_TYPE_DMA:
ASSERT_TRUE((1 << heap.heap_id) & ION_HEAP_TYPE_DMA_MASK);
break;
}
}
}