Title: [40728] trunk/hudson/plugins/configurationslicing/src: adding slicer wrappers to avoid class loading errors in logs
Revision
40728
Author
jacob_robertson
Date
2012-10-27 08:24:46 -0400 (Sat, 27 Oct 2012)

Log Message

adding slicer wrappers to avoid class loading errors in logs

Modified Paths


Added Paths

Diff

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/ConfigurationSlicing.java (40727 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/ConfigurationSlicing.java	2012-10-27 12:11:10 UTC (rev 40727)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/ConfigurationSlicing.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -2,18 +2,19 @@
 
 import hudson.Extension;
 import hudson.ExtensionList;
-import hudson.model.Hudson;
 import hudson.model.ManagementLink;
 import hudson.model.TopLevelItem;
-import hudson.model.View;
 import hudson.model.ViewGroup;
 import hudson.model.Descriptor.FormException;
+import hudson.model.Hudson;
+import hudson.model.View;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
+import java.util.logging.Logger;
 
 import javax.servlet.ServletException;
 
@@ -23,6 +24,8 @@
 @Extension
 public class ConfigurationSlicing extends ManagementLink {
 
+	private static final Logger LOGGER = Logger.getLogger(ConfigurationSlicing.class.getName());
+	
     @Override
     public String getDescription() {
         return "Configure a single aspect across a group of items, in contrast to the traditional configuration of all aspects of a single item";
@@ -48,7 +51,13 @@
     	List<Slicer> list = new ArrayList<Slicer>();
     	for (Slicer slicer: elist) {
     		if (slicer.isLoaded()) {
+    			if (slicer instanceof SlicerLoader) {
+    				slicer = ((SlicerLoader) slicer).getDelegate();
+    			}
     			list.add(slicer);
+    			LOGGER.info("Loaded: " + slicer.getClass());
+    		} else {
+    			LOGGER.info("NOT Loaded: " + slicer.getClass());
     		}
     	}
     	Collections.sort(list);

Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/SlicerLoader.java (0 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/SlicerLoader.java	                        (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/SlicerLoader.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -0,0 +1,59 @@
+package configurationslicing;
+
+import java.util.List;
+
+/**
+ * Handles the problem with Slicers that have class loading issues.
+ * @author jacob
+ */
+public abstract class SlicerLoader<T, I> implements Slicer<T, I> {
+
+	abstract protected Slicer<T, I> buildDelegateOnConstruction() throws Throwable;
+	
+	private Slicer<T, I> delegate;
+
+	public SlicerLoader() {
+		try {
+			delegate = buildDelegateOnConstruction();
+		} catch (Throwable t) {
+			delegate = null;
+		}
+	}
+
+	public boolean isLoaded() {
+		return delegate != null && delegate.isLoaded();
+	}
+
+	public Slicer<T, I> getDelegate() {
+		return delegate;
+	}
+
+	public int compareTo(Slicer<UnorderedStringSlice<I>, I> o) {
+		return 0;
+	}
+
+	public String getName() {
+		return null;
+	}
+
+	public String getUrl() {
+		return null;
+	}
+
+	public List<I> getWorkDomain() {
+		return null;
+	}
+
+	public T getInitialAccumulator() {
+		return null;
+	}
+
+	public UnorderedStringSlice<I> accumulate(UnorderedStringSlice<I> t, I i) {
+		return null;
+	}
+
+	public boolean transform(UnorderedStringSlice<I> t, I i) {
+		return false;
+	}
+	
+}
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/SlicerLoader.java
___________________________________________________________________

Added: svn:mime-type

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/UnorderedStringSlicer.java (40727 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/UnorderedStringSlicer.java	2012-10-27 12:11:10 UTC (rev 40727)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/UnorderedStringSlicer.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -46,6 +46,9 @@
     public UnorderedStringSlice<I> getInitialAccumulator() {
         return new UnorderedStringSlice<I>(spec);
     }
+    public UnorderedStringSlicerSpec<I> getSpec() {
+    	return spec;
+    }
     /**
      * Override this with different behavior if needed.
      */

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteJythonSlicer.java (40727 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteJythonSlicer.java	2012-10-27 12:11:10 UTC (rev 40727)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteJythonSlicer.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -1,6 +1,5 @@
 package configurationslicing.executeshell;
 
-import hudson.Extension;
 import hudson.model.Descriptor;
 import hudson.tasks.Builder;
 import hudson.util.DescribableList;
@@ -17,7 +16,6 @@
  *
  * @author Jacob Robertson
  */
-@Extension
 public class ExecuteJythonSlicer extends AbstractBuildCommandSlicer<Jython> {
 
     public ExecuteJythonSlicer() {

Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteJythonSlicerWrapper.java (0 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteJythonSlicerWrapper.java	                        (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteJythonSlicerWrapper.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -0,0 +1,14 @@
+package configurationslicing.executeshell;
+
+import hudson.Extension;
+import hudson.model.AbstractProject;
+import configurationslicing.Slicer;
+import configurationslicing.SlicerLoader;
+import configurationslicing.UnorderedStringSlice;
+
+@Extension
+public class ExecuteJythonSlicerWrapper extends SlicerLoader<UnorderedStringSlice<AbstractProject<?, ?>>, AbstractProject<?, ?>> {
+	protected Slicer<UnorderedStringSlice<AbstractProject<?, ?>>, AbstractProject<?, ?>> buildDelegateOnConstruction() throws Throwable {
+		return new ExecuteJythonSlicer();
+	}
+}
\ No newline at end of file
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteJythonSlicerWrapper.java
___________________________________________________________________

Added: svn:mime-type

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecutePythonSlicer.java (40727 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecutePythonSlicer.java	2012-10-27 12:11:10 UTC (rev 40727)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecutePythonSlicer.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -1,6 +1,5 @@
 package configurationslicing.executeshell;
 
-import hudson.Extension;
 import hudson.model.Descriptor;
 import hudson.model.Descriptor.FormException;
 import hudson.plugins.python.Python;
@@ -20,7 +19,6 @@
  *
  * @author Jacob Robertson
  */
-@Extension
 public class ExecutePythonSlicer extends AbstractBuildCommandSlicer<Python> {
 
     public ExecutePythonSlicer() {
@@ -42,7 +40,7 @@
         public String getUrl() {
             return "executepythonslice";
         }
-        @SuppressWarnings("unchecked")
+        @SuppressWarnings({ "rawtypes" })
 		@Override
         public Python createBuilder(String command, List<Python> existingBuilders, Python oldBuilder) {
         	Python python = null;

Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecutePythonSlicerWrapper.java (0 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecutePythonSlicerWrapper.java	                        (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecutePythonSlicerWrapper.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -0,0 +1,14 @@
+package configurationslicing.executeshell;
+
+import hudson.Extension;
+import hudson.model.AbstractProject;
+import configurationslicing.Slicer;
+import configurationslicing.SlicerLoader;
+import configurationslicing.UnorderedStringSlice;
+
+@Extension
+public class ExecutePythonSlicerWrapper extends SlicerLoader<UnorderedStringSlice<AbstractProject<?, ?>>, AbstractProject<?, ?>> {
+	protected Slicer<UnorderedStringSlice<AbstractProject<?, ?>>, AbstractProject<?, ?>> buildDelegateOnConstruction() throws Throwable {
+		return new ExecutePythonSlicer();
+	}
+}
\ No newline at end of file
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecutePythonSlicerWrapper.java
___________________________________________________________________

Added: svn:mime-type

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/prioritysorter/PrioritySorterSlicer.java (40727 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/prioritysorter/PrioritySorterSlicer.java	2012-10-27 12:11:10 UTC (rev 40727)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/prioritysorter/PrioritySorterSlicer.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -1,9 +1,8 @@
 package configurationslicing.prioritysorter;
 
-import hudson.Extension;
+import hudson.model.JobProperty;
 import hudson.model.Hudson;
 import hudson.model.Job;
-import hudson.model.JobProperty;
 import hudson.queueSorter.PrioritySorterJobProperty;
 
 import java.io.IOException;
@@ -15,7 +14,6 @@
 /**
  * @author jacob_robertson
  */
-@Extension
 public class PrioritySorterSlicer extends UnorderedStringSlicer<Job<?,?>>{
 
     public PrioritySorterSlicer() {

Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/prioritysorter/PrioritySorterSlicerWrapper.java (0 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/prioritysorter/PrioritySorterSlicerWrapper.java	                        (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/prioritysorter/PrioritySorterSlicerWrapper.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -0,0 +1,14 @@
+package configurationslicing.prioritysorter;
+
+import hudson.Extension;
+import hudson.model.Job;
+import configurationslicing.Slicer;
+import configurationslicing.SlicerLoader;
+import configurationslicing.UnorderedStringSlice;
+
+@Extension
+public class PrioritySorterSlicerWrapper extends SlicerLoader<UnorderedStringSlice<Job<?, ?>>, Job<?, ?>> {
+	protected Slicer<UnorderedStringSlice<Job<?, ?>>, Job<?, ?>> buildDelegateOnConstruction() throws Throwable {
+		return new PrioritySorterSlicer();
+	}
+}
\ No newline at end of file
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/prioritysorter/PrioritySorterSlicerWrapper.java
___________________________________________________________________

Added: svn:mime-type

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GradleSlicer.java (40727 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GradleSlicer.java	2012-10-27 12:11:10 UTC (rev 40727)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GradleSlicer.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -1,6 +1,5 @@
 package configurationslicing.tools;
 
-import hudson.Extension;
 import hudson.plugins.gradle.Gradle;
 import hudson.plugins.gradle.Gradle.DescriptorImpl;
 import hudson.tasks.Builder;
@@ -9,54 +8,56 @@
 /**
  * @author Maarten Dirkse
  */
-@Extension
 public class GradleSlicer extends AbstractToolSlicer {
 
-  public GradleSlicer() {
-    super(new GradleSlicerSpec());
-  }
+	public GradleSlicer() {
+		super(new GradleSlicerSpec());
+	}
 
-  @Override
-  protected Class< ? extends Builder> getPluginClass() {
-    return Gradle.class;
-  }
+	@Override
+	protected Class<? extends Builder> getPluginClass() {
+		return Gradle.class;
+	}
 
-  public static class GradleSlicerSpec extends AbstractToolSlicerSpec {
-    @Override
-    public String getDefaultValueString() {
-      return "(Default)";
-    }
+	public static class GradleSlicerSpec extends AbstractToolSlicerSpec {
+		@Override
+		public String getDefaultValueString() {
+			return "(Default)";
+		}
 
-    @Override
-    public String getName() {
-      return "Gradle version per project";
-    }
+		@Override
+		public String getName() {
+			return "Gradle version per project";
+		}
 
-    @Override
-    public String getUrl() {
-      return "projectgradle";
-    }
+		@Override
+		public String getUrl() {
+			return "projectgradle";
+		}
 
-    @Override
-    protected Class< ? extends Builder> getBuilderClass() {
-      return Gradle.class;
-    }
+		@Override
+		protected Class<? extends Builder> getBuilderClass() {
+			return Gradle.class;
+		}
 
-    @Override
-    protected ToolInstallation[] getToolInstallations() {
-      return new DescriptorImpl().getInstallations();
-    }
+		@Override
+		protected ToolInstallation[] getToolInstallations() {
+			return new DescriptorImpl().getInstallations();
+		}
 
-    @Override
-    protected Builder getNewBuilder(Builder oldBuilder, String toolInstallationName) {
-      Gradle oldGradle = (Gradle) oldBuilder;
-      return new Gradle(oldGradle.getDescription(), oldGradle.getSwitches(), oldGradle.getTasks(), oldGradle.getRootBuildScriptDir(),
-          oldGradle.getBuildFile(), toolInstallationName, true);
-    }
+		@Override
+		protected Builder getNewBuilder(Builder oldBuilder,
+				String toolInstallationName) {
+			Gradle oldGradle = (Gradle) oldBuilder;
+			return new Gradle(oldGradle.getDescription(),
+					oldGradle.getSwitches(), oldGradle.getTasks(),
+					oldGradle.getRootBuildScriptDir(),
+					oldGradle.getBuildFile(), toolInstallationName, true);
+		}
 
-    @Override
-    protected String getToolName(Builder builder) {
-      return ((Gradle) builder).getGradleName();
-    }
-  }
+		@Override
+		protected String getToolName(Builder builder) {
+			return ((Gradle) builder).getGradleName();
+		}
+	}
 }
\ No newline at end of file

Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GradleSlicerWrapper.java (0 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GradleSlicerWrapper.java	                        (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GradleSlicerWrapper.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -0,0 +1,14 @@
+package configurationslicing.tools;
+
+import hudson.Extension;
+import hudson.model.AbstractProject;
+import configurationslicing.Slicer;
+import configurationslicing.SlicerLoader;
+import configurationslicing.UnorderedStringSlice;
+
+@Extension
+public class GradleSlicerWrapper extends SlicerLoader<UnorderedStringSlice<AbstractProject<?, ?>>, AbstractProject<?, ?>> {
+	protected Slicer<UnorderedStringSlice<AbstractProject<?, ?>>, AbstractProject<?, ?>> buildDelegateOnConstruction() throws Throwable {
+		return new GradleSlicer();
+	}
+}
\ No newline at end of file
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GradleSlicerWrapper.java
___________________________________________________________________

Added: svn:mime-type

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GroovySlicer.java (40727 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GroovySlicer.java	2012-10-27 12:11:10 UTC (rev 40727)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GroovySlicer.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -1,6 +1,5 @@
 package configurationslicing.tools;
 
-import hudson.Extension;
 import hudson.plugins.groovy.Groovy;
 import hudson.tasks.Builder;
 import hudson.tools.ToolInstallation;
@@ -8,7 +7,6 @@
 /**
  * @author Maarten Dirkse
  */
-@Extension
 public class GroovySlicer extends AbstractToolSlicer {
 
   public GroovySlicer() {

Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GroovySlicerWrapper.java (0 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GroovySlicerWrapper.java	                        (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GroovySlicerWrapper.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -0,0 +1,14 @@
+package configurationslicing.tools;
+
+import hudson.Extension;
+import hudson.model.AbstractProject;
+import configurationslicing.Slicer;
+import configurationslicing.SlicerLoader;
+import configurationslicing.UnorderedStringSlice;
+
+@Extension
+public class GroovySlicerWrapper extends SlicerLoader<UnorderedStringSlice<AbstractProject<?, ?>>, AbstractProject<?, ?>> {
+	protected Slicer<UnorderedStringSlice<AbstractProject<?, ?>>, AbstractProject<?, ?>> buildDelegateOnConstruction() throws Throwable {
+		return new GroovySlicer();
+	}
+}
\ No newline at end of file
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/tools/GroovySlicerWrapper.java
___________________________________________________________________

Added: svn:mime-type

Added: trunk/hudson/plugins/configurationslicing/src/test/it/build-timeout-1.10/pom.xml (0 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/test/it/build-timeout-1.10/pom.xml	                        (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/test/it/build-timeout-1.10/pom.xml	2012-10-27 12:24:46 UTC (rev 40728)
@@ -0,0 +1,19 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>org.jvnet.hudson.plugins</groupId>
+	<artifactId>configurationslicing-it-buildtimeoutslicer110</artifactId>
+	<version>1.34-SNAPSHOT</version>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.jenkins-ci.plugins</groupId>
+			<artifactId>build-timeout</artifactId>
+			<version>1.10</version>
+			<scope>compile</scope>
+			<optional>true</optional>
+		</dependency>
+	</dependencies>
+
+</project>
Property changes on: trunk/hudson/plugins/configurationslicing/src/test/it/build-timeout-1.10/pom.xml
___________________________________________________________________

Added: svn:mime-type

Added: trunk/hudson/plugins/configurationslicing/src/test/it/build-timeout-1.10/src/test/java/configurationslicing/BuildTimeoutSlicerTest.java (0 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/test/it/build-timeout-1.10/src/test/java/configurationslicing/BuildTimeoutSlicerTest.java	                        (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/test/it/build-timeout-1.10/src/test/java/configurationslicing/BuildTimeoutSlicerTest.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -0,0 +1,23 @@
+package configurationslicing;
+
+import configurationslicing.buildtimeout.BuildTimeoutSlicer;
+import hudson.plugins.build_timeout.BuildTimeoutWrapper;
+import junit.framework.TestCase;
+
+public class BuildTimeoutSlicerTest extends TestCase {
+
+	int timeoutMinutes = 123; 
+	boolean failBuild = true;
+	
+	public void testNewBuildTimeoutWrapper() {
+		BuildTimeoutWrapper wrapper = BuildTimeoutSlicer.BuildTimeoutSliceSpec.newBuildTimeoutWrapper(timeoutMinutes, failBuild, "absolute");
+		assertEquals(timeoutMinutes, wrapper.timeoutMinutes);
+		assertEquals(failBuild, wrapper.failBuild);
+	}
+	public void testBuildTimeoutWrapperConstructor() {
+		BuildTimeoutWrapper wrapper = new BuildTimeoutWrapper(timeoutMinutes, failBuild, false, 1, 1, "");
+		assertEquals(timeoutMinutes, wrapper.timeoutMinutes);
+		assertEquals(failBuild, wrapper.failBuild);
+	}
+	
+}
Property changes on: trunk/hudson/plugins/configurationslicing/src/test/it/build-timeout-1.10/src/test/java/configurationslicing/BuildTimeoutSlicerTest.java
___________________________________________________________________

Added: svn:mime-type

Added: trunk/hudson/plugins/configurationslicing/src/test/it/pom.xml (0 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/test/it/pom.xml	                        (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/test/it/pom.xml	2012-10-27 12:24:46 UTC (rev 40728)
@@ -0,0 +1,31 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	
+	<modelVersion>4.0.0</modelVersion>
+	
+	<groupId>org.jvnet.hudson.plugins</groupId>
+	<artifactId>configurationslicing-it</artifactId>
+	<version>1.34-SNAPSHOT</version>
+	<packaging>pom</packaging>
+	
+	<modules>
+	</modules>
+<!-- 	
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.jvnet.hudson.plugins</groupId>
+		<artifactId>plugin</artifactId>
+		<version>1.395</version>
+	</parent>
+
+	<groupId>org.jvnet.hudson.plugins</groupId>
+	<artifactId>configurationslicing-it</artifactId>
+	<version>1.34-SNAPSHOT</version>
+	<packaging>pom</packaging>
+
+	<modules>
+		<module>build-timeout-1.10</module>
+	</modules>
+ -->
+</project>
Property changes on: trunk/hudson/plugins/configurationslicing/src/test/it/pom.xml
___________________________________________________________________

Added: svn:mime-type

Added: trunk/hudson/plugins/configurationslicing/src/test/java/configurationslicing/BuildTimeoutSlicerTest.java (0 => 40728)


--- trunk/hudson/plugins/configurationslicing/src/test/java/configurationslicing/BuildTimeoutSlicerTest.java	                        (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/test/java/configurationslicing/BuildTimeoutSlicerTest.java	2012-10-27 12:24:46 UTC (rev 40728)
@@ -0,0 +1,23 @@
+package configurationslicing;
+
+import configurationslicing.buildtimeout.BuildTimeoutSlicer;
+import hudson.plugins.build_timeout.BuildTimeoutWrapper;
+import junit.framework.TestCase;
+
+public class BuildTimeoutSlicerTest extends TestCase {
+
+	int timeoutMinutes = 123; 
+	boolean failBuild = true;
+	
+	public void testNewBuildTimeoutWrapper() {
+		BuildTimeoutWrapper wrapper = BuildTimeoutSlicer.BuildTimeoutSliceSpec.newBuildTimeoutWrapper(timeoutMinutes, failBuild, "absolute");
+		assertEquals(timeoutMinutes, wrapper.timeoutMinutes);
+		assertEquals(failBuild, wrapper.failBuild);
+	}
+	public void testBuildTimeoutWrapperConstructor() {
+		BuildTimeoutWrapper wrapper = new BuildTimeoutWrapper(timeoutMinutes, failBuild);
+		assertEquals(timeoutMinutes, wrapper.timeoutMinutes);
+		assertEquals(failBuild, wrapper.failBuild);
+	}
+	
+}
Property changes on: trunk/hudson/plugins/configurationslicing/src/test/java/configurationslicing/BuildTimeoutSlicerTest.java
___________________________________________________________________

Added: svn:mime-type

Reply via email to