blob: f6b4762565d336cb1ab70e58ebbf9795ace64a8c [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2017 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.core.tests.resources.regression;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.eclipse.core.resources.*;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.tests.resources.ResourceTest;
public class PR_1GHOM0N_Test extends ResourceTest {
public PR_1GHOM0N_Test() {
super();
}
public PR_1GHOM0N_Test(String name) {
super(name);
}
/**
* Sets up the fixture, for example, open a network connection.
* This method is called before a test is executed.
*/
@Override
protected void setUp() throws Exception {
super.setUp();
}
public static Test suite() {
return new TestSuite(PR_1GHOM0N_Test.class);
}
/**
* Tears down the fixture, for example, close a network connection.
* This method is called after a test is executed.
*/
@Override
protected void tearDown() throws Exception {
super.tearDown();
ensureDoesNotExistInWorkspace(getWorkspace().getRoot());
}
/*
* Ensure that we get ADDED and OPEN in the delta when we create and open
* a project in a workspace runnable.
*/
public void test_1GEAB3C() {
// turn off auto-build
// try {
// IWorkspaceDescription wd = getWorkspace().getDescription();
// wd.setAutoBuilding(false);
// getWorkspace().setDescription(wd);
// } catch (CoreException e) {
// fail("1.0", e);
// }
// setup the project
final IProject project = getWorkspace().getRoot().getProject("MyProject");
try {
IProjectDescription description = getWorkspace().newProjectDescription(project.getName());
ICommand command = description.newCommand();
command.setBuilderName(SimpleBuilder.BUILDER_ID);
description.setBuildSpec(new ICommand[] {command});
project.create(description, getMonitor());
project.open(getMonitor());
} catch (CoreException e) {
fail("2.0", e);
}
// try and reproduce the error (there are problems when calling an incremental
// build from within an operation...it leaves the tree immutable)
IWorkspaceRunnable body = monitor -> {
project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, getMonitor());
IFile file = project.getFile("test.txt");
file.create(getRandomContents(), true, getMonitor());
};
try {
getWorkspace().run(body, getMonitor());
} catch (CoreException e) {
fail("3.0", e);
}
}
}