Package org.apache.harmony.jpda.tests.framework.jdwp

Examples of org.apache.harmony.jpda.tests.framework.jdwp.Value


        int returnedValuesNumber = getValuesReply.getNextValueAsInt();
        logWriter.println("=> Returned values number = " + returnedValuesNumber);
        assertEquals("Invalid number of values,", 1, returnedValuesNumber);

        Value checkedObjectFieldValue = getValuesReply.getNextValueAsValue();
        byte checkedObjectFieldTag = checkedObjectFieldValue.getTag();
        logWriter.println("=> Returned field value tag for checked object= " + checkedObjectFieldTag
            + "(" + JDWPConstants.Tag.getName(checkedObjectFieldTag) + ")");
        assertEquals("Invalid value tag for checked object,", JDWPConstants.Tag.OBJECT_TAG, checkedObjectFieldTag
                , JDWPConstants.Tag.getName(JDWPConstants.Tag.OBJECT_TAG)
                , JDWPConstants.Tag.getName(checkedObjectFieldTag));

        long checkedObjectID = checkedObjectFieldValue.getLongValue();
        logWriter.println("=> Returned checked ObjectID = " + checkedObjectID);
        logWriter.println
            ("=> CHECK: send " + thisCommandName
            + " for this ObjectID for fields of different referenceTypes with null values...");
View Full Code Here


       
        int returnedValuesNumber = getValuesReply.getNextValueAsInt();
        logWriter.println("=> Returned values number = " + returnedValuesNumber);
        assertEquals("Invalid number of values,", 1, returnedValuesNumber);
       
        Value checkedObjectFieldValue = getValuesReply.getNextValueAsValue();
        byte checkedObjectFieldTag = checkedObjectFieldValue.getTag();
        logWriter.println("=> Returned field value tag for checked object= " + checkedObjectFieldTag
            + "(" + JDWPConstants.Tag.getName(checkedObjectFieldTag) + ")");
        assertEquals("Invalid value tag for checked object,", JDWPConstants.Tag.OBJECT_TAG, checkedObjectFieldTag
                , JDWPConstants.Tag.getName(JDWPConstants.Tag.OBJECT_TAG)
                , JDWPConstants.Tag.getName(checkedObjectFieldTag));

        long checkedObjectID = checkedObjectFieldValue.getLongValue();
        logWriter.println("=> Returned checked ObjectID = " + checkedObjectID);
        logWriter.println("=> CHECK: send " + thisCommandName + " for this ObjectID and check reply...");

        CommandPacket checkedCommand = new CommandPacket(
                JDWPCommands.ObjectReferenceCommandSet.CommandSetID,
                JDWPCommands.ObjectReferenceCommandSet.GetValuesCommand);
        checkedCommand.setNextValueAsObjectID(checkedObjectID);
        checkedCommand.setNextValueAsInt(checkedFieldsNumber-1);
        int fieldIndex = 1; // !!!
        for (; fieldIndex < checkedFieldsNumber; fieldIndex++) {
            checkedCommand.setNextValueAsFieldID(checkedFieldIDs[fieldIndex]);
        }
       
        ReplyPacket checkedReply = debuggeeWrapper.vmMirror.performCommand(checkedCommand);
        checkedCommand = null;
        checkReplyPacket(checkedReply, thisCommandName);
       
        returnedValuesNumber = checkedReply.getNextValueAsInt();
        logWriter.println("=> Returned values number = " + returnedValuesNumber);
        assertEquals("Invalid number of values,", checkedFieldsNumber - 1, returnedValuesNumber);

        byte expectedFieldTags[] = {
                0, // dummy
                JDWPConstants.Tag.LONG_TAG,
                JDWPConstants.Tag.INT_TAG,
                JDWPConstants.Tag.STRING_TAG,
                JDWPConstants.Tag.OBJECT_TAG,
                JDWPConstants.Tag.BOOLEAN_TAG,
                JDWPConstants.Tag.BYTE_TAG,
                JDWPConstants.Tag.CHAR_TAG,
                JDWPConstants.Tag.SHORT_TAG,
                JDWPConstants.Tag.FLOAT_TAG,
                JDWPConstants.Tag.DOUBLE_TAG,
                JDWPConstants.Tag.ARRAY_TAG,
        };

        logWriter.println("=> CHECK for returned values...");
        fieldIndex = 1; // !!!
        for (; fieldIndex < checkedFieldsNumber; fieldIndex++) {
            Value fieldValue = checkedReply.getNextValueAsValue();
            byte fieldTag = fieldValue.getTag();
            logWriter.println
            ("\n=> Check for returned value for field: " + checkedFieldNames[fieldIndex] + " ...");
            logWriter.println("=> Returned value tag = " + fieldTag
                + "(" + JDWPConstants.Tag.getName(fieldTag) + ")");
           
            assertEquals("Invalid value tag is returned,", expectedFieldTags[fieldIndex], fieldTag
                    , JDWPConstants.Tag.getName(expectedFieldTags[fieldIndex])
                    , JDWPConstants.Tag.getName(fieldTag));

            switch ( fieldTag ) {
            case JDWPConstants.Tag.INT_TAG:
                int intValue = fieldValue.getIntValue();
                logWriter.println("=> Int value = " + intValue);
                int expectedIntValue = 99;
                assertEquals("Invalid int value,", expectedIntValue, intValue);
                break;
            case JDWPConstants.Tag.LONG_TAG:
                long longValue = fieldValue.getLongValue();
                logWriter.println("=> Long value = " + longValue);
                long expectedLongValue = 2147483647;
                assertEquals("Invalid long value,", expectedLongValue, longValue);
                break;
            case JDWPConstants.Tag.STRING_TAG:
                long stringIDValue = fieldValue.getLongValue();
                logWriter.println("=> StringID value = " + stringIDValue);
                break;
            case JDWPConstants.Tag.OBJECT_TAG:
                long objectIDValue = fieldValue.getLongValue();
                logWriter.println("=> ObjectID value = " + objectIDValue);
                break;
            case JDWPConstants.Tag.BOOLEAN_TAG:
                boolean booleanValue = fieldValue.getBooleanValue();
                logWriter.println("=> Boolean value = " + booleanValue);
                boolean expectedBooleanValue = true;
                assertEquals("Invalid boolean value,", expectedBooleanValue, booleanValue);
                break;
            case JDWPConstants.Tag.BYTE_TAG:
                byte byteValue = fieldValue.getByteValue();
                logWriter.println("=> Byte value = " + byteValue);
                byte expectedByteValue = 1;
                assertEquals("Invalid byte value,", expectedByteValue, byteValue);
                break;
            case JDWPConstants.Tag.CHAR_TAG:
                char charValue = fieldValue.getCharValue();
                logWriter.println("=> Char value = " + (int)charValue);
                char expectedCharValue = 97;
                assertEquals("Invalid char value,", expectedCharValue, charValue);
                break;
            case JDWPConstants.Tag.SHORT_TAG:
                short shortValue = fieldValue.getShortValue();
                logWriter.println("=> Short value = " + shortValue);
                short expectedShortValue = 2;
                assertEquals("Invalid short value,", expectedShortValue, shortValue);
                break;
            case JDWPConstants.Tag.FLOAT_TAG:
                float floatValue = fieldValue.getFloatValue();
                logWriter.println("=> Float value = " + floatValue);
                float expectedFloatValue = 2;
                assertEquals("Invalid float value,", expectedFloatValue, floatValue, 0);
                break;
            case JDWPConstants.Tag.DOUBLE_TAG:
                double doubleValue = fieldValue.getDoubleValue();
                logWriter.println("=> Double value = " + doubleValue);
                double expectedDoubleValue = 3.1;
                assertEquals("Invalid double value,", expectedDoubleValue, doubleValue, 0);
                break;
            case JDWPConstants.Tag.ARRAY_TAG:
                long arrayIDValue = fieldValue.getLongValue();
                logWriter.println("=> ArrayID value = " + arrayIDValue);
                break;
            }
        }
