2 * Copyright (C) 2014, United States Government, as represented by the
3 * Administrator of the National Aeronautics and Space Administration.
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
10 * http://www.apache.org/licenses/LICENSE-2.0.
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.
19 package gov.nasa.jpf.test.java.io;
21 import gov.nasa.jpf.util.test.TestJPF;
24 import java.io.FileInputStream;
25 import java.io.FileOutputStream;
26 import java.io.ObjectInputStream;
27 import java.io.ObjectOutputStream;
28 import java.io.Serializable;
30 import org.junit.Test;
33 * regression test for object streams
35 public class ObjectStreamTest extends TestJPF {
37 static class X implements Serializable {
38 String q = "the ultimate question";
42 public String toString() {
43 return "X{q=\""+q+"\",a="+a+'}';
47 static class Y implements Serializable {
48 static final long serialVersionUID = -42;
64 public String toString() {
65 return "Y{z="+z+",b="+b+",c="+c+",s="+s+",i="+i+",l="+l+",f="+f+",d="+d+ '}';
70 public void testSimpleReadbackOk () {
71 String fname = "tmp.ser";
76 FileOutputStream fos = new FileOutputStream(fname);
77 ObjectOutputStream oos = new ObjectOutputStream(fos);
80 } catch (Throwable t){
81 fail("serialization failed: " + t);
85 if (verifyNoPropertyViolation()){
87 FileInputStream fis = new FileInputStream(fname);
88 ObjectInputStream ois = new ObjectInputStream(fis);
89 Object o = ois.readObject();
92 System.out.println(o);
94 assert o instanceof X : "wrong object type: " + o.getClass().getName();
97 } catch (Throwable t){
98 //t.printStackTrace();
99 fail("serialization readback failed: " + t);
102 File f = new File(fname);