test/tools/pack200/TimeStamp.java

Print this page




  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 }