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

Commit aaa67596 authored by Andreas Huber's avatar Andreas Huber
Browse files

Adds test cases to stress marshaling of primitive array types and

vectors of thereof.

Bug: 68654583
Test: hidl_test_java
Change-Id: Id498fe9b1e153512be294c39aff783f7d0600219
parent 6a70875b
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -77,6 +77,30 @@ interface IBase {

    typedef bitfield<BitField> Mask;

    typedef uint8_t[128] ByteOneDim;
    typedef uint8_t[8][128] ByteTwoDim;
    typedef uint8_t[8][16][128] ByteThreeDim;

    typedef bool[128] BooleanOneDim;
    typedef bool[8][128] BooleanTwoDim;
    typedef bool[8][16][128] BooleanThreeDim;

    typedef double[128] DoubleOneDim;
    typedef double[8][128] DoubleTwoDim;
    typedef double[8][16][128] DoubleThreeDim;

    struct LotsOfPrimitiveArrays {
        ByteOneDim byte1;
        ByteTwoDim byte2;
        ByteThreeDim byte3;
        BooleanOneDim boolean1;
        BooleanTwoDim boolean2;
        BooleanThreeDim boolean3;
        DoubleOneDim double1;
        DoubleTwoDim double2;
        DoubleThreeDim double3;
    };

    someBaseMethod();

    someBoolMethod(bool x) generates (bool y);
@@ -97,4 +121,9 @@ interface IBase {

    takeAMask(BitField bf, bitfield<BitField> first, MyMask second, Mask third)
            generates (BitField out, uint8_t f, uint8_t s, uint8_t t);

    testArrays(LotsOfPrimitiveArrays in) generates (LotsOfPrimitiveArrays out);
    testByteVecs(vec<ByteOneDim> in) generates (vec<ByteOneDim> out);
    testBooleanVecs(vec<BooleanOneDim> in) generates (vec<BooleanOneDim> out);
    testDoubleVecs(vec<DoubleOneDim> in) generates (vec<DoubleOneDim> out);
};
+28 −0
Original line number Diff line number Diff line
@@ -199,6 +199,34 @@ Return<void> Baz::takeAMask(IBase::BitField bf,
    return Void();
}

Return<void> Baz::testArrays(
        const IBase::LotsOfPrimitiveArrays &in,
        testArrays_cb _hidl_cb) {
    _hidl_cb(in);
    return Void();
}

Return<void> Baz::testByteVecs(
        const hidl_vec<IBase::ByteOneDim> &in,
        testByteVecs_cb _hidl_cb) {
    _hidl_cb(in);
    return Void();
}

Return<void> Baz::testBooleanVecs(
        const hidl_vec<IBase::BooleanOneDim> &in,
        testBooleanVecs_cb _hidl_cb) {
    _hidl_cb(in);
    return Void();
}

Return<void> Baz::testDoubleVecs(
        const hidl_vec<IBase::DoubleOneDim> &in,
        testDoubleVecs_cb _hidl_cb) {
    _hidl_cb(in);
    return Void();
}

// Methods from ::android::hardware::tests::baz::V1_0::IBaz follow.

Return<void> Baz::doThis(float param) {
+16 −0
Original line number Diff line number Diff line
@@ -53,6 +53,22 @@ struct Baz : public IBaz {
                           uint8_t third,
                           takeAMask_cb _hidl_cb) override;

    Return<void> testArrays(
            const IBase::LotsOfPrimitiveArrays &in,
            testArrays_cb _hidl_cb) override;

    Return<void> testByteVecs(
            const hidl_vec<IBase::ByteOneDim> &in,
            testByteVecs_cb _hidl_cb) override;

    Return<void> testBooleanVecs(
            const hidl_vec<IBase::BooleanOneDim> &in,
            testBooleanVecs_cb _hidl_cb) override;

    Return<void> testDoubleVecs(
            const hidl_vec<IBase::DoubleOneDim> &in,
            testDoubleVecs_cb _hidl_cb) override;

    // Methods from ::android::hardware::tests::baz::V1_0::IBaz follow.
    Return<void> doThis(float param) override;
    Return<int32_t> doThatAndReturnSomething(int64_t param) override;