Changeset 4913 in CLRX


Ignore:
Timestamp:
Aug 20, 2019, 5:31:13 PM (4 weeks ago)
Author:
matszpk
Message:

CLRadeonExtender: ROCm: Add next testcases for skipping MsgPack? values.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/tests/amdbin/ROCmMsgPack.cpp

    r4912 r4913  
    929929                    [&mapParser]() { mapParser.skipValue(); });
    930930    }
     931    const cxbyte tc3_2[4] = { 0x81, 0xc0, 0xd0, 0xda };
     932    dataPtr = tc3_2;
     933    {
     934        MsgPackMapParser mapParser(dataPtr, dataPtr + sizeof(tc3_2));
     935        mapParser.parseKeyNil();
     936        mapParser.skipValue();
     937        assertValue("MsgPackSkip", "tc3_2.DataPtr", dataPtr, tc3_2 + sizeof(tc3_2));
     938    }
     939    dataPtr = tc3_2;
     940    {
     941        MsgPackMapParser mapParser(dataPtr, dataPtr + sizeof(tc3_2)-1);
     942        mapParser.parseKeyNil();
     943        assertCLRXException("MsgPackSkip", "tc3_3.DataPtr", "MsgPack: Can't skip object",
     944                    [&mapParser]() { mapParser.skipValue(); });
     945    }
    931946    const cxbyte tc4[5] = { 0x81, 0xc0, 0xcd, 0xda, 0x99 };
    932947    dataPtr = tc4;
     
    951966                    [&mapParser]() { mapParser.skipValue(); });
    952967    }
     968    const cxbyte tc4_3[5] = { 0x81, 0xc0, 0xd1, 0xda, 0x99 };
     969    dataPtr = tc4_3;
     970    {
     971        MsgPackMapParser mapParser(dataPtr, dataPtr + sizeof(tc4_3));
     972        mapParser.parseKeyNil();
     973        mapParser.skipValue();
     974        assertValue("MsgPackSkip", "tc4_3.DataPtr", dataPtr, tc4_3 + sizeof(tc4_3));
     975    }
    953976    const cxbyte tc5[7] = { 0x81, 0xc0, 0xce, 0x11, 0xbb, 0xd1, 0xe6 };
    954977    dataPtr = tc5;
     
    966989        assertCLRXException("MsgPackSkip", "tc5_1.DataPtr", "MsgPack: Can't skip object",
    967990                    [&mapParser]() { mapParser.skipValue(); });
     991    }
     992    const cxbyte tc5_2[7] = { 0x81, 0xc0, 0xd2, 0x11, 0xbb, 0xd1, 0xe6 };
     993    dataPtr = tc5_2;
     994    {
     995        MsgPackMapParser mapParser(dataPtr, dataPtr + sizeof(tc5_2));
     996        mapParser.parseKeyNil();
     997        mapParser.skipValue();
     998        assertValue("MsgPackSkip", "tc5_2.DataPtr", dataPtr, tc5_2 + sizeof(tc5_2));
    968999    }
    9691000    const cxbyte tc6[11] = { 0x81, 0xc0, 0xcf, 0x11, 0x77, 0xab, 0x3c,
     
    9831014        assertCLRXException("MsgPackSkip", "tc6_1.DataPtr", "MsgPack: Can't skip object",
    9841015                    [&mapParser]() { mapParser.skipValue(); });
     1016    }
     1017    const cxbyte tc6_2[11] = { 0x81, 0xc0, 0xd3, 0x11, 0x77, 0xab, 0x3c,
     1018                    0x1a, 0x88, 0x83, 0xde };
     1019    dataPtr = tc6_2;
     1020    {
     1021        MsgPackMapParser mapParser(dataPtr, dataPtr + sizeof(tc6_2));
     1022        mapParser.parseKeyNil();
     1023        mapParser.skipValue();
     1024        assertValue("MsgPackSkip", "tc6_2.DataPtr", dataPtr, tc6_2 + sizeof(tc6_2));
    9851025    }
    9861026    // skip floats
     
    12401280    }
    12411281    {
    1242         Array<cxbyte> tc17(5 + 11277);
     1282        Array<cxbyte> tc17(5 + 11277*3);
    12431283        tc17[0] = 0x81;
    12441284        tc17[1] = 0xc0;
     
    12461286        tc17[3] = (11277)&255;
    12471287        tc17[4] = (11277)>>8;
    1248         for (size_t i = 0; i < tc17.size()-5; i++)
    1249             tc17[i+5] = i&0x7f;
     1288        for (size_t i = 0; i < tc17.size()-5; i+=3)
     1289        {
     1290            tc17[i+5] = 0xcd;
     1291            tc17[i+5+1] = (i&0xff);
     1292            tc17[i+5+2] = ((i>>8)&0xff);
     1293        }
    12501294        dataPtr = tc17.data();
    12511295        MsgPackMapParser mapParser(dataPtr, dataPtr + tc17.size());
Note: See TracChangeset for help on using the changeset viewer.