< prev index next >
test/java/awt/FontClass/CreateFont/fileaccess/FontFile.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 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 >