Search in sources :

Example 16 with Java

use of org.apache.tools.ant.taskdefs.Java in project elephant-bird by twitter.

the class TestProtobufWritable method testStableHashcodeAcrossJVMs.

@Test
public void testStableHashcodeAcrossJVMs() throws IOException {
    int expectedHashCode = referenceAbWritable.hashCode();
    Java otherJvm = new Java();
    otherJvm.setNewenvironment(true);
    otherJvm.setFork(true);
    otherJvm.setProject(new Project());
    otherJvm.setClassname(OtherJvmClass.class.getName());
    for (Map.Entry<String, String> entry : System.getenv().entrySet()) {
        Environment.Variable var = new Environment.Variable();
        var.setKey(entry.getKey());
        var.setValue(entry.getValue());
        otherJvm.addEnv(var);
    }
    for (String prop : System.getProperties().stringPropertyNames()) {
        String propValue = System.getProperty(prop);
        Environment.Variable var = new Environment.Variable();
        var.setKey(prop);
        var.setValue(propValue);
        otherJvm.addSysproperty(var);
    }
    otherJvm.setDir(new File(System.getProperty("java.io.tmpdir")));
    File tmpOut = File.createTempFile("otherJvm", "txt");
    otherJvm.setArgs(tmpOut.getAbsolutePath());
    otherJvm.init();
    otherJvm.executeJava();
    DataInputStream is = new DataInputStream(new FileInputStream(tmpOut));
    assertEquals(expectedHashCode, is.readInt());
    is.close();
}
Also used : Java(org.apache.tools.ant.taskdefs.Java) DataInputStream(java.io.DataInputStream) FileInputStream(java.io.FileInputStream) Project(org.apache.tools.ant.Project) Environment(org.apache.tools.ant.types.Environment) Map(java.util.Map) File(java.io.File) Test(org.junit.Test)

Aggregations

Java (org.apache.tools.ant.taskdefs.Java)16 BuildException (org.apache.tools.ant.BuildException)9 File (java.io.File)7 Path (org.apache.tools.ant.types.Path)7 IOException (java.io.IOException)5 Project (org.apache.tools.ant.Project)5 Environment (org.apache.tools.ant.types.Environment)3 DataInputStream (java.io.DataInputStream)2 FileInputStream (java.io.FileInputStream)2 PrintStream (java.io.PrintStream)2 ArrayList (java.util.ArrayList)2 Map (java.util.Map)2 Scanner (java.util.Scanner)2 DefaultLogger (org.apache.tools.ant.DefaultLogger)2 Test (org.junit.Test)2 StringBufferOutputStream (com.liferay.ide.core.StringBufferOutputStream)1 InputStream (java.io.InputStream)1 JarURLConnection (java.net.JarURLConnection)1 URL (java.net.URL)1 Properties (java.util.Properties)1