/** Fake installation on Unix. */ @Test public void fakeUnixInstall() throws Exception { Assume.assumeFalse("If we're on Windows, don't bother doing this", Functions.isWindows()); File bundle = File.createTempFile("fake-jdk-by-hudson", "sh"); try { new FilePath(bundle) .write( "#!/bin/bash -ex\n" + "mkdir -p jdk1.6.0_dummy/bin\n" + "touch jdk1.6.0_dummy/bin/java", "ASCII"); TaskListener l = StreamTaskListener.fromStdout(); new JDKInstaller("", true) .install( new LocalLauncher(l), Platform.LINUX, new JDKInstaller.FilePathFileSystem(j.jenkins), l, tmp.getRoot().getPath(), bundle.getPath()); assertTrue(new File(tmp.getRoot(), "bin/java").exists()); } finally { bundle.delete(); } }
@Override public void before() throws Throwable { super.before(); content = new JellyScriptContent(); listener = StreamTaskListener.fromStdout(); publisher = new ExtendedEmailPublisher(); publisher.defaultContent = "For only 10 easy payment of $69.99 , AWESOME-O 4000 can be yours!"; publisher.defaultSubject = "How would you like your very own AWESOME-O 4000?"; publisher.recipientList = "*****@*****.**"; Field f = ExtendedEmailPublisherDescriptor.class.getDeclaredField("defaultBody"); f.setAccessible(true); f.set(publisher.getDescriptor(), "Give me $4000 and I'll mail you a check for $40,000!"); f = ExtendedEmailPublisherDescriptor.class.getDeclaredField("defaultSubject"); f.setAccessible(true); f.set(publisher.getDescriptor(), "Nigerian needs your help!"); f = ExtendedEmailPublisherDescriptor.class.getDeclaredField("recipientList"); f.setAccessible(true); f.set(publisher.getDescriptor(), "*****@*****.**"); f = ExtendedEmailPublisherDescriptor.class.getDeclaredField("hudsonUrl"); f.setAccessible(true); f.set(publisher.getDescriptor(), "http://localhost/"); build = mock(AbstractBuild.class); AbstractProject project = mock(AbstractProject.class); DescribableList publishers = mock(DescribableList.class); when(publishers.get(ExtendedEmailPublisher.class)).thenReturn(publisher); when(project.getPublishersList()).thenReturn(publishers); when(build.getProject()).thenReturn(project); }
/** Can we locate the bundles? */ @Test public void locate() throws Exception { Assume.assumeTrue( "this is a really time consuming test, so only run it when we really want", Boolean.getBoolean("jenkins.testJDKInstaller")); retrieveUpdateCenterData(); JDKInstaller i = new JDKInstaller("jdk-7u3-oth-JPR", true); StreamTaskListener listener = StreamTaskListener.fromStdout(); i.locate(listener, Platform.LINUX, CPU.i386); i.locate(listener, Platform.WINDOWS, CPU.amd64); i.locate(listener, Platform.SOLARIS, CPU.Sparc); }
public BuildActionResultsDisplay getBuildActionResultsDisplay() { BuildActionResultsDisplay buildDisplay = null; WeakReference<BuildActionResultsDisplay> wr = this.buildActionResultsDisplay; if (wr != null) { buildDisplay = wr.get(); if (buildDisplay != null) return buildDisplay; } try { buildDisplay = new BuildActionResultsDisplay(this, StreamTaskListener.fromStdout()); } catch (IOException e) { logger.log(Level.SEVERE, "Error creating new BuildActionResultsDisplay()", e); } this.buildActionResultsDisplay = new WeakReference<BuildActionResultsDisplay>(buildDisplay); return buildDisplay; }
@Override public boolean processWorkspaceBeforeDeletion( AbstractProject<?, ?> project, FilePath workspace, Node node) throws IOException, InterruptedException { if (node == null) { // HUDSON-7663 : deleting a job that has never run return true; } StreamTaskListener listener = StreamTaskListener.fromStdout(); Launcher launcher = node.createLauncher(listener); ClearTool ct = createClearTool( null, createClearToolLauncher( listener, project.getSomeWorkspace().getParent().getParent(), launcher)); try { if (isUseDynamicView() && !isCreateDynView()) { return true; } AbstractBuild<?, ?> latestBuildOnNode = null; for (AbstractBuild<?, ?> build : project.getBuilds()) { if (node.equals(build.getBuiltOn())) { latestBuildOnNode = build; break; } } if (latestBuildOnNode == null) { latestBuildOnNode = project.getLastBuild(); } BuildVariableResolver buildVariableResolver = new BuildVariableResolver(latestBuildOnNode); ct.rmviewtag(generateNormalizedViewName(buildVariableResolver)); } catch (Exception e) { Logger.getLogger(AbstractClearCaseScm.class.getName()) .log(Level.WARNING, "Failed to remove ClearCase view", e); } return true; }