View Full Code Here

            if (name.equals("intArray")) {
                ArrayRegion valuesRegion = new ArrayRegion(
                        JDWPConstants.Tag.INT_TAG, 10);
                for (int j = 0; j < valuesRegion.getLength(); j++) {
                    valuesRegion.setValue(j, new Value(-j));
                }
                checkArrayValues(valuesRegion, classID, fieldID);
            } else if (name.equals("longArray")) {
                ArrayRegion valuesRegion = new ArrayRegion(
                        JDWPConstants.Tag.LONG_TAG, 10);
                for (int j = 0; j < valuesRegion.getLength(); j++) {
                    valuesRegion.setValue(j, new Value((long)-j));
                }
                checkArrayValues(valuesRegion, classID, fieldID);
            } else if (name.equals("byteArray")) {
                ArrayRegion valuesRegion = new ArrayRegion(
                        JDWPConstants.Tag.BYTE_TAG, 10);
                for (int j = 0; j < valuesRegion.getLength(); j++) {
                    valuesRegion.setValue(j, new Value((byte)-j));
                }
                checkArrayValues(valuesRegion, classID, fieldID);
            }
        }
View Full Code Here

        ReplyPacket reply = debuggeeWrapper.vmMirror.performCommand(packet);
        checkReplyPacket(reply, "ReferenceType::GetValues command");

        assertEquals("GetValuesCommand returned invalid number of values,", 1, reply.getNextValueAsInt());
        Value value = reply.getNextValueAsValue();
        //System.err.println("value="+value);
        long arrayID = value.getLongValue();
        int length = valuesRegion.getLength();

        checkArrayRegion(valuesRegion, arrayID, 0, length);
    }
View Full Code Here

       
        // do not check values for non-array fields
        ArrayRegion region = reply.getNextValueAsArrayRegion();
        assertEquals("Invalud returned array length,", length, region.getLength());
        for (int i = 0; i < region.getLength(); i++) {
            Value value = region.getValue(i);
            logWriter.println(value.toString());
            assertEquals("ArrayReference::GetValues returned invalid value on index:<" + i + ">",
                    value, valuesRegion.getValue(i));
        }
    }
View Full Code Here

        if (values != 1) {
            logWriter.println("## testStop001: Unexpected number of values = " + values);
            logWriter.println("## Expected number of values = 1");
            fail("Unexpected number of values: " + values + ", expected: 1");
        }
        Value fieldValue = reply.getNextValueAsValue();
        logWriter.println("testStop001: throwable = " + fieldValue);

        packet = new CommandPacket(
                JDWPCommands.ThreadReferenceCommandSet.CommandSetID,
                JDWPCommands.ThreadReferenceCommandSet.StopCommand);
        packet.setNextValueAsThreadID(threadID);
        packet.setNextValueAsObjectID(fieldValue.getLongValue());
        logWriter.println("testStop001: send \"Stop\" command");
        reply = debuggeeWrapper.vmMirror.performCommand(packet);
        checkReplyPacket(reply, "ThreadReference::Stop command");

        logWriter.println("testStop001: wait for Debuggee message about test status...");
View Full Code Here

        packet.setNextValueAsClassID(typeID);
        packet.setNextValueAsThreadID(threadID);
        packet.setNextValueAsMethodID(constructorID);
        if ( testNumber == 1 ) {
            packet.setNextValueAsInt(1); // number of parameters
            packet.setNextValueAsValue(new Value(false));
        }
        if ( testNumber == 2 ) {
            packet.setNextValueAsInt(0); // number of parameters
        }
        packet.setNextValueAsInt(0);
View Full Code Here

        packet.setNextValueAsObjectID(newObject.objectID);
        packet.setNextValueAsThreadID(targetThreadID);
        packet.setNextValueAsClassID(typeID);
        packet.setNextValueAsMethodID(targetMethodID);
        packet.setNextValueAsInt(1);
        packet.setNextValueAsValue(new Value(false));
        packet.setNextValueAsInt(0);
        logWriter.println("\nSend ObjectReference.InvokeMethod without exception...");
        ReplyPacket reply = debuggeeWrapper.vmMirror.performCommand(packet);
        checkReplyPacket(reply, "ObjectReference::InvokeMethod command");

        Value returnValue = reply.getNextValueAsValue();
        logWriter.println(" ObjectReference.InvokeMethod: returnValue.getIntValue()="
                        + returnValue.getIntValue());

        TaggedObject exception = reply.getNextValueAsTaggedObject();
        logWriter.println(" ObjectReference.InvokeMethod: exception.tag="
                + exception.tag + " exception.objectID=" + exception.objectID);

        assertTrue("returnValue must be != null", returnValue != null);
        assertEquals("Invalid returned value,", 345, returnValue.getIntValue());

        assertTrue("exception must be != null", exception != null);
        assertTrue("exception.objectID must be == 0", exception.objectID == 0);
        assertEquals("invalid exception.tag,", JDWPConstants.Tag.OBJECT_TAG, exception.tag
                , JDWPConstants.Tag.getName(JDWPConstants.Tag.OBJECT_TAG)
                , JDWPConstants.Tag.getName(exception.tag));

        assertAllDataRead(reply);

        //  Make InvokeMethod with exception
        packet = new CommandPacket(
                JDWPCommands.ObjectReferenceCommandSet.CommandSetID,
                JDWPCommands.ObjectReferenceCommandSet.InvokeMethodCommand);
        packet.setNextValueAsObjectID(newObject.objectID);
        packet.setNextValueAsThreadID(targetThreadID);
        packet.setNextValueAsClassID(typeID);
        packet.setNextValueAsMethodID(targetMethodID);
        packet.setNextValueAsInt(1);
        packet.setNextValueAsValue(new Value(true));
        packet.setNextValueAsInt(0);
        logWriter.println("\nSend ObjectReference.InvokeMethod with exception...");
        reply = debuggeeWrapper.vmMirror.performCommand(packet);
        checkReplyPacket(reply, "ObjectReference::InvokeMethod command");
       
        returnValue = reply.getNextValueAsValue();
        logWriter.println(" ObjectReference.InvokeMethod: returnValue.getIntValue()="
                + returnValue.getIntValue());

        exception = reply.getNextValueAsTaggedObject();
        logWriter.println(" ObjectReference.InvokeMethod: exception.tag="
                + exception.tag + " exception.objectID=" + exception.objectID);
View Full Code Here

        packet.setNextValueAsObjectID(newObject.objectID);
        packet.setNextValueAsThreadID(targetThreadID);
        packet.setNextValueAsClassID(typeIDChild);
        packet.setNextValueAsMethodID(targetMethodIDChild);
        packet.setNextValueAsInt(1);
        packet.setNextValueAsValue(new Value(false));
        packet.setNextValueAsInt(JDWPConstants.InvokeOptions.INVOKE_NONVIRTUAL);
        logWriter.println
        ("\nSend ObjectReference.InvokeMethod:: nonvirtual child method without exception...");
        ReplyPacket reply = debuggeeWrapper.vmMirror.performCommand(packet);
        checkReplyPacket(reply, "ObjectReference::InvokeMethod command");

        Value returnValue = reply.getNextValueAsValue();
        logWriter.println(" ObjectReference.InvokeMethod: returnValue.getIntValue()="
                + returnValue.getIntValue());

        TaggedObject exception = reply.getNextValueAsTaggedObject();
        logWriter.println(" ObjectReference.InvokeMethod: exception.tag="
                + exception.tag + " exception.objectID=" + exception.objectID);

        assertTrue("returnValue must be != null", returnValue != null);
        assertEquals("Invalid value,", 456, returnValue.getIntValue());
       
        assertTrue("exception must be != null", exception != null);
        assertTrue("exception.objectID must be == 0", exception.objectID == 0);
        assertEquals("Invalid exception.tag", JDWPConstants.Tag.OBJECT_TAG, exception.tag
                , JDWPConstants.Tag.getName(JDWPConstants.Tag.OBJECT_TAG)
                , JDWPConstants.Tag.getName(exception.tag));

        assertAllDataRead(reply);

        //  Make InvokeMethod: nonvirtual super method without exception
        packet = new CommandPacket(
                JDWPCommands.ObjectReferenceCommandSet.CommandSetID,
                JDWPCommands.ObjectReferenceCommandSet.InvokeMethodCommand);
        packet.setNextValueAsObjectID(newObject.objectID);
        packet.setNextValueAsThreadID(targetThreadID);
        packet.setNextValueAsClassID(typeIDSuper);
        packet.setNextValueAsMethodID(targetMethodIDSuper);
        packet.setNextValueAsInt(1);
        packet.setNextValueAsValue(new Value(false));
        packet.setNextValueAsInt(JDWPConstants.InvokeOptions.INVOKE_NONVIRTUAL);
        logWriter.println
        ("\nSend ObjectReference.InvokeMethod: nonvirtual super method without exception...");
        reply = debuggeeWrapper.vmMirror.performCommand(packet);
        checkReplyPacket(reply, "ObjectReference::InvokeMethod command");

        returnValue = reply.getNextValueAsValue();
        logWriter.println(" ObjectReference.InvokeMethod: returnValue.getIntValue()="
                + returnValue.getIntValue());

        exception = reply.getNextValueAsTaggedObject();
        logWriter.println(" ObjectReference.InvokeMethod: exception.tag="
                + exception.tag + " exception.objectID=" + exception.objectID);
       
        assertTrue("returnValue must be != null", returnValue != null);
        assertEquals("Invalid value,", 345, returnValue.getIntValue());
       
        assertTrue("exception must be != null", exception != null);
        assertTrue("exception.objectID must be == 0" ,exception.objectID == 0);
        assertEquals("Invalid exception.tag", JDWPConstants.Tag.OBJECT_TAG, exception.tag
                , JDWPConstants.Tag.getName(JDWPConstants.Tag.OBJECT_TAG)
View Full Code Here

        // Compose the ForceEarlyReturn command
        CommandPacket forceEarlyReturnPacket = new CommandPacket(
                JDWPCommands.ThreadReferenceCommandSet.CommandSetID,
                JDWPCommands.ThreadReferenceCommandSet.ForceEarlyReturnCommand);
        forceEarlyReturnPacket.setNextValueAsThreadID(testedThreadID);
        forceEarlyReturnPacket.setNextValueAsValue(new Value(EXPECTED_LONG));

        // Perform the command
        logWriter.println("==> Perform " + thisCommandName);
        ReplyPacket forceEarlyReturnReply = debuggeeWrapper.vmMirror
                .performCommand(forceEarlyReturnPacket);
View Full Code Here

TOP

Related Classes of org.apache.harmony.jpda.tests.framework.jdwp.Value

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.