Browse Source

Add magic names for tests, run more tests in Surefire

master
Gintas Grigelionis 6 years ago
parent
commit
679a94224d
20 changed files with 120 additions and 40 deletions
  1. +6
    -1
      src/etc/poms/ant-antlr/pom.xml
  2. +7
    -2
      src/etc/poms/ant-imageio/pom.xml
  3. +6
    -1
      src/etc/poms/ant-jai/pom.xml
  4. +6
    -1
      src/etc/poms/ant-jdepend/pom.xml
  5. +36
    -0
      src/main/org/apache/tools/ant/MagicNames.java
  6. +2
    -1
      src/main/org/apache/tools/ant/taskdefs/CallTarget.java
  7. +2
    -1
      src/main/org/apache/tools/ant/taskdefs/condition/AntVersion.java
  8. +7
    -4
      src/tests/junit/org/apache/tools/ant/BuildFileRule.java
  9. +7
    -4
      src/tests/junit/org/apache/tools/ant/BuildFileTest.java
  10. +3
    -2
      src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java
  11. +6
    -4
      src/tests/junit/org/apache/tools/ant/taskdefs/JavacTest.java
  12. +3
    -3
      src/tests/junit/org/apache/tools/ant/types/CommandlineJavaTest.java
  13. +3
    -2
      src/tests/junit/org/apache/tools/ant/types/PathTest.java
  14. +3
    -2
      src/tests/junit/org/apache/tools/ant/types/XMLCatalogTest.java
  15. +4
    -2
      src/tests/junit/org/apache/tools/ant/types/resources/FileResourceTest.java
  16. +11
    -5
      src/tests/junit/org/apache/tools/ant/types/selectors/ModifiedSelectorTest.java
  17. +2
    -2
      src/tests/junit/org/apache/tools/ant/types/selectors/OwnedBySelectorTest.java
  18. +2
    -1
      src/tests/junit/org/apache/tools/ant/util/FileUtilsTest.java
  19. +2
    -1
      src/tests/junit/org/apache/tools/ant/util/LayoutPreservingPropertiesTest.java
  20. +2
    -1
      src/tests/junit/org/apache/tools/ant/util/ReaderInputStreamTest.java

+ 6
- 1
src/etc/poms/ant-antlr/pom.xml View File

@@ -73,7 +73,12 @@
<configuration>
<basedir>../../../..</basedir>
<workingDirectory>../../../..</workingDirectory>
<skipTests>true</skipTests>
<systemProperties>
<property>
<name>ant.test.basedir.ignore</name>
<value>true</value>
</property>
</systemProperties>
</configuration>
</plugin>
</plugins>


+ 7
- 2
src/etc/poms/ant-imageio/pom.xml View File

@@ -65,8 +65,13 @@
<configuration>
<basedir>../../../..</basedir>
<workingDirectory>../../../..</workingDirectory>
<skipTests>true</skipTests>
</configuration>
<systemProperties>
<property>
<name>ant.test.basedir.ignore</name>
<value>true</value>
</property>
</systemProperties>
</configuration>
</plugin>
</plugins>
<sourceDirectory>../../../../src/main</sourceDirectory>


+ 6
- 1
src/etc/poms/ant-jai/pom.xml View File

@@ -84,7 +84,12 @@
<configuration>
<basedir>../../../..</basedir>
<workingDirectory>../../../..</workingDirectory>
<skipTests>true</skipTests>
<systemProperties>
<property>
<name>ant.test.basedir.ignore</name>
<value>true</value>
</property>
</systemProperties>
</configuration>
</plugin>
</plugins>


+ 6
- 1
src/etc/poms/ant-jdepend/pom.xml View File

@@ -71,7 +71,12 @@
<configuration>
<basedir>../../../..</basedir>
<workingDirectory>../../../..</workingDirectory>
<skipTests>true</skipTests>
<systemProperties>
<property>
<name>ant.test.basedir.ignore</name>
<value>true</value>
</property>
</systemProperties>
</configuration>
</plugin>
</plugins>


+ 36
- 0
src/main/org/apache/tools/ant/MagicNames.java View File

