Changeset 4908 in CLRX


Ignore:
Timestamp:
Aug 20, 2019, 11:56:08 AM (4 weeks ago)
Author:
matszpk
Message:

CLRadeonExtender: ROCm: Add next testcases for ROCm MsgPack? parser - maps (failures). Fixed exception message.

Location:
CLRadeonExtender/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/amdbin/ROCmMetadata.cpp

    r4899 r4908  
    17941794        throw ParseException("MsgPack: Key already parsed");
    17951795    if (!key && keyLeft)
    1796         throw ParseException("MsgPack: Value already parsed");
     1796        throw ParseException("MsgPack: This is not a value");
    17971797}
    17981798
  • CLRadeonExtender/trunk/tests/amdbin/ROCmMsgPack.cpp

    r4907 r4908  
    674674                        Array<cxuint>(res.begin(), res.end()));
    675675        assertValue("MsgPack0", "tc25.DataPtr", dataPtr, tc25 + sizeof(tc25));
    676         assertTrue("MsgPack0", "No elements", !childParser.haveElements());
     676        assertTrue("MsgPack0", "tc25.No elements", !childParser.haveElements());
    677677    }
    678678    // longer array (16-bit size)
     
    762762                        Array<cxuint>(res.begin(), res.end()));
    763763        assertValue("MsgPack0", "tc28.DataPtr", dataPtr, tc28 + sizeof(tc28));
    764         assertTrue("MsgPack0", "No elements", !childParser.haveElements());
     764        assertTrue("MsgPack0", "tc28.No elements", !childParser.haveElements());
     765    }
     766    {
     767        dataPtr = tc28;
     768        MsgPackArrayParser arrParser(dataPtr, dataPtr + sizeof(tc28));
     769        MsgPackMapParser childParser = arrParser.parseMap();
     770        for (cxuint i = 0; i < 4; i++)
     771        {
     772            childParser.parseKeyInteger(MSGPACK_WS_BOTH);
     773            childParser.parseValueInteger(MSGPACK_WS_BOTH);
     774        }
     775        childParser.parseKeyInteger(MSGPACK_WS_BOTH);
     776        assertTrue("MsgPack0", "tc28_1.HaveElements", childParser.haveElements());
     777    }
     778    {
     779        dataPtr = tc28;
     780        MsgPackArrayParser arrParser(dataPtr, dataPtr + sizeof(tc28));
     781        MsgPackMapParser childParser = arrParser.parseMap();
     782        assertCLRXException("MsgPack0", "tc28_2.IsNotValue",
     783                    "MsgPack: This is not a value",
     784                    [&childParser]() { childParser.parseValueBool(); });
     785    }
     786    {
     787        dataPtr = tc28;
     788        MsgPackArrayParser arrParser(dataPtr, dataPtr + sizeof(tc28));
     789        MsgPackMapParser childParser = arrParser.parseMap();
     790        childParser.parseKeyInteger(MSGPACK_WS_BOTH);
     791        assertCLRXException("MsgPack0", "tc28_2.IsNotKey",
     792                    "MsgPack: Key already parsed",
     793                    [&childParser]() { childParser.parseKeyBool(); });
    765794    }
    766795    // longer map (16-bit size)
Note: See TracChangeset for help on using the changeset viewer.