< prev index next >

test/jdk/tools/pack200/PackageVersionTest.java

Print this page




  43 
  44 public class PackageVersionTest {
  45     private static final File  javaHome = new File(System.getProperty("java.home"));
  46 
  47     public final static int JAVA5_PACKAGE_MAJOR_VERSION = 150;
  48     public final static int JAVA5_PACKAGE_MINOR_VERSION = 7;
  49 
  50     public final static int JAVA6_PACKAGE_MAJOR_VERSION = 160;
  51     public final static int JAVA6_PACKAGE_MINOR_VERSION = 1;
  52 
  53     public final static int JAVA7_PACKAGE_MAJOR_VERSION = 170;
  54     public final static int JAVA7_PACKAGE_MINOR_VERSION = 1;
  55 
  56     public static void main(String... args) throws IOException {
  57         File out = new File("test.pack");
  58         createClassFile("Test6");
  59         createClassFile("Test7");
  60 
  61         verify6991164();
  62 
  63         verifyPack("Test6.class", JAVA6_PACKAGE_MAJOR_VERSION,
  64                 JAVA6_PACKAGE_MINOR_VERSION);
  65 
  66         // a jar file devoid of indy classes must generate 160.1 package file
  67         verifyPack("Test7.class", JAVA6_PACKAGE_MAJOR_VERSION,
  68                 JAVA6_PACKAGE_MINOR_VERSION);
  69 
  70         // test for resource file, ie. no class files
  71         verifyPack("Test6.java", JAVA5_PACKAGE_MAJOR_VERSION,
  72                 JAVA5_PACKAGE_MINOR_VERSION);
  73         Utils.cleanup();
  74     }
  75 
  76     static void verify6991164() {
  77         Unpacker unpacker = Pack200.newUnpacker();
  78         String versionStr = unpacker.toString();
  79         String expected = "Pack200, Vendor: " +
  80                 System.getProperty("java.vendor") + ", Version: " +
  81                 JAVA7_PACKAGE_MAJOR_VERSION + "." + JAVA7_PACKAGE_MINOR_VERSION;
  82         if (!versionStr.equals(expected)) {
  83             System.out.println("Expected: " + expected);
  84             System.out.println("Obtained: " + versionStr);
  85             throw new RuntimeException("did not get expected string " + expected);
  86         }
  87     }
  88 
  89     static void createClassFile(String name) {
  90         createJavaFile(name);
  91         String target = name.substring(name.length() - 1);
  92         String javacCmds[] = {
  93             "-source",
  94             "6",
  95             "-target",
  96             name.substring(name.length() - 1),

  97             name + ".java"
  98         };
  99         Utils.compiler(javacCmds);
 100     }
 101 
 102     static void createJavaFile(String name) {
 103         PrintStream ps = null;
 104         FileOutputStream fos = null;
 105         File outputFile = new File(name + ".java");
 106         outputFile.delete();
 107         try {
 108             fos = new FileOutputStream(outputFile);
 109             ps = new PrintStream(fos);
 110             ps.format("public class %s {}", name);
 111         } catch (IOException ioe) {
 112             throw new RuntimeException("creation of test file failed");
 113         } finally {
 114             Utils.close(ps);
 115             Utils.close(fos);
 116         }




  43 
  44 public class PackageVersionTest {
  45     private static final File  javaHome = new File(System.getProperty("java.home"));
  46 
  47     public final static int JAVA5_PACKAGE_MAJOR_VERSION = 150;
  48     public final static int JAVA5_PACKAGE_MINOR_VERSION = 7;
  49 
  50     public final static int JAVA6_PACKAGE_MAJOR_VERSION = 160;
  51     public final static int JAVA6_PACKAGE_MINOR_VERSION = 1;
  52 
  53     public final static int JAVA7_PACKAGE_MAJOR_VERSION = 170;
  54     public final static int JAVA7_PACKAGE_MINOR_VERSION = 1;
  55 
  56     public static void main(String... args) throws IOException {
  57         File out = new File("test.pack");
  58         createClassFile("Test6");
  59         createClassFile("Test7");
  60 
  61         verify6991164();
  62 
  63         //verifyPack("Test6.class", JAVA6_PACKAGE_MAJOR_VERSION,
  64         //        JAVA6_PACKAGE_MINOR_VERSION);
  65 
  66         // a jar file devoid of indy classes must generate 160.1 package file
  67         verifyPack("Test7.class", JAVA6_PACKAGE_MAJOR_VERSION,
  68                 JAVA6_PACKAGE_MINOR_VERSION);
  69 
  70         // test for resource file, ie. no class files
  71         verifyPack("Test6.java", JAVA5_PACKAGE_MAJOR_VERSION,
  72                 JAVA5_PACKAGE_MINOR_VERSION);
  73         Utils.cleanup();
  74     }
  75 
  76     static void verify6991164() {
  77         Unpacker unpacker = Pack200.newUnpacker();
  78         String versionStr = unpacker.toString();
  79         String expected = "Pack200, Vendor: " +
  80                 System.getProperty("java.vendor") + ", Version: " +
  81                 JAVA7_PACKAGE_MAJOR_VERSION + "." + JAVA7_PACKAGE_MINOR_VERSION;
  82         if (!versionStr.equals(expected)) {
  83             System.out.println("Expected: " + expected);
  84             System.out.println("Obtained: " + versionStr);
  85             throw new RuntimeException("did not get expected string " + expected);
  86         }
  87     }
  88 
  89     static void createClassFile(String name) {
  90         createJavaFile(name);
  91         String target = name.substring(name.length() - 1);
  92         String javacCmds[] = {
  93             "-source",
  94             "7",
  95             "-target",
  96             "7",
  97             "-Xlint:-options",
  98             name + ".java"
  99         };
 100         Utils.compiler(javacCmds);
 101     }
 102 
 103     static void createJavaFile(String name) {
 104         PrintStream ps = null;
 105         FileOutputStream fos = null;
 106         File outputFile = new File(name + ".java");
 107         outputFile.delete();
 108         try {
 109             fos = new FileOutputStream(outputFile);
 110             ps = new PrintStream(fos);
 111             ps.format("public class %s {}", name);
 112         } catch (IOException ioe) {
 113             throw new RuntimeException("creation of test file failed");
 114         } finally {
 115             Utils.close(ps);
 116             Utils.close(fos);
 117         }


< prev index next >