15f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes/* 25f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 35f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * contributor license agreements. See the NOTICE file distributed with 45f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * this work for additional information regarding copyright ownership. 55f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 65f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * (the "License"); you may not use this file except in compliance with 75f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * the License. You may obtain a copy of the License at 85f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * 95f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 105f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * 115f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * Unless required by applicable law or agreed to in writing, software 125f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 135f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 145f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * 155f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * See the License for the specific language governing permissions and 165f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * limitations under the License. 175f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes */ 185f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 195f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes/** 205f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * @author Anatoly F. Bondarenko 215f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes */ 225f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 235f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes/** 245f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * Created on 11.03.2005 255f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes */ 265f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughespackage org.apache.harmony.jpda.tests.jdwp.ObjectReference; 275f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 285f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughesimport org.apache.harmony.jpda.tests.framework.jdwp.CommandPacket; 295f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughesimport org.apache.harmony.jpda.tests.framework.jdwp.JDWPCommands; 305f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughesimport org.apache.harmony.jpda.tests.framework.jdwp.JDWPConstants; 315f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughesimport org.apache.harmony.jpda.tests.framework.jdwp.ReplyPacket; 325f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughesimport org.apache.harmony.jpda.tests.framework.jdwp.Value; 335f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughesimport org.apache.harmony.jpda.tests.jdwp.share.JDWPSyncTestCase; 345f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughesimport org.apache.harmony.jpda.tests.share.JPDADebuggeeSynchronizer; 355f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 365f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 375f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes/** 385f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * JDWP Unit test for ObjectReference.GetValues command for static fields. 395f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes */ 405f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughespublic class GetValues002Test extends JDWPSyncTestCase { 415f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 425f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes static final String thisCommandName = "ObjectReference::GetValues command"; 435f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes static final String debuggeeSignature = "Lorg/apache/harmony/jpda/tests/jdwp/ObjectReference/GetValues002Debuggee;"; 445f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 45e1833aa2673d4f975ad35e7a39317feeea922fe1Sebastien Hertz @Override 465f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes protected String getDebuggeeClassName() { 475f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes return "org.apache.harmony.jpda.tests.jdwp.ObjectReference.GetValues002Debuggee"; 485f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 495f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 505f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes /** 515f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * This test exercises ObjectReference.GetValues command for static fields. 525f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * <BR>The test starts GetValues002Debuggee class, gets objectID 535f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * as value of static field of this class which (field) represents checked object. 545f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * Then for this objectID test executes ObjectReference.GetValues command for special 555f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * set of fieldIDs and checks that command returns expected jdwpTags for all checked 565f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * fields and expected values for primitive fields. 575f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes */ 585f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes public void testGetValues002() { 595f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes String thisTestName = "testGetValues002"; 605f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("==> " + thisTestName + " for " + thisCommandName + ": START..."); 615f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes synchronizer.receiveMessage(JPDADebuggeeSynchronizer.SGNL_READY); 625f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 635f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes long refTypeID = getClassIDBySignature(debuggeeSignature); 645f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 655f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Debuggee class = " + getDebuggeeClassName()); 665f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> referenceTypeID for Debuggee class = " + refTypeID); 675f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 685f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes String checkedFieldNames[] = { 695f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "getValues002DebuggeeField", 705f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 715f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "staticLongField", 725f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "staticIntField", 735f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "staticStringField", 745f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "staticObjectField", 755f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "staticBooleanField", 765f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "staticByteField", 775f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "staticCharField", 785f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "staticShortField", 795f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "staticFloatField", 805f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "staticDoubleField", 815f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "staticArrayField", 825f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes }; 835f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes long checkedFieldIDs[] = checkFields(refTypeID, checkedFieldNames); 845f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes int checkedFieldsNumber = checkedFieldNames.length; 855f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 865f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println 875f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ("=> Send ReferenceType::GetValues command and and get ObjectID to check..."); 885f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 895f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes CommandPacket getValuesCommand = new CommandPacket( 905f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPCommands.ReferenceTypeCommandSet.CommandSetID, 915f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPCommands.ReferenceTypeCommandSet.GetValuesCommand); 925f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes getValuesCommand.setNextValueAsReferenceTypeID(refTypeID); 935f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes getValuesCommand.setNextValueAsInt(1); 945f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes getValuesCommand.setNextValueAsFieldID(checkedFieldIDs[0]); 955f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 965f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ReplyPacket getValuesReply = debuggeeWrapper.vmMirror.performCommand(getValuesCommand); 975f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes getValuesCommand = null; 985f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes checkReplyPacket(getValuesReply, "ReferenceType::GetValues command"); 995f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 1005f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes int returnedValuesNumber = getValuesReply.getNextValueAsInt(); 1015f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Returned values number = " + returnedValuesNumber); 1025f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertEquals("Invalid number of values,", 1, returnedValuesNumber); 1035f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 1045f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes Value checkedObjectFieldValue = getValuesReply.getNextValueAsValue(); 1055f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes byte checkedObjectFieldTag = checkedObjectFieldValue.getTag(); 1065f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Returned field value tag for checked object= " + checkedObjectFieldTag 1075f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes + "(" + JDWPConstants.Tag.getName(checkedObjectFieldTag) + ")"); 1085f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertEquals("Invalid value tag for checked object,", JDWPConstants.Tag.OBJECT_TAG, checkedObjectFieldTag 1095f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes , JDWPConstants.Tag.getName(JDWPConstants.Tag.OBJECT_TAG) 1105f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes , JDWPConstants.Tag.getName(checkedObjectFieldTag)); 1115f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 1125f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes long checkedObjectID = checkedObjectFieldValue.getLongValue(); 1135f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Returned checked ObjectID = " + checkedObjectID); 1145f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> CHECK: send " + thisCommandName + " for this ObjectID and check reply..."); 1155f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 1165f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes CommandPacket checkedCommand = new CommandPacket( 1175f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPCommands.ObjectReferenceCommandSet.CommandSetID, 1185f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPCommands.ObjectReferenceCommandSet.GetValuesCommand); 1195f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes checkedCommand.setNextValueAsObjectID(checkedObjectID); 1205f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes checkedCommand.setNextValueAsInt(checkedFieldsNumber-1); 1215f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes int fieldIndex = 1; // !!! 1225f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes for (; fieldIndex < checkedFieldsNumber; fieldIndex++) { 1235f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes checkedCommand.setNextValueAsFieldID(checkedFieldIDs[fieldIndex]); 1245f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 1255f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 1265f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ReplyPacket checkedReply = debuggeeWrapper.vmMirror.performCommand(checkedCommand); 1275f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes checkedCommand = null; 1285f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes checkReplyPacket(checkedReply, thisCommandName); 1295f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 1305f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes returnedValuesNumber = checkedReply.getNextValueAsInt(); 1315f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Returned values number = " + returnedValuesNumber); 1325f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertEquals("Invalid number of values,", checkedFieldsNumber - 1, returnedValuesNumber); 1335f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 1345f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes byte expectedFieldTags[] = { 1355f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 0, // dummy 1365f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPConstants.Tag.LONG_TAG, 1375f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPConstants.Tag.INT_TAG, 1385f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPConstants.Tag.STRING_TAG, 1395f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPConstants.Tag.OBJECT_TAG, 1405f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPConstants.Tag.BOOLEAN_TAG, 1415f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPConstants.Tag.BYTE_TAG, 1425f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPConstants.Tag.CHAR_TAG, 1435f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPConstants.Tag.SHORT_TAG, 1445f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPConstants.Tag.FLOAT_TAG, 1455f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPConstants.Tag.DOUBLE_TAG, 1465f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPConstants.Tag.ARRAY_TAG, 1475f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes }; 1485f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 1495f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> CHECK for returned values..."); 1505f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes fieldIndex = 1; // !!! 1515f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes for (; fieldIndex < checkedFieldsNumber; fieldIndex++) { 1525f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes Value fieldValue = checkedReply.getNextValueAsValue(); 1535f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes byte fieldTag = fieldValue.getTag(); 1545f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println 1555f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ("\n=> Check for returned value for field: " + checkedFieldNames[fieldIndex] + " ..."); 1565f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Returned value tag = " + fieldTag 1575f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes + "(" + JDWPConstants.Tag.getName(fieldTag) + ")"); 1585f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 1595f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertEquals("Invalid value tag is returned,", expectedFieldTags[fieldIndex], fieldTag 1605f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes , JDWPConstants.Tag.getName(expectedFieldTags[fieldIndex]) 1615f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes , JDWPConstants.Tag.getName(fieldTag)); 1625f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 1635f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes switch ( fieldTag ) { 1645f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes case JDWPConstants.Tag.INT_TAG: 1655f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes int intValue = fieldValue.getIntValue(); 1665f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Int value = " + intValue); 1675f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes int expectedIntValue = 99; 1685f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertEquals("Invalid int value,", expectedIntValue, intValue); 1695f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes break; 1705f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes case JDWPConstants.Tag.LONG_TAG: 1715f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes long longValue = fieldValue.getLongValue(); 1725f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Long value = " + longValue); 1735f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes long expectedLongValue = 2147483647; 1745f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertEquals("Invalid long value,", expectedLongValue, longValue); 1755f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes break; 1765f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes case JDWPConstants.Tag.STRING_TAG: 1775f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes long stringIDValue = fieldValue.getLongValue(); 1785f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> StringID value = " + stringIDValue); 1795f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes break; 1805f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes case JDWPConstants.Tag.OBJECT_TAG: 1815f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes long objectIDValue = fieldValue.getLongValue(); 1825f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> ObjectID value = " + objectIDValue); 1835f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes break; 1845f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes case JDWPConstants.Tag.BOOLEAN_TAG: 1855f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes boolean booleanValue = fieldValue.getBooleanValue(); 1865f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Boolean value = " + booleanValue); 1875f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes boolean expectedBooleanValue = true; 1885f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertEquals("Invalid boolean value,", expectedBooleanValue, booleanValue); 1895f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes break; 1905f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes case JDWPConstants.Tag.BYTE_TAG: 1915f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes byte byteValue = fieldValue.getByteValue(); 1925f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Byte value = " + byteValue); 1935f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes byte expectedByteValue = 1; 1945f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertEquals("Invalid byte value,", expectedByteValue, byteValue); 1955f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes break; 1965f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes case JDWPConstants.Tag.CHAR_TAG: 1975f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes char charValue = fieldValue.getCharValue(); 1985f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Char value = " + (int)charValue); 1995f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes char expectedCharValue = 97; 2005f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertEquals("Invalid char value,", expectedCharValue, charValue); 2015f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes break; 2025f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes case JDWPConstants.Tag.SHORT_TAG: 2035f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes short shortValue = fieldValue.getShortValue(); 2045f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Short value = " + shortValue); 2055f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes short expectedShortValue = 2; 2065f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertEquals("Invalid short value,", expectedShortValue, shortValue); 2075f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes break; 2085f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes case JDWPConstants.Tag.FLOAT_TAG: 2095f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes float floatValue = fieldValue.getFloatValue(); 2105f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Float value = " + floatValue); 2115f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes float expectedFloatValue = 2; 2125f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertEquals("Invalid float value,", expectedFloatValue, floatValue, 0); 2135f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes break; 2145f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes case JDWPConstants.Tag.DOUBLE_TAG: 2155f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes double doubleValue = fieldValue.getDoubleValue(); 2165f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Double value = " + doubleValue); 2175f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes double expectedDoubleValue = 3.1; 2185f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertEquals("Invalid double value,", expectedDoubleValue, doubleValue, 0); 2195f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes break; 2205f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes case JDWPConstants.Tag.ARRAY_TAG: 2215f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes long arrayIDValue = fieldValue.getLongValue(); 2225f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> ArrayID value = " + arrayIDValue); 2235f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes break; 2245f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 2255f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 2265f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 2275f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertAllDataRead(checkedReply); 2285f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 2295f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println 2305f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ("=> CHECK PASSED: All expected field values are got and have expected attributes"); 2315f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 2325f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes synchronizer.sendMessage(JPDADebuggeeSynchronizer.SGNL_CONTINUE); 2335f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("==> " + thisTestName + " for " + thisCommandName + ": FINISH"); 2345f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 2355f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes} 236