--- old/test/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/Bug6555001.java 2016-07-21 20:34:25.606027778 -0700 +++ new/test/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/Bug6555001.java 2016-07-21 20:34:25.487027778 -0700 @@ -22,6 +22,7 @@ */ package stream.XMLEventReaderTest; +import java.io.FilePermission; import java.io.StringReader; import javax.xml.stream.XMLEventReader; @@ -29,76 +30,85 @@ import javax.xml.stream.events.EntityReference; import javax.xml.stream.events.XMLEvent; +import jaxp.library.JAXPTestUtilities; + import org.testng.Assert; +import org.testng.annotations.Listeners; import org.testng.annotations.Test; /* * @bug 6555001 * @summary Test StAX parser replaces the entity reference as setting. */ +@Listeners({ jaxp.library.BasePolicy.class }) public class Bug6555001 { - private static final String XML = "" + "'>" + "]>" - + "&def;&undef;"; + private static final String XML = "" + + "'>" + "]>" + "&def;&undef;"; @Test public void testReplacing() throws Exception { - XMLInputFactory factory = XMLInputFactory.newInstance(); - factory.setProperty("javax.xml.stream.isReplacingEntityReferences", true); - - StringReader sr = new StringReader(XML); - XMLEventReader reader = factory.createXMLEventReader(sr); - - boolean sawUndef = false; - boolean sawDef = false; - - while (reader.hasNext()) { - XMLEvent event = reader.nextEvent(); - // System.out.println("Event: " + event); - if (event.isEntityReference()) { - EntityReference ref = (EntityReference) event; - if ("def".equals(ref.getName())) { - sawDef = true; - } else if ("undef".equals(ref.getName())) { - sawUndef = true; - } else { - throw new IllegalArgumentException("Unexpected entity name"); + JAXPTestUtilities.tryRunWithTmpPermission(() -> { + XMLInputFactory factory = XMLInputFactory.newInstance(); + factory.setProperty("javax.xml.stream.isReplacingEntityReferences", true); + + StringReader sr = new StringReader(XML); + XMLEventReader reader = factory.createXMLEventReader(sr); + + boolean sawUndef = false; + boolean sawDef = false; + + while (reader.hasNext()) { + XMLEvent event = reader.nextEvent(); + // System.out.println("Event: " + event); + if (event.isEntityReference()) { + EntityReference ref = (EntityReference) event; + if ("def".equals(ref.getName())) { + sawDef = true; + } else if ("undef".equals(ref.getName())) { + sawUndef = true; + } else { + throw new IllegalArgumentException("Unexpected entity name"); + } } } - } - Assert.assertEquals(false, sawDef); - Assert.assertEquals(true, sawUndef); - reader.close(); + Assert.assertEquals(false, sawDef); + Assert.assertEquals(true, sawUndef); + reader.close(); + }, new FilePermission("/tmp/this/does/not/exist/but/that/is/ok", "read")); } @Test public void testNotReplacing() throws Exception { - XMLInputFactory factory = XMLInputFactory.newInstance(); - factory.setProperty("javax.xml.stream.isReplacingEntityReferences", false); - - StringReader sr = new StringReader(XML); - XMLEventReader reader = factory.createXMLEventReader(sr); - - boolean sawUndef = false; - boolean sawDef = false; - - while (reader.hasNext()) { - XMLEvent event = reader.nextEvent(); - // System.out.println("Event: " + event); - if (event.isEntityReference()) { - EntityReference ref = (EntityReference) event; - if ("def".equals(ref.getName())) { - sawDef = true; - } else if ("undef".equals(ref.getName())) { - sawUndef = true; - } else { - throw new IllegalArgumentException("Unexpected entity name"); + JAXPTestUtilities.tryRunWithTmpPermission(() -> { + XMLInputFactory factory = XMLInputFactory.newInstance(); + factory.setProperty("javax.xml.stream.isReplacingEntityReferences", false); + + StringReader sr = new StringReader(XML); + XMLEventReader reader = factory.createXMLEventReader(sr); + + boolean sawUndef = false; + boolean sawDef = false; + + while (reader.hasNext()) { + XMLEvent event = reader.nextEvent(); + // System.out.println("Event: " + event); + if (event.isEntityReference()) { + EntityReference ref = (EntityReference) event; + if ("def".equals(ref.getName())) { + sawDef = true; + } else if ("undef".equals(ref.getName())) { + sawUndef = true; + } else { + throw new IllegalArgumentException("Unexpected entity name"); + } } } - } - Assert.assertEquals(true, sawDef); - Assert.assertEquals(true, sawUndef); - reader.close(); + Assert.assertEquals(true, sawDef); + Assert.assertEquals(true, sawUndef); + reader.close(); + }, new FilePermission("/tmp/this/does/not/exist/but/that/is/ok", "read")); } }