aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java192
1 files changed, 0 insertions, 192 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java
deleted file mode 100644
index b7427606..00000000
--- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.tools.ant.taskdefs;
-
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-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.Project;
-import org.apache.tools.ant.ProjectHelper;
-import org.apache.tools.ant.util.FileUtils;
-import org.junit.Assume;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
-
-/**
- * Unit test for the <exec> task.
- */
-public class ExecTaskTest {
-
- @Rule
- public BuildFileRule buildRule = new BuildFileRule();
-
- private static final String BUILD_PATH = "src/etc/testcases/taskdefs/exec/";
- private static final String BUILD_FILE = BUILD_PATH + "exec.xml";
- private static final int TIME_TO_WAIT = 1;
- /** maximum time allowed for the build in milliseconds */
- private static final int MAX_BUILD_TIME = 6000;
- private static final int SECURITY_MARGIN = 4000; // wait 4 second extras
- // the test failed with 100 ms of margin on cvs.apache.org on August 1st, 2003
- // the test randomly failed with 3 s of margin on Windows Jenkins slaves on during July 2014
-
- /** Utilities used for file operations */
- private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
-
- private File logFile;
- private MonitoredBuild myBuild = null;
- volatile private boolean buildFinished = false;
-
-
- @Before
- public void setUp() {
- buildRule.configureProject(BUILD_FILE);
- }
-
- @Test
- public void testspawn() throws InterruptedException {
- buildRule.getProject().executeTarget("setUp");
- Assume.assumeNotNull(buildRule.getProject().getProperty("test.can.run"));
- myBuild = new MonitoredBuild(new File(System.getProperty("root"), BUILD_FILE), "spawn");
- logFile = FILE_UTILS.createTempFile("spawn", "log", new File(buildRule.getProject().getProperty("output")),
- false, false);
- // this is guaranteed by FileUtils#createTempFile
- assertTrue("log file not existing", !logFile.exists());
- // make the spawned process run 1 seconds
- myBuild.setTimeToWait(TIME_TO_WAIT);
- myBuild.setLogFile(logFile.getAbsolutePath());
- myBuild.addBuildListener(new MonitoredBuildListener());
- myBuild.start();
- GregorianCalendar startwait = new GregorianCalendar();
- // this loop runs parallel to the build
- while (!buildFinished) {
- Thread.sleep(10);
- GregorianCalendar now = new GregorianCalendar();
- // security
- if (now.getTime().getTime() - startwait.getTime().getTime() > MAX_BUILD_TIME) {
- System.out.println("aborting wait, too long "
- + (now.getTime().getTime() - startwait.getTime().getTime())
- + "milliseconds");
- break;
- }
- }
- // now wait until the spawned process is finished
- Thread.sleep((TIME_TO_WAIT) * 1000 + SECURITY_MARGIN);
- // time of the build in milli seconds
- long elapsed = myBuild.getTimeElapsed();
- assertTrue("we waited more than the process lasted",
- TIME_TO_WAIT * 1000 + SECURITY_MARGIN > elapsed);
- logFile = new File(logFile.getAbsolutePath());
- assertTrue("log file found after spawn", logFile.exists());
- }
-
- @Test
- @Ignore("#50507 - fails at least on Linux")
- /* TODO #50507 - fails at least on Linux */
- public void testOutAndErr() {
- buildRule.getProject().executeTarget("test-out-and-err");
- }
-
- private static class MonitoredBuild implements Runnable {
- private Thread worker;
- private File myBuildFile = null;
- private String target = null;
- private Project project = null;
- private GregorianCalendar timeStarted = null;
- private GregorianCalendar timeFinished = null;
-
- public void setLogFile(String logFile) {
- project.setProperty("logFile", logFile);
- }
-
- public void setTimeToWait(int timeToWait) {
- project.setProperty("timeToWait", Long.toString(timeToWait));
- }
-
- public void addBuildListener(BuildListener bl) {
- project.addBuildListener(bl);
- }
-
- public MonitoredBuild(File buildFile, String target) {
- myBuildFile = buildFile;
- this.target = target;
- project = new Project();
- project = new Project();
- project.init();
- project.setUserProperty("ant.file", myBuildFile.getAbsolutePath());
- ProjectHelper.configureProject(project, myBuildFile);
- }
-
- /**
- *
- * @return time in millis of the build
- */
- public long getTimeElapsed() {
- return timeFinished.getTime().getTime() - timeStarted.getTime().getTime();
- }
-
- public void start() {
- worker = new Thread(this, myBuildFile.toString() + "/" + target);
- worker.start();
- }
-
- public void run() {
- startProject();
- }
-
- private void startProject() {
- timeStarted = new GregorianCalendar();
- project.executeTarget(target);
- timeFinished = new GregorianCalendar();
- }
- }
-
- private class MonitoredBuildListener implements BuildListener {
- public void buildStarted(BuildEvent event) {
- }
-
- public void buildFinished(BuildEvent event) {
- }
-
- public void targetStarted(BuildEvent event) {
- }
-
- public void targetFinished(BuildEvent event) {
- if (event.getTarget().getName().equals("spawn")) {
- buildFinished = true;
- }
- }
-
- public void taskStarted(BuildEvent event) {
- }
-
- public void taskFinished(BuildEvent event) {
- }
-
- public void messageLogged(BuildEvent event) {
- }
- }
-
-}