< prev index next >

test/java/awt/FontClass/CreateFont/fileaccess/FontFile.java

Print this page

        

*** 23,45 **** /* * @test * @bug 6652929 * @summary verify handling of File.getPath() */ import java.awt.*; import java.io.*; public class FontFile { public static void main(String[] args) throws Exception { String sep = System.getProperty("file.separator"); String fname = ".." + sep + "A.ttf"; ! String dir = System.getProperty("test.src"); if (dir != null) { fname = dir + sep + fname; } final String name = fname; System.out.println("Will try to access " + name); if (!(new File(name)).canRead()) { System.out.println("File not available : can't run test"); return; --- 23,66 ---- /* * @test * @bug 6652929 * @summary verify handling of File.getPath() + * @compile FontFile.java + * @run shell TestFontFile.sh + */ + + /* + * When using jtreg this test needs to be run by shell script, + * since otherwise jtreg reflectively invokes the main method + * and the codebase for the purposes of the security manager + * is that of the jtreg harness, not the codebase (class file location) + * of this program, thus access to read to that location is not available. */ import java.awt.*; import java.io.*; public class FontFile { public static void main(String[] args) throws Exception { String sep = System.getProperty("file.separator"); String fname = ".." + sep + "A.ttf"; ! //String dir = System.getProperty("test.src"); ! String dir = System.getenv("TESTSRC"); if (dir != null) { fname = dir + sep + fname; } + //String classesDir = System.getProperty("test.classes"); + String classesDir = System.getenv("TESTCLASSES"); + System.out.println("classesDir="+classesDir); + String testfile = "somefile"; + if (classesDir != null) { + testfile = classesDir + sep + testfile; + } + final String somefile = testfile; + System.out.println("somefile="+somefile); + System.out.println("userdir="+System.getProperty("user.dir")); final String name = fname; System.out.println("Will try to access " + name); if (!(new File(name)).canRead()) { System.out.println("File not available : can't run test"); return;
*** 64,74 **** @Override public String getPath() { if (read) { return name; } else { read = true; ! return "somefile"; } } @Override public boolean canRead() { return true; } --- 85,95 ---- @Override public String getPath() { if (read) { return name; } else { read = true; ! return somefile; } } @Override public boolean canRead() { return true; }
< prev index next >