FieldsWithGenericTest.java revision 5f0a23683aa603d8c50b6dd071a565821b76067b
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 18.02.2005 255f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes */ 265f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughespackage org.apache.harmony.jpda.tests.jdwp.ReferenceType; 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.ReplyPacket; 315f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughesimport org.apache.harmony.jpda.tests.jdwp.share.JDWPSyncTestCase; 325f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughesimport org.apache.harmony.jpda.tests.share.JPDADebuggeeSynchronizer; 335f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 345f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 355f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes/** 365f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * JDWP Unit test for ReferenceType.FieldsWithGeneric command. 375f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes */ 385f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughespublic class FieldsWithGenericTest extends JDWPSyncTestCase { 395f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 405f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes static final int testStatusPassed = 0; 415f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes static final int testStatusFailed = -1; 425f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes static final String thisCommandName = "ReferenceType.FieldsWithGeneric command"; 435f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes static final String debuggeeSignature = "Lorg/apache/harmony/jpda/tests/jdwp/ReferenceType/FieldsWithGenericDebuggee;"; 445f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 455f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes protected String getDebuggeeClassName() { 465f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes return "org.apache.harmony.jpda.tests.jdwp.ReferenceType.FieldsWithGenericDebuggee"; 475f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 485f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 495f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes /** 505f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * This testcase exercises ReferenceType.FieldsWithGeneric command. 515f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * <BR>The test starts FieldsWithGenericDebuggee class, 525f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * requests referenceTypeId for this class by VirtualMachine.ClassesBySignature 535f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * command, then performs ReferenceType.FieldsWithGeneric command 545f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * and checks that returned list of fields corresponds to expected list 555f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes * with expected attributes. 565f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes */ 575f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes public void testFieldsWithGeneric001() { 585f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes String thisTestName = "testFieldsWithGeneric001"; 595f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("==> " + thisTestName + " for " + thisCommandName + ": START..."); 605f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes int testStatus = testStatusPassed; 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 logWriter.println("=> CHECK: send " + thisCommandName + " and check reply..."); 685f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 695f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes CommandPacket fieldsWithGenericCommand = new CommandPacket( 705f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPCommands.ReferenceTypeCommandSet.CommandSetID, 715f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes JDWPCommands.ReferenceTypeCommandSet.FieldsWithGenericCommand); 725f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes fieldsWithGenericCommand.setNextValueAsReferenceTypeID(refTypeID); 735f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 745f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ReplyPacket fieldsWithGenericReply = debuggeeWrapper.vmMirror.performCommand(fieldsWithGenericCommand); 755f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes fieldsWithGenericCommand = null; 765f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes checkReplyPacket(fieldsWithGenericReply, thisCommandName); 775f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 785f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes int returnedFieldsNumber = fieldsWithGenericReply.getNextValueAsInt(); 795f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Returned fields number = " + returnedFieldsNumber); 805f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 815f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes String fieldNames[] = { 825f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "staticLongField", 835f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "stringArrayField", 845f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "objectArrayField", 855f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "classObjectField" 865f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes }; 875f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 885f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes String fieldSignatures[] = { 895f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "J", 905f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "[Ljava/lang/String;", 915f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "[Ljava/lang/Object;", 925f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "Ljava/lang/Class;" 935f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes }; 945f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 955f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes String fieldGenericSignatures[] = { 965f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "", 975f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "", 985f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "", 995f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "" 1005f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes }; 1015f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 1025f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes int fieldModifiers[] = { 1035f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 0x8, // ACC_STATIC flag 1045f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 0x0, 1055f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 0x0, 1065f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 0x0 1075f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes }; 1085f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 1095f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes boolean fieldFound[] = { 1105f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes false, 1115f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes false, 1125f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes false, 1135f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes false 1145f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes }; 1155f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes int expectedFieldsNumber = fieldNames.length; 1165f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes int fieldSyntheticFlag = 0xf0000000; 1175f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes String message = null; 1185f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 1195f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> CHECK for all expected fields..."); 1205f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes for (int i = 0; i < returnedFieldsNumber; i++) { 1215f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes long returnedFieldID = fieldsWithGenericReply.getNextValueAsFieldID(); 1225f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes String returnedFieldName = fieldsWithGenericReply.getNextValueAsString(); 1235f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes String returnedFieldSignature = fieldsWithGenericReply.getNextValueAsString(); 1245f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes String returnedGenericSignature = fieldsWithGenericReply.getNextValueAsString(); 1255f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes int returnedFieldModifiers = fieldsWithGenericReply.getNextValueAsInt(); 1265f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("\n=> Field ID = " + returnedFieldID); 1275f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Field name = " + returnedFieldName); 1285f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Field signature = \"" + returnedFieldSignature + "\""); 1295f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Field generic signature = \"" + returnedGenericSignature + "\""); 1305f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("=> Field modifiers = 0x" + Integer.toHexString(returnedFieldModifiers)); 1315f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes if ( (returnedFieldModifiers & fieldSyntheticFlag) == fieldSyntheticFlag ) { 1325f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes continue; // do not check synthetic fields 1335f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 1345f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes int k = 0; 1355f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes for (; k < expectedFieldsNumber; k++) { 1365f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes if ( ! fieldNames[k].equals(returnedFieldName)) { 1375f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes continue; 1385f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 1395f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes if ( fieldFound[k] ) { 1405f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("\n## FAILURE: The field is found out repeatedly in the list"); 1415f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("## Field name = " + returnedFieldName); 1425f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes testStatus = testStatusFailed; 1435f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes message = "The field is found repeatedly in the list: " + 1445f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes returnedFieldName; 1455f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes break; 1465f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 1475f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes fieldFound[k] = true; 1485f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes if ( ! fieldSignatures[k].equals(returnedFieldSignature) ) { 1495f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("\n## FAILURE: Unexpected field signature is returned:"); 1505f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("## Field name = " + returnedFieldName); 1515f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("## Expected signature = " + fieldSignatures[k]); 1525f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("## Returned signature = " + returnedFieldSignature); 1535f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes testStatus = testStatusFailed; 1545f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes message = "Unexpected signature is returned for field: " + returnedFieldName + 1555f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ", expected: " + fieldSignatures[k] + 1565f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ", returned: " + returnedFieldSignature; 1575f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 1585f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes if ( ! fieldGenericSignatures[k].equals(returnedGenericSignature) ) { 1595f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("\n## FAILURE: Unexpected field generic signature is returned:"); 1605f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("## Field name = " + returnedFieldName); 1615f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println 1625f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ("## Expected generic signature = \"" + fieldGenericSignatures[k] + "\""); 1635f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println 1645f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ("## Returned generic signature = \"" + returnedGenericSignature + "\""); 1655f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes testStatus = testStatusFailed; 1665f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes message = "Unexpected generic signature is returned for filed: " + 1675f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes returnedFieldName + 1685f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ", expected: \"" + fieldGenericSignatures[k] + "\"" + 1695f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ", returned: \"" + returnedGenericSignature + "\""; 1705f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 1715f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes if ( fieldModifiers[k] != returnedFieldModifiers ) { 1725f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("\n## FAILURE: Unexpected field modifiers are returned:"); 1735f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("## Field name = " + returnedFieldName); 1745f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println 1755f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ("## Expected modifiers = 0x" + Integer.toHexString(fieldModifiers[k])); 1765f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println 1775f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ("## Returned modifiers = 0x" + Integer.toHexString(returnedFieldModifiers)); 1785f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes testStatus = testStatusFailed; 1795f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes message = "Unexpected modifiers are returned for field: " + returnedFieldName + 1805f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ", expected: 0x" + Integer.toHexString(fieldModifiers[k]) + 1815f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ", returned: 0x" + Integer.toHexString(returnedFieldModifiers); 1825f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 1835f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes break; 1845f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 1855f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes if ( k == expectedFieldsNumber ) { 1865f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes // returned field is not found out in the list of expected fields 1875f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("\n## FAILURE: It is found out unexpected returned field:"); 1885f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("## Field name = " + returnedFieldName); 1895f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("## Field signature = " + returnedFieldSignature); 1905f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("## Field generic signature = \"" + returnedGenericSignature + "\""); 1915f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println 1925f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ("## Field modifiers = 0x" + Integer.toHexString(returnedFieldModifiers)); 1935f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes testStatus = testStatusFailed; 1945f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes message = 1955f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "Unexpected returned field: " + 1965f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes returnedFieldName + 1975f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ", signature = " + returnedFieldSignature + 1985f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ", generic signature = \"" + returnedGenericSignature + "\"" + 1995f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ", modifiers = 0x" + Integer.toHexString(returnedFieldModifiers); 2005f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 2015f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 2025f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 2035f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes for (int k = 0; k < expectedFieldsNumber; k++) { 2045f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes if (!fieldFound[k]) { 2055f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println 2065f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ("\n## FAILURE: Expected field is NOT found out in the list of retuned fields:"); 2075f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("## Field name = " + fieldNames[k]); 2085f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes testStatus = testStatusFailed; 2095f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes message = 2105f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes "Expected field is NOT found in the list of retuned fields: " + 2115f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes fieldNames[k]; 2125f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 2135f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 2145f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 2155f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes if (testStatus == testStatusPassed) { 2165f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println 2175f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes ("=> CHECK PASSED: All expected fields are found out and have expected attributes"); 2185f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 2195f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 2205f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes synchronizer.sendMessage(JPDADebuggeeSynchronizer.SGNL_CONTINUE); 2215f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes logWriter.println("==> " + thisTestName + " for " + thisCommandName + ": FINISH"); 2225f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes if (testStatus == testStatusFailed) { 2235f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes fail(message); 2245f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 2255f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes 2265f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes assertAllDataRead(fieldsWithGenericReply); 2275f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes } 2285f0a23683aa603d8c50b6dd071a565821b76067bElliott Hughes} 229