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

This commit is contained in:
Treehugger Robot 2019-09-16 18:29:22 +00:00 committed by Gerrit Code Review
commit 32017407fd
1 changed files with 23 additions and 2 deletions

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;
}
}
}