71 unpackJava(packFile, istFile);
72 verifyJar(goldenFile, istFile);
73 istFile.delete();
74
75 // unpack in some other timezone
76 File pstFile = new File("golden.jar.java.PST");
77 unpackJava(packFile, pstFile);
78 verifyJar(goldenFile, pstFile);
79 pstFile.delete();
80
81 // repeat the test for unpack200 tool.
82 istFile = new File("golden.jar.native.IST");
83 unpackNative(packFile, istFile);
84 verifyJar(goldenFile, istFile);
85 istFile.delete();
86
87 pstFile = new File("golden.jar.native.PST");
88 unpackNative(packFile, pstFile);
89 verifyJar(goldenFile, pstFile);
90 pstFile.delete();
91 }
92
93 static void unpackNative(File packFile, File outFile) {
94 String name = outFile.getName();
95 String tzname = name.substring(name.lastIndexOf(".") + 1);
96 HashMap<String, String> env = new HashMap<>();
97 switch(tzname) {
98 case "PST":
99 env.put("TZ", "US/Pacific");
100 break;
101 case "IST":
102 env.put("TZ", "Asia/Calcutta");
103 break;
104 default:
105 throw new RuntimeException("not implemented: " + tzname);
106 }
107 List<String> cmdsList = new ArrayList<>();
108 cmdsList.add(Utils.getUnpack200Cmd());
109 cmdsList.add(packFile.getName());
110 cmdsList.add(outFile.getName());
132 JarFile jf2 = null;
133 try {
134 jf1 = new JarFile(f1);
135 jf2 = new JarFile(f2);
136 System.out.println("Verifying: " + f1 + " and " + f2);
137 for (JarEntry je1 : Collections.list(jf1.entries())) {
138 JarEntry je2 = jf2.getJarEntry(je1.getName());
139 if (je1.getTime() != je2.getTime()) {
140 System.out.println("Error:");
141 System.out.println(" expected:" + jf1.getName() + ":"
142 + je1.getName() + ":" + je1.getTime());
143 System.out.println(" obtained:" + jf2.getName() + ":"
144 + je2.getName() + ":" + je2.getTime());
145 errors++;
146 }
147 }
148 } finally {
149 Utils.close(jf1);
150 Utils.close(jf2);
151 }
152 Utils.cleanup();
153 if (errors > 0) {
154 throw new RuntimeException("FAIL:" + errors + " error(s) encounted");
155 }
156 }
157 }
|
71 unpackJava(packFile, istFile);
72 verifyJar(goldenFile, istFile);
73 istFile.delete();
74
75 // unpack in some other timezone
76 File pstFile = new File("golden.jar.java.PST");
77 unpackJava(packFile, pstFile);
78 verifyJar(goldenFile, pstFile);
79 pstFile.delete();
80
81 // repeat the test for unpack200 tool.
82 istFile = new File("golden.jar.native.IST");
83 unpackNative(packFile, istFile);
84 verifyJar(goldenFile, istFile);
85 istFile.delete();
86
87 pstFile = new File("golden.jar.native.PST");
88 unpackNative(packFile, pstFile);
89 verifyJar(goldenFile, pstFile);
90 pstFile.delete();
91 Utils.cleanup();
92 }
93
94 static void unpackNative(File packFile, File outFile) {
95 String name = outFile.getName();
96 String tzname = name.substring(name.lastIndexOf(".") + 1);
97 HashMap<String, String> env = new HashMap<>();
98 switch(tzname) {
99 case "PST":
100 env.put("TZ", "US/Pacific");
101 break;
102 case "IST":
103 env.put("TZ", "Asia/Calcutta");
104 break;
105 default:
106 throw new RuntimeException("not implemented: " + tzname);
107 }
108 List<String> cmdsList = new ArrayList<>();
109 cmdsList.add(Utils.getUnpack200Cmd());
110 cmdsList.add(packFile.getName());
111 cmdsList.add(outFile.getName());
133 JarFile jf2 = null;
134 try {
135 jf1 = new JarFile(f1);
136 jf2 = new JarFile(f2);
137 System.out.println("Verifying: " + f1 + " and " + f2);
138 for (JarEntry je1 : Collections.list(jf1.entries())) {
139 JarEntry je2 = jf2.getJarEntry(je1.getName());
140 if (je1.getTime() != je2.getTime()) {
141 System.out.println("Error:");
142 System.out.println(" expected:" + jf1.getName() + ":"
143 + je1.getName() + ":" + je1.getTime());
144 System.out.println(" obtained:" + jf2.getName() + ":"
145 + je2.getName() + ":" + je2.getTime());
146 errors++;
147 }
148 }
149 } finally {
150 Utils.close(jf1);
151 Utils.close(jf2);
152 }
153 if (errors > 0) {
154 throw new RuntimeException("FAIL:" + errors + " error(s) encounted");
155 }
156 }
157 }
|