Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32017407 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

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

parents cf4845b1 50619e49
Loading
Loading
Loading
Loading
+23 −2
Original line number Diff line number Diff line
@@ -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;
        }
    }
}