@@ -321,5 +321,41 @@ public final class MagicNames {
* @since Ant 1.10.2
*/
public static final String TSTAMP_NOW_ISO = "ant.tstamp.now.iso";

/**
* Magic property that makes unit tests based on BuildFileTest
* or BuildFileRule ignore externally set basedir
* (typically by Surefire/Failsafe)
*
* Value: {@value}
* @since Ant 1.10.6
*/
public static final String TEST_BASEDIR_IGNORE = "ant.test.basedir.ignore";

/**
* Magic property that makes unit tests based on BuildFileTest
* or BuildFileRule use build files in alternative locations
* (relative to "root" directory)
*
* Value: {@value}
* @since Ant 1.10.6
*/
public static final String TEST_ROOT_DIRECTORY = "root";

/**
* Property for ant process ID set in unit tests by BuildFileTest
* or BuildFileRule.
*
* Value: {@value}
*/
public static final String TEST_PROCESS_ID = "ant.processid";

/**
* Property for ant thread name set in unit tests by BuildFileTest
* or BuildFileRule.
*
* Value: {@value}
*/
public static final String TEST_THREAD_NAME = "ant.threadname";
}


+ 2
- 1
src/main/org/apache/tools/ant/taskdefs/CallTarget.java View File

@@ -21,6 +21,7 @@ package org.apache.tools.ant.taskdefs;
import java.io.IOException;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.MagicNames;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.types.PropertySet;

@@ -99,7 +100,7 @@ public class CallTarget extends Task {
"Attribute target or at least one nested target is required.",
getLocation());
}
callee.setAntfile(getProject().getProperty("ant.file"));
callee.setAntfile(getProject().getProperty(MagicNames.ANT_FILE));
callee.setInheritAll(inheritAll);
callee.setInheritRefs(inheritRefs);
callee.execute();


+ 2
- 1
src/main/org/apache/tools/ant/taskdefs/condition/AntVersion.java View File

@@ -18,6 +18,7 @@
package org.apache.tools.ant.taskdefs.condition;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.MagicNames;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.util.DeweyDecimal;
@@ -104,7 +105,7 @@ public class AntVersion extends Task implements Condition {
p.init();
StringBuilder sb = new StringBuilder();
boolean foundFirstDigit = false;
for (char versionChar : p.getProperty("ant.version").toCharArray()) {
for (char versionChar : p.getProperty(MagicNames.ANT_VERSION).toCharArray()) {
if (Character.isDigit(versionChar)) {
sb.append(versionChar);
foundFirstDigit = true;


+ 7
- 4
src/tests/junit/org/apache/tools/ant/BuildFileRule.java View File

@@ -153,11 +153,14 @@ public class BuildFileRule extends ExternalResource {
logBuffer = new StringBuffer();
fullLogBuffer = new StringBuffer();
project = new Project();
if (Boolean.getBoolean(MagicNames.TEST_BASEDIR_IGNORE)) {
System.clearProperty(MagicNames.PROJECT_BASEDIR);
}
project.init();
File antFile = new File(System.getProperty("root"), filename);
project.setProperty("ant.processid", ProcessUtil.getProcessId("<Process>"));
project.setProperty("ant.threadname", Thread.currentThread().getName());
project.setUserProperty("ant.file", antFile.getAbsolutePath());
File antFile = new File(System.getProperty(MagicNames.TEST_ROOT_DIRECTORY), filename);
project.setProperty(MagicNames.TEST_PROCESS_ID, ProcessUtil.getProcessId("<Process>"));
project.setProperty(MagicNames.TEST_THREAD_NAME, Thread.currentThread().getName());
project.setUserProperty(MagicNames.ANT_FILE, antFile.getAbsolutePath());
project.addBuildListener(new AntTestListener(logLevel));
ProjectHelper.configureProject(project, antFile);
}


+ 7
- 4
src/tests/junit/org/apache/tools/ant/BuildFileTest.java View File

@@ -327,12 +327,15 @@ public abstract class BuildFileTest extends TestCase {
logBuffer = new StringBuffer();
fullLogBuffer = new StringBuffer();
project = new Project();
if (Boolean.getBoolean(MagicNames.TEST_BASEDIR_IGNORE)) {
System.clearProperty(MagicNames.PROJECT_BASEDIR);
}
project.init();
File antFile = new File(System.getProperty("root"), filename);
project.setUserProperty("ant.file", antFile.getAbsolutePath());
File antFile = new File(System.getProperty(MagicNames.TEST_ROOT_DIRECTORY), filename);
project.setUserProperty(MagicNames.ANT_FILE, antFile.getAbsolutePath());
// set two new properties to allow to build unique names when running multithreaded tests
project.setProperty("ant.processid", ProcessUtil.getProcessId("<Process>"));
project.setProperty("ant.threadname", Thread.currentThread().getName());
project.setProperty(MagicNames.TEST_PROCESS_ID, ProcessUtil.getProcessId("<Process>"));
project.setProperty(MagicNames.TEST_THREAD_NAME, Thread.currentThread().getName());
project.addBuildListener(new AntTestListener(logLevel));
ProjectHelper.configureProject(project, antFile);
}


+ 3
- 2
src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java View File

@@ -28,6 +28,7 @@ import java.util.GregorianCalendar;
import org.apache.tools.ant.BuildEvent;
import org.apache.tools.ant.BuildFileRule;
import org.apache.tools.ant.BuildListener;
import org.apache.tools.ant.MagicNames;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.ProjectHelper;
import org.apache.tools.ant.util.FileUtils;
@@ -66,7 +67,7 @@ public class ExecTaskTest {
buildRule.getProject().executeTarget("setUp");
assumeNotNull(buildRule.getProject().getProperty("test.can.run"));
MonitoredBuild myBuild = new MonitoredBuild(new File(
buildRule.getProject().getProperty("ant.file")), "spawn");
buildRule.getProject().getProperty(MagicNames.ANT_FILE)), "spawn");
File logFile = FILE_UTILS.createTempFile("spawn", "log",
new File(buildRule.getProject().getProperty("output")), false, false);
// this is guaranteed by FileUtils#createTempFile
@@ -131,7 +132,7 @@ public class ExecTaskTest {
this.target = target;
project = new Project();
project.init();
project.setUserProperty("ant.file", myBuildFile.getAbsolutePath());
project.setUserProperty(MagicNames.ANT_FILE, myBuildFile.getAbsolutePath());
ProjectHelper.configureProject(project, myBuildFile);
}



+ 6
- 4
src/tests/junit/org/apache/tools/ant/taskdefs/JavacTest.java View File

@@ -19,6 +19,8 @@
package org.apache.tools.ant.taskdefs;

import java.io.File;

import org.apache.tools.ant.MagicNames;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.compilers.CompilerAdapter;
import org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory;
@@ -215,13 +217,13 @@ public class JavacTest {

@Test
public void testSourceWithDefault() {
project.setNewProperty("ant.build.javac.source", "1.4");
project.setNewProperty(MagicNames.BUILD_JAVAC_SOURCE, "1.4");
assertEquals("1.4", javac.getSource());
}

@Test
public void testSourceOverridesDefault() {
project.setNewProperty("ant.build.javac.source", "1.4");
project.setNewProperty(MagicNames.BUILD_JAVAC_SOURCE, "1.4");
javac.setSource("1.5");
assertEquals("1.5", javac.getSource());
}
@@ -233,13 +235,13 @@ public class JavacTest {

@Test
public void testTargetWithDefault() {
project.setNewProperty("ant.build.javac.target", "1.4");
project.setNewProperty(MagicNames.BUILD_JAVAC_TARGET, "1.4");
assertEquals("1.4", javac.getTarget());
}

@Test
public void testTargetOverridesDefault() {
project.setNewProperty("ant.build.javac.target", "1.4");
project.setNewProperty(MagicNames.BUILD_JAVAC_TARGET, "1.4");
javac.setTarget("1.5");
assertEquals("1.5", javac.getTarget());
}


+ 3
- 3
src/tests/junit/org/apache/tools/ant/types/CommandlineJavaTest.java View File

@@ -49,8 +49,8 @@ public class CommandlineJavaTest {
@Before
public void setUp() {
project = new Project();
if (System.getProperty("root") != null) {
project.setBasedir(System.getProperty("root"));
if (System.getProperty(MagicNames.TEST_ROOT_DIRECTORY) != null) {
project.setBasedir(System.getProperty(MagicNames.TEST_ROOT_DIRECTORY));
}
project.setProperty("build.sysclasspath", "ignore");
cloneVm = System.getProperty("ant.build.clonevm");
@@ -74,7 +74,7 @@ public class CommandlineJavaTest {
*/
@Test
public void testGetCommandline() throws CloneNotSupportedException {
assertNotNull("Ant home not set", System.getProperty("ant.home"));
assertNotNull("Ant home not set", System.getProperty(MagicNames.ANT_HOME));
c.createArgument().setValue("org.apache.tools.ant.CommandlineJavaTest");
c.setClassname("junit.textui.TestRunner");
c.createVmArgument().setValue("-Djava.compiler=NONE");


+ 3
- 2
src/tests/junit/org/apache/tools/ant/types/PathTest.java View File

@@ -22,6 +22,7 @@ import java.io.File;
import java.util.Locale;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.MagicNames;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.condition.Os;
import org.junit.Before;
@@ -52,8 +53,8 @@ public class PathTest {
@Before
public void setUp() {
project = new Project();
if (System.getProperty("root") != null) {
project.setBasedir(System.getProperty("root"));
if (System.getProperty(MagicNames.TEST_ROOT_DIRECTORY) != null) {
project.setBasedir(System.getProperty(MagicNames.TEST_ROOT_DIRECTORY));
}
p = new Path(project);
}


+ 3
- 2
src/tests/junit/org/apache/tools/ant/types/XMLCatalogTest.java View File

@@ -28,6 +28,7 @@ import javax.xml.transform.TransformerException;
import javax.xml.transform.sax.SAXSource;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.MagicNames;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.util.JAXPUtils;
import org.junit.Before;
@@ -68,8 +69,8 @@ public class XMLCatalogTest {
@Before
public void setUp() {
project = new Project();
if (System.getProperty("root") != null) {
project.setBasedir(System.getProperty("root"));
if (System.getProperty(MagicNames.TEST_ROOT_DIRECTORY) != null) {
project.setBasedir(System.getProperty(MagicNames.TEST_ROOT_DIRECTORY));
}
// This causes XMLCatalog to print out detailed logging
// messages for debugging


+ 4
- 2
src/tests/junit/org/apache/tools/ant/types/resources/FileResourceTest.java View File

@@ -20,6 +20,7 @@ package org.apache.tools.ant.types.resources;
import java.io.File;
import java.io.IOException;

import org.apache.tools.ant.MagicNames;
import org.apache.tools.ant.Project;
import org.junit.Before;
import org.junit.Test;
@@ -36,8 +37,9 @@ public class FileResourceTest {

@Before
public void setUp() throws IOException {
root = (System.getProperty("root") == null) ? new File(".").getCanonicalFile()
: new File(System.getProperty("root"));
root = (System.getProperty(MagicNames.TEST_ROOT_DIRECTORY) == null)
? new File(".").getCanonicalFile()
: new File(System.getProperty(MagicNames.TEST_ROOT_DIRECTORY));
}

@Test


+ 11
- 5
src/tests/junit/org/apache/tools/ant/types/selectors/ModifiedSelectorTest.java View File

@@ -27,6 +27,7 @@ import java.util.Iterator;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.BuildFileRule;
import org.apache.tools.ant.MagicNames;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Target;
import org.apache.tools.ant.Task;
@@ -147,7 +148,8 @@ public class ModifiedSelectorTest {

@Test
public void testCustomClasses() {
assertNotNull("Ant home not set", selectorRule.getProject().getProperty("ant.home"));
assertNotNull("Ant home not set",
selectorRule.getProject().getProperty(MagicNames.ANT_HOME));
BFT bft = new BFT();
bft.setUp();
// don't catch the JUnit exceptions
@@ -554,7 +556,8 @@ public class ModifiedSelectorTest {

@Test
public void testResourceSelectorScenarioSimple() {
assertNotNull("Ant home not set", selectorRule.getProject().getProperty("ant.home"));
assertNotNull("Ant home not set",
selectorRule.getProject().getProperty(MagicNames.ANT_HOME));
BFT bft = new BFT();
bft.doTarget("modifiedselectortest-scenario-resourceSimple");
bft.doTarget("modifiedselectortest-scenario-clean");
@@ -774,19 +777,22 @@ public class ModifiedSelectorTest {

@Test
public void testScenarioCoreSelectorDefaults() {
assertNotNull("Ant home not set", selectorRule.getProject().getProperty("ant.home"));
assertNotNull("Ant home not set",
selectorRule.getProject().getProperty(MagicNames.ANT_HOME));
doScenarioTest("modifiedselectortest-scenario-coreselector-defaults", "cache.properties");
}

@Test
public void testScenarioCoreSelectorSettings() {
assertNotNull("Ant home not set", selectorRule.getProject().getProperty("ant.home"));
assertNotNull("Ant home not set",
selectorRule.getProject().getProperty(MagicNames.ANT_HOME));
doScenarioTest("modifiedselectortest-scenario-coreselector-settings", "core.cache.properties");
}

@Test
public void testScenarioCustomSelectorSettings() {
assertNotNull("Ant home not set", selectorRule.getProject().getProperty("ant.home"));
assertNotNull("Ant home not set",
selectorRule.getProject().getProperty(MagicNames.ANT_HOME));
doScenarioTest("modifiedselectortest-scenario-customselector-settings", "core.cache.properties");
}



+ 2
- 2
src/tests/junit/org/apache/tools/ant/types/selectors/OwnedBySelectorTest.java View File

@@ -45,7 +45,7 @@ public class OwnedBySelectorTest {

private final String SELF = System.getProperty("user.name");

private final String ROOT = "root";
private final String ROOT_USER = "root";

private OwnedBySelector s;

@@ -73,7 +73,7 @@ public class OwnedBySelectorTest {
Path symbolicLink = Files.createSymbolicLink(target.toPath(), TEST_FILE.toPath());

UserPrincipal root = Files.getOwner(symbolicLink);
assertEquals(ROOT, root.getName());
assertEquals(ROOT_USER, root.getName());

UserPrincipal user = Files.getOwner(symbolicLink, LinkOption.NOFOLLOW_LINKS);
assertEquals(SELF, user.getName());


+ 2
- 1
src/tests/junit/org/apache/tools/ant/util/FileUtilsTest.java View File

@@ -23,6 +23,7 @@ import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.MagicNames;
import org.apache.tools.ant.taskdefs.condition.Os;
import org.junit.After;
import org.junit.Before;
@@ -50,7 +51,7 @@ public class FileUtilsTest {
public ExpectedException thrown = ExpectedException.none();

private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
private static final String ROOT = System.getProperty("root");
private static final String ROOT = System.getProperty(MagicNames.TEST_ROOT_DIRECTORY);
private File removeThis;
private String root;



+ 2
- 1
src/tests/junit/org/apache/tools/ant/util/LayoutPreservingPropertiesTest.java View File

@@ -24,6 +24,7 @@ import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;

import org.apache.tools.ant.MagicNames;
import org.junit.Before;
import org.junit.Test;

@@ -35,7 +36,7 @@ import static org.junit.Assert.assertThat;

public class LayoutPreservingPropertiesTest {

private static final String ROOT = System.getProperty("root");
private static final String ROOT = System.getProperty(MagicNames.TEST_ROOT_DIRECTORY);

private LayoutPreservingProperties lpf;



+ 2
- 1
src/tests/junit/org/apache/tools/ant/util/ReaderInputStreamTest.java View File

@@ -17,6 +17,7 @@
*/
package org.apache.tools.ant.util;

import org.apache.tools.ant.MagicNames;
import org.junit.Test;

import java.io.ByteArrayOutputStream;
@@ -33,7 +34,7 @@ import static org.junit.Assert.assertEquals;
*/
public class ReaderInputStreamTest {

private static final String ROOT = System.getProperty("root");
private static final String ROOT = System.getProperty(MagicNames.TEST_ROOT_DIRECTORY);

@Test
public void testSimple() throws Exception {


Loading…
Cancel
Save