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:
parent
2d29c4b0a3
commit
50619e492e
1 changed files with 23 additions and 2 deletions
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue