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

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


        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


        ("## FAILURE: ReferenceType::GetValues command does NOT return expected error - INVALID_FIELDID");

        // next is only for extra info
        //int returnedValuesNumber =
            getValuesReply.getNextValueAsInt();
        Value fieldValue = getValuesReply.getNextValueAsValue();
        byte fieldTag = fieldValue.getTag();
        logWriter.println("## Returned value tag = " + fieldTag
            + "(" + JDWPConstants.Tag.getName(fieldTag) + ")");
        if ( fieldTag == JDWPConstants.Tag.INT_TAG ) {
            int intValue = fieldValue.getIntValue();
            logWriter.println("## Returned value = " + intValue);
        }
        synchronizer.sendMessage(JPDADebuggeeSynchronizer.SGNL_CONTINUE);
        fail("ReferenceType::GetValues command does NOT return expected error - INVALID_FIELDID");
    }
View Full Code Here

                JDWPConstants.Tag.OBJECT_TAG,
                JDWPConstants.Tag.STRING_TAG,
                JDWPConstants.Tag.ARRAY_TAG,
        };
        for (int k=0; k < checkedFieldsNumber; k++) {
            Value fieldValue = getValuesReply.getNextValueAsValue();
            byte fieldTag = fieldValue.getTag();
            logWriter.println
            ("\n=> Check for returned value for field: " + checkedFieldNames[k] + " ...");
            logWriter.println("=> Returned value tag = " + fieldTag
                + "(" + JDWPConstants.Tag.getName(fieldTag) + ")");
           
            assertEquals("Invalid value tag is returned,", expectedFieldTags[k], fieldTag
                    , JDWPConstants.Tag.getName(expectedFieldTags[k])
                    , JDWPConstants.Tag.getName(fieldTag));

            switch ( fieldTag ) {
            case JDWPConstants.Tag.INT_TAG:
                int intValue = fieldValue.getIntValue();
                logWriter.println("=> Int value = " + intValue);
                // here expected value = 99 (staticIntField)
                int expectedIntValue = 99;
                assertEquals("Invalid int value,", expectedIntValue, intValue);
                break;
            case JDWPConstants.Tag.LONG_TAG:
                long longValue = fieldValue.getLongValue();
                logWriter.println("=> Long value = " + longValue);
                // here expected value = 2147483647 (staticLongField)
                long expectedLongValue = 2147483647;
                assertEquals("Invalid Long value,", expectedLongValue, longValue);
                break;
            case JDWPConstants.Tag.OBJECT_TAG:
                long objectIdValue = fieldValue.getLongValue();
                logWriter.println("=> ObjectID value = " + objectIdValue);
                break;
            case JDWPConstants.Tag.STRING_TAG:
                long stringIDValue = fieldValue.getLongValue();
                logWriter.println("=> StringID value = " + stringIDValue);
                break;
            case JDWPConstants.Tag.ARRAY_TAG:
                long arrayIDValue = fieldValue.getLongValue();
                logWriter.println("=> ArrayID value = " + arrayIDValue);
                break;
            }
        }
View Full Code Here

                JDWPCommands.ClassTypeCommandSet.NewInstanceCommand);
        packet.setNextValueAsClassID(typeID);
        packet.setNextValueAsThreadID(targetThreadID);
        packet.setNextValueAsMethodID(targetMethodID);
        packet.setNextValueAsInt(1);
        packet.setNextValueAsValue(new Value(false));
        packet.setNextValueAsInt(0);
        logWriter.println(" Send ClassType.NewInstance (without Exception)");
        reply = debuggeeWrapper.vmMirror.performCommand(packet);
        checkReplyPacket(reply, "ClassType::NewInstance command");

        TaggedObject newObject = reply.getNextValueAsTaggedObject();
        logWriter.println(" ClassType.NewInstance: newObject.tag="
                + newObject.tag + "; newObject.objectID=" + newObject.objectID);
        TaggedObject exception = reply.getNextValueAsTaggedObject();
        logWriter.println(" ClassType.NewInstance: exception.tag="
                + exception.tag + "; exception.objectID=" + exception.objectID);

        assertNotNull("newObject is null", newObject);
        assertTrue("newObject.objectID is 0", newObject.objectID != 0);
        assertEquals("ClassType::NewInstance returned invalid newObject.tag,", JDWPConstants.Tag.OBJECT_TAG, newObject.tag
                , JDWPConstants.Tag.getName(JDWPConstants.Tag.OBJECT_TAG)
                , JDWPConstants.Tag.getName(newObject.tag));

        assertNotNull("exception is null", newObject);
        assertEquals("ClassType::NewInstance returned invalid exception.objectID,", 0, exception.objectID);
        assertTrue(exception.tag == JDWPConstants.Tag.OBJECT_TAG);
        assertAllDataRead(reply);

        //  Let's check object reference
        packet = new CommandPacket(
                JDWPCommands.ObjectReferenceCommandSet.CommandSetID,
                JDWPCommands.ObjectReferenceCommandSet.ReferenceTypeCommand);
        packet.setNextValueAsObjectID(newObject.objectID);
        reply = debuggeeWrapper.vmMirror.performCommand(packet);
        checkReplyPacket(reply, "ObjectReference::ReferenceType command");

        byte newRefTypeTag = reply.getNextValueAsByte();
        long newTypeID = reply.getNextValueAsReferenceTypeID();
        logWriter.println(" ObjectReference.ReferenceType: refTypeTag="
                + newRefTypeTag + "; typeID= " + newTypeID);
        assertEquals("ObjectReference::ReferenceType returned invalid newRefTypeTag,",
                JDWPConstants.TypeTag.CLASS, newRefTypeTag,
                JDWPConstants.TypeTag.getName(JDWPConstants.TypeTag.CLASS),
                JDWPConstants.TypeTag.getName(newRefTypeTag));
        assertEquals("Invalid type ID,", typeID, newTypeID);
        assertAllDataRead(reply);

        // Make NewInstance with Exception
        packet = new CommandPacket(
                JDWPCommands.ClassTypeCommandSet.CommandSetID,
                JDWPCommands.ClassTypeCommandSet.NewInstanceCommand);
        packet.setNextValueAsClassID(typeID);
        packet.setNextValueAsThreadID(targetThreadID);
        packet.setNextValueAsMethodID(targetMethodID);
        packet.setNextValueAsInt(1);
        packet.setNextValueAsValue(new Value(true));
        packet.setNextValueAsInt(0);
        logWriter.println(" Send ClassType.NewInstance (with Exception)");
        reply = debuggeeWrapper.vmMirror.performCommand(packet);
        checkReplyPacket(reply, "ClassType::NewInstance command");
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

                JDWPConstants.Tag.DOUBLE_TAG,
                JDWPConstants.Tag.OBJECT_TAG,
        };

        for (int k = 0; k < returnedValuesNumber; k++) {
            Value fieldValue = getValuesReply.getNextValueAsValue();
            byte fieldTag = fieldValue.getTag();
            logWriter.println
            ("\n=> Check for returned value for field: " + checkedFieldNames[k] + " ...");
            logWriter.println("=> Returned value tag = " + fieldTag
                + "(" + JDWPConstants.Tag.getName(fieldTag) + ")");
            if ( fieldTag != expectedFieldTags[k] ) {
                break;
            }
            switch ( fieldTag ) {
            case JDWPConstants.Tag.INT_TAG:
                int intValue = fieldValue.getIntValue();
                logWriter.println("=> Int value = " + intValue);
                break;
            case JDWPConstants.Tag.LONG_TAG:
                long longValue = fieldValue.getLongValue();
                logWriter.println("=> Long value = " + longValue);
                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);
                break;
            case JDWPConstants.Tag.BYTE_TAG:
                byte byteValue = fieldValue.getByteValue();
                logWriter.println("=> Byte value = " + byteValue);
                break;
            case JDWPConstants.Tag.CHAR_TAG:
                char charValue = fieldValue.getCharValue();
                logWriter.println("=> Char value = " + (int)charValue);
                break;
            case JDWPConstants.Tag.SHORT_TAG:
                short shortValue = fieldValue.getShortValue();
                logWriter.println("=> Short value = " + shortValue);
                break;
            case JDWPConstants.Tag.FLOAT_TAG:
                float floatValue = fieldValue.getFloatValue();
                logWriter.println("=> Float value = " + floatValue);
                break;
            case JDWPConstants.Tag.DOUBLE_TAG:
                double doubleValue = fieldValue.getDoubleValue();
                logWriter.println("=> Double value = " + doubleValue);
                break;
            }
        }
View Full Code Here

        int returnedValuesNumber = getValuesReply.getNextValueAsInt();
        assertEquals("ReferenceType::GetValues returned invalid number of values,",
                1, returnedValuesNumber);
        logWriter.println("=> Returned values number = " + returnedValuesNumber);

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

        assertEquals("ReferenceType::GetValues returned invalid object field tag,",
                JDWPConstants.Tag.ARRAY_TAG, checkedObjectFieldTag,
                JDWPConstants.Tag.getName(JDWPConstants.Tag.ARRAY_TAG),
                JDWPConstants.Tag.getName(checkedObjectFieldTag));
       
        long checkedObjectID = checkedObjectFieldValue.getLongValue();
        logWriter.println("=> Returned checked ArrayID = " + checkedObjectID);
        logWriter.println("=> CHECK: send " + thisCommandName
            + " for this ArrayID for element of referenceType with null values...");

        CommandPacket checkedCommand = new CommandPacket(
View Full Code Here

        packet.setNextValueAsThreadID(threadID);
        packet.setNextValueAsLong(frameID);

        packet.setNextValueAsInt(varTags.length-2);
        packet.setNextValueAsInt(varInfos[1].getSlot());
        packet.setNextValueAsValue(new Value(false));
        packet.setNextValueAsInt(varInfos[2].getSlot());
        packet.setNextValueAsValue(new Value((int)12345));
       
        ReplyPacket reply = debuggeeWrapper.vmMirror.performCommand(packet);
        checkReplyPacket(reply, "StackFrame::SetValues command");

        //prepare and perform GetValues command
        logWriter.println("");
        logWriter.println("=> Send StackFrame::GetValues command...");
        packet = new CommandPacket(
                JDWPCommands.StackFrameCommandSet.CommandSetID,
                JDWPCommands.StackFrameCommandSet.GetValuesCommand);
        packet.setNextValueAsThreadID(threadID);
        packet.setNextValueAsFrameID(frameID);

        logWriter.println("=> Thread: " + threadID);
        logWriter.println("=> Frame: " + frameID);
        packet.setNextValueAsInt(varTags.length);
        for (int i = 0; i < varTags.length; i++) {
            logWriter.println("");
            logWriter.println("=> For variable #"+i+":");
            packet.setNextValueAsInt(varInfos[i].getSlot());
            logWriter.println("=> Slot = "+varInfos[i].getSlot());
            packet.setNextValueAsByte(varTags[i]);
            logWriter.println("=> Tag = "+JDWPConstants.Tag.getName(varTags[i]));
            logWriter.println("");
        }

        //check reply for errors
        reply = debuggeeWrapper.vmMirror.performCommand(packet);
        checkReplyPacket(reply, "StackFrame::GetValues command");

        //check number of retrieved values
        int numberOfValues = reply.getNextValueAsInt();
        logWriter.println("=> Number of values = " + numberOfValues);
        if (numberOfValues != varTags.length) {
            logWriter.println("##FAILURE: unexpected number of values: "
                    + numberOfValues + " instead of "+varTags.length);
            assertTrue(false);
        }

        boolean success = true;
        //print and check values of variables
        logWriter.println("=> Values of variables: ");

        Value val = reply.getNextValueAsValue();
        if (val.getTag() == JDWPConstants.Tag.OBJECT_TAG) {
            logWriter.println("=> Tag is correct");
            logWriter.println("");
        } else {
            logWriter.printError("Unexpected tag of variable: "
                    + JDWPConstants.Tag.getName(val.getTag()) + " instead of: CLASS_OBJECT_TAG");
            logWriter.printError("");
            success = false;
        }
       
        val = reply.getNextValueAsValue();
        if (val.getTag() == JDWPConstants.Tag.BOOLEAN_TAG) {
            logWriter.println("=>Tag is correct");
            boolean boolValue = val.getBooleanValue();
            if (!boolValue) {
                logWriter.println("=> "+varInfos[1].getName() + " = " + boolValue);
                logWriter.println("");
            } else {
                logWriter
                        .printError("Unexpected value of boolean variable: "
                                + boolValue + " instead of: false");
                logWriter.printError("");
                success = false;
            }
        } else {
            logWriter.printError("Unexpected tag of variable: "
                    + JDWPConstants.Tag.getName(val.getTag()) + " instead of: boolean");
            logWriter.printError("");
            success = false;
        }

        val = reply.getNextValueAsValue();
        if (val.getTag() == JDWPConstants.Tag.INT_TAG) {
            logWriter.println("=>Tag is correct");
            int intValue = val.getIntValue();
            if (intValue == 12345) {
                logWriter.println("=> "+varInfos[2].getName() + " = " + intValue);
                logWriter.println("");
            } else {
                logWriter
                        .printError("Unexpected value of int variable: "
                                + intValue + " instead of: 12345");
                logWriter.printError("");
                success = false;
            }
        } else {
            logWriter.printError("Unexpected tag of variable: "
                    + JDWPConstants.Tag.getName(val.getTag()) + " instead of: integer");
            logWriter.printError("");
            success = false;
        }

        val = reply.getNextValueAsValue();
        if (val.getTag() == JDWPConstants.Tag.STRING_TAG) {
            logWriter.println("=>Tag is correct");
            long strLocalVariableID = val.getLongValue();
            String strLocalVariable = getStringValue(strLocalVariableID);
            if (strLocalVariable.equals("test string")) {
                logWriter.println("=> "+varInfos[2].getName() + " = "
                        + strLocalVariable);
                logWriter.println("");
            } else {
                logWriter
                        .printError("Unexpected value of string variable: "
                                + strLocalVariable
                                + " instead of: "
                                + "test string");
                logWriter.printError("");
                success = false;
            }
        } else {
            logWriter.printError("Unexpected tag of variable: "
                    + JDWPConstants.Tag.getName(val.getTag()) + " instead of: string");
            logWriter.printError("");
            success = false;
        }
        assertTrue(logWriter.getErrorMessage(), success);
    }
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.