Skip to content

Commit f7336c4

Browse files
committed
FIX: "java.lang.Char" should be "java.lang.Character". However, new unit test fails due to other problem.
new file: src/tests/gov/nasa/jpf/test/java/io/PrintStreamTest.java: New test, failing part commented out.
1 parent b592174 commit f7336c4

File tree

3 files changed

+45
-3
lines changed

3 files changed

+45
-3
lines changed

src/main/gov/nasa/jpf/vm/MJIEnv.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1135,7 +1135,7 @@ public String format (int fmtRef, int argRef){
11351135
arg[i] = getBooleanObject(ref);
11361136
} else if (clsName.equals("java.lang.Byte")) {
11371137
arg[i] = getByteObject(ref);
1138-
} else if (clsName.equals("java.lang.Char")) {
1138+
} else if (clsName.equals("java.lang.Character")) {
11391139
arg[i] = getCharObject(ref);
11401140
} else if (clsName.equals("java.lang.Short")) {
11411141
arg[i] = getShortObject(ref);
@@ -1169,7 +1169,7 @@ public String format (Locale l,int fmtRef, int argRef){
11691169
arg[i] = getStringObject(ref);
11701170
} else if (clsName.equals("java.lang.Byte")) {
11711171
arg[i] = getByteObject(ref);
1172-
} else if (clsName.equals("java.lang.Char")) {
1172+
} else if (clsName.equals("java.lang.Character")) {
11731173
arg[i] = getCharObject(ref);
11741174
} else if (clsName.equals("java.lang.Short")) {
11751175
arg[i] = getShortObject(ref);

src/peers/gov/nasa/jpf/vm/JPF_java_lang_reflect_Field.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -716,7 +716,7 @@ protected boolean isAssignmentCompatible (MJIEnv env, FieldInfo fi, int refVal){
716716

717717
if (fi.isBooleanField() && valClsName.equals("java.lang.Boolean")) return true;
718718
else if (fi.isByteField() && valClsName.equals("java.lang.Byte")) return true;
719-
else if (fi.isCharField() && valClsName.equals("java.lang.Char")) return true;
719+
else if (fi.isCharField() && valClsName.equals("java.lang.Character")) return true;
720720
else if (fi.isShortField() && valClsName.equals("java.lang.Short")) return true;
721721
else if (fi.isIntField() && valClsName.equals("java.lang.Integer")) return true;
722722
else if (fi.isLongField() && valClsName.equals("java.lang.Long")) return true;
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/*
2+
* Copyright (C) 2014, United States Government, as represented by the
3+
* Administrator of the National Aeronautics and Space Administration.
4+
* All rights reserved.
5+
*
6+
* The Java Pathfinder core (jpf-core) platform is licensed under the
7+
* Apache License, Version 2.0 (the "License"); you may not use this file except
8+
* in compliance with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0.
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an "AS IS" BASIS,
14+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
*/
18+
19+
package gov.nasa.jpf.test.java.io;
20+
21+
import gov.nasa.jpf.util.test.TestJPF;
22+
23+
import java.io.ByteArrayOutputStream;
24+
import java.io.PrintStream;
25+
26+
import org.junit.Test;
27+
28+
/**
29+
* regression test for object streams
30+
*/
31+
public class PrintStreamTest extends TestJPF {
32+
33+
@Test // currently fails with: java.lang.NoSuchMethodError: java.util.regex.Matcher.find(I)Z
34+
public void testPrintCharFormat () {
35+
if (verifyNoPropertyViolation()){
36+
ByteArrayOutputStream baos = new ByteArrayOutputStream(1);
37+
PrintStream baps = new PrintStream(baos, true);
38+
// baps.printf("%c", 'a'); // fails
39+
// assert (baos.toByteArray()[0] == 97);
40+
}
41+
}
42+
}

0 commit comments

Comments
 (0)