From b93be57708a34003bcbc1ab988958a1ff709003e Mon Sep 17 00:00:00 2001 From: "Anton.Makeev" Date: Tue, 29 Sep 2009 19:44:31 +0400 Subject: [PATCH] Maven: community tests fix --- .../jetbrains/idea/maven/ArchetypesTest.java | 2 + .../idea/maven/DependenciesImportingTest.java | 142 +----------------- .../maven/DependenciesManagementTest.java | 2 + .../jetbrains/idea/maven/MavenTestCase.java | 6 + .../SnapshotDependenciesImportingTest.java | 8 + .../idea/maven/StructureImportingTest.java | 2 + .../maven/execution/MavenExecutorsTest.java | 2 + .../idea/maven/execution/MavenRunnerTest.java | 2 + .../maven/wizards/MavenModuleBuilderTest.java | 22 +++ 9 files changed, 52 insertions(+), 136 deletions(-) diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/ArchetypesTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/ArchetypesTest.java index ee50a864aafb..2d99aac510ef 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/ArchetypesTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/ArchetypesTest.java @@ -14,6 +14,8 @@ import java.util.Map; public class ArchetypesTest extends MavenTestCase { public void testGenerating() throws Exception { + if (!hasM2Home()) return; + File dir = new File(myDir.getPath(), "generated"); dir.mkdirs(); diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/DependenciesImportingTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/DependenciesImportingTest.java index e4b0aad81bc7..c6c30cc8bf2e 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/DependenciesImportingTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/DependenciesImportingTest.java @@ -1019,44 +1019,6 @@ public class DependenciesImportingTest extends MavenImportingTestCase { assertTrue(myProjectsTree.findProject(myProjectPom).hasUnresolvedArtifacts()); } - public void testArtifactTypeProvidedByExtensionPlugin() throws Exception { - // This test ensures that we download all necessary extension plugins. - importProject("test" + - "project" + - "1" + - "swf" + - - "" + - " " + - " com.adobe.flex.framework" + - " framework" + - " 3.2.0.3959" + - " resource-bundle" + - " en_US" + - " " + - "" + - - "" + - " " + - " " + - " org.sonatype.flexmojos" + - " flexmojos-maven-plugin" + - " true" + - " " + - " " + - ""); - - // flex plugin handles 'resource-bundle' dependencies in a special way. - // - assertModuleLibDep("project", "Maven: com.adobe.flex.framework:framework:resource-bundle:en_US:3.2.0.3959", - "jar://" + getRepositoryPath() + - "/com/adobe/flex/framework/framework/3.2.0.3959/framework-3.2.0.3959-en_US.rb.swc!/", - "jar://" + getRepositoryPath() + - "/com/adobe/flex/framework/framework/3.2.0.3959/framework-3.2.0.3959-en_US.rb-sources.jar!/", - "jar://" + getRepositoryPath() + - "/com/adobe/flex/framework/framework/3.2.0.3959/framework-3.2.0.3959-en_US.rb-javadoc.jar!/"); - } - public void testCanResolveDependenciesWhenExtensionPluginNotFound() throws Exception { importProject("test" + "project" + @@ -1129,7 +1091,6 @@ public class DependenciesImportingTest extends MavenImportingTestCase { importProject("test" + "project" + "1" + - "war" + "" + " " + @@ -1141,7 +1102,7 @@ public class DependenciesImportingTest extends MavenImportingTestCase { " junit" + " junit" + " 4.0" + - " war" + + " test-jar" + " " + " " + " junit" + @@ -1152,11 +1113,11 @@ public class DependenciesImportingTest extends MavenImportingTestCase { ""); assertProjectLibraries("Maven: junit:junit:4.0", - "Maven: junit:junit:war:4.0", + "Maven: junit:junit:test-jar:tests:4.0", "Maven: junit:junit:jdk5:4.0"); assertModuleLibDeps("project", "Maven: junit:junit:4.0", - "Maven: junit:junit:war:4.0", + "Maven: junit:junit:test-jar:tests:4.0", "Maven: junit:junit:jdk5:4.0"); } @@ -1349,63 +1310,6 @@ public class DependenciesImportingTest extends MavenImportingTestCase { "jar://" + getRepositoryPath() + "/junit/junit/4.0/junit-4.0-javadoc.jar!/"); } - public void testUpdateRootEntriesWithActualPathForNonJarDependencies() throws Exception { - importProject("test" + - "project" + - "1" + - "swf" + - - "" + - " " + - " com.adobe.flex.framework" + - " framework" + - " 3.2.0.3959" + - " swc" + - " " + - "" + - - "" + - " " + - " " + - " info.flex-mojos" + - " flex-compiler-mojo" + - " 2.0M10" + - " true" + - " " + - " " + - "" + - - "" + - " " + - " flex-mojos-repository" + - " http://svn.sonatype.org/flexmojos/repository/" + - " " + - " true" + - " " + - " " + - ""); - - assertModuleLibDeps("project", "Maven: com.adobe.flex.framework:framework:swc:3.2.0.3959"); - assertModuleLibDep("project", "Maven: com.adobe.flex.framework:framework:swc:3.2.0.3959", - "jar://" + getRepositoryPath() + "/com/adobe/flex/framework/framework/3.2.0.3959/framework-3.2.0.3959.swc!/", - "jar://" + getRepositoryPath() + "/com/adobe/flex/framework/framework/3.2.0.3959/framework-3.2.0.3959-sources.jar!/", - "jar://" + getRepositoryPath() + - "/com/adobe/flex/framework/framework/3.2.0.3959/framework-3.2.0.3959-javadoc.jar!/"); - - myProjectsManager.listenForExternalChanges(); // to recognize repository change - setRepositoryPath(new File(myDir, "__repo").getPath()); - - scheduleResolveAll(); - - resolveDependenciesAndImport(); - - assertModuleLibDep("project", "Maven: com.adobe.flex.framework:framework:swc:3.2.0.3959", - "jar://" + getRepositoryPath() + "/com/adobe/flex/framework/framework/3.2.0.3959/framework-3.2.0.3959.swc!/", - "jar://" + getRepositoryPath() + "/com/adobe/flex/framework/framework/3.2.0.3959/framework-3.2.0.3959-sources.jar!/", - "jar://" + getRepositoryPath() + - "/com/adobe/flex/framework/framework/3.2.0.3959/framework-3.2.0.3959-javadoc.jar!/"); - } - public void testUpdateRootEntriesWithActualPathForDependenciesWithClassifiers() throws Exception { importProject("test" + "project" + @@ -1617,43 +1521,10 @@ public class DependenciesImportingTest extends MavenImportingTestCase { assertProjectLibraries("Maven: group:lib1:1"); } - public void testRemovingUnusedNonJARLibrary() throws Exception { - importProject("test" + - "project" + - "1" + - "war" + - - "" + - " " + - " group" + - " lib1" + - " 1" + - " ear" + - " " + - " " + - " group" + - " lib2" + - " 1" + - " war" + - " " + - ""); - - assertProjectLibraries("Maven: group:lib1:ear:1", - "Maven: group:lib2:war:1"); - - importProject("test" + - "project" + - "1" + - "war"); - - assertProjectLibraries(); - } - public void testRemovingUnusedLibraryWithClassifier() throws Exception { importProject("test" + "project" + "1" + - "war" + "" + " " + @@ -1666,18 +1537,17 @@ public class DependenciesImportingTest extends MavenImportingTestCase { " group" + " lib2" + " 1" + - " war" + + " test-jar" + " tests" + " " + ""); assertProjectLibraries("Maven: group:lib1:tests:1", - "Maven: group:lib2:war:tests:1"); + "Maven: group:lib2:test-jar:tests:1"); importProject("test" + "project" + - "1" + - "war"); + "1"); assertProjectLibraries(); } diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/DependenciesManagementTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/DependenciesManagementTest.java index 9f0f0d2dc7dd..b53a22e7e826 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/DependenciesManagementTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/DependenciesManagementTest.java @@ -7,6 +7,8 @@ import java.util.Arrays; public class DependenciesManagementTest extends MavenImportingTestCase { public void testImportingDependencies() throws Exception { + if (!hasM2Home()) return; + setRepositoryPath(new File(myDir, "/repo").getPath()); updateSettingsXml("" + getRepositoryPath() + ""); diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/MavenTestCase.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/MavenTestCase.java index 3b8701591983..73c567dae6ac 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/MavenTestCase.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/MavenTestCase.java @@ -390,4 +390,10 @@ public abstract class MavenTestCase extends TestCase { System.out.println("Ignored: " + getClass().getSimpleName() + "." + getName()); return true; } + + protected boolean hasM2Home() { + boolean result = System.getenv("M2_HOME") != null; + if (!result) System.out.println("Ignored, because Maven installation not found: " + getClass().getSimpleName() + "." + getName()); + return result; + } } diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/SnapshotDependenciesImportingTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/SnapshotDependenciesImportingTest.java index 2255c7319811..616cae4e9bf7 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/SnapshotDependenciesImportingTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/SnapshotDependenciesImportingTest.java @@ -33,6 +33,8 @@ public class SnapshotDependenciesImportingTest extends MavenImportingTestCase { } private void performTestWithDependencyVersion(String version) throws Exception { + if (!hasM2Home()) return; + createProjectPom("test" + "project" + "pom" + @@ -79,6 +81,8 @@ public class SnapshotDependenciesImportingTest extends MavenImportingTestCase { } public void testNamingLibraryTheSameWayRegardlessAvailableSnapshotVersion() throws Exception { + if (!hasM2Home()) return; + deployArtifact("test", "foo", "1-SNAPSHOT"); importProject("test" + @@ -103,6 +107,8 @@ public class SnapshotDependenciesImportingTest extends MavenImportingTestCase { } public void testAttachingCorrectJavaDocsAndSources() throws Exception { + if (!hasM2Home()) return; + deployArtifact("test", "foo", "1-SNAPSHOT", "" + " " + @@ -161,6 +167,8 @@ public class SnapshotDependenciesImportingTest extends MavenImportingTestCase { } public void testCorrectlryUpdateRootEntriesWithActualPathForSnapshotDependencies() throws Exception { + if (!hasM2Home()) return; + deployArtifact("test", "foo", "1-SNAPSHOT", "" + " " + diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/StructureImportingTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/StructureImportingTest.java index 0fc9b9eb5ab9..711e2ccb0ce3 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/StructureImportingTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/StructureImportingTest.java @@ -344,6 +344,8 @@ public class StructureImportingTest extends MavenImportingTestCase { } public void testParentInLocalRepository() throws Exception { + if (!hasM2Home()) return; + VirtualFile parent = createModulePom("parent", "test" + "parent" + diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/execution/MavenExecutorsTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/execution/MavenExecutorsTest.java index 9ee4c90d557a..a5834636f223 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/execution/MavenExecutorsTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/execution/MavenExecutorsTest.java @@ -9,6 +9,8 @@ import java.util.Arrays; public class MavenExecutorsTest extends MavenTestCase { public void testExternalExecutor() throws Exception { + if (!hasM2Home()) return; + VfsUtil.saveText(createProjectSubFile("src/main/java/A.java"), "public class A {}"); createProjectPom("test" + diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/execution/MavenRunnerTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/execution/MavenRunnerTest.java index de3fc2d33e65..1420dc0ea8ee 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/execution/MavenRunnerTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/execution/MavenRunnerTest.java @@ -6,6 +6,8 @@ import java.util.Arrays; public class MavenRunnerTest extends MavenImportingTestCase { public void testUpdatingExcludedFoldersAfterRun() throws Exception { + if (!hasM2Home()) return; + createStdProjectFolders(); importProject("test" + diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/wizards/MavenModuleBuilderTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/wizards/MavenModuleBuilderTest.java index 99d4a6f8780e..d5947bdab38b 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/wizards/MavenModuleBuilderTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/wizards/MavenModuleBuilderTest.java @@ -27,6 +27,8 @@ public class MavenModuleBuilderTest extends MavenImportingTestCase { } public void testCreatingBlank() throws Exception { + if (!hasM2Home()) return; + MavenId id = new MavenId("org.foo", "module", "1.0"); createNewModule(id); @@ -48,12 +50,16 @@ public class MavenModuleBuilderTest extends MavenImportingTestCase { } public void testInheritJdkFromProject() throws Exception { + if (!hasM2Home()) return; + createNewModule(new MavenId("org.foo", "module", "1.0")); ModuleRootManager manager = ModuleRootManager.getInstance(getModule("module")); assertTrue(manager.isSdkInherited()); } public void testCreatingFromArchetype() throws Exception { + if (!hasM2Home()) return; + setArchetype(new ArchetypeInfo("org.apache.maven.archetypes", "maven-archetype-quickstart", "1.0", null, null)); MavenId id = new MavenId("org.foo", "module", "1.0"); createNewModule(id); @@ -72,6 +78,8 @@ public class MavenModuleBuilderTest extends MavenImportingTestCase { } public void testAddingNewlyCreatedModuleToTheAggregator() throws Exception { + if (!hasM2Home()) return; + importProject("test" + "project" + "1"); @@ -91,6 +99,8 @@ public class MavenModuleBuilderTest extends MavenImportingTestCase { } public void testAddingManagedProjectIfNoArrgerator() throws Exception { + if (!hasM2Home()) return; + importProject("test" + "project" + "1"); @@ -106,6 +116,8 @@ public class MavenModuleBuilderTest extends MavenImportingTestCase { } public void testDoNotAddManagedProjectIfAddingAsModuleToAggregator() throws Exception { + if (!hasM2Home()) return; + importProject("test" + "project" + "1"); @@ -121,6 +133,8 @@ public class MavenModuleBuilderTest extends MavenImportingTestCase { } public void testAddingParent() throws Exception { + if (!hasM2Home()) return; + importProject("test" + "project" + "1"); @@ -150,6 +164,8 @@ public class MavenModuleBuilderTest extends MavenImportingTestCase { } public void testAddingParentWithInheritedProperties() throws Exception { + if (!hasM2Home()) return; + importProject("test" + "project" + "1"); @@ -178,6 +194,8 @@ public class MavenModuleBuilderTest extends MavenImportingTestCase { } public void testAddingParentAndInheritWhenGeneratingFromArchetype() throws Exception { + if (!hasM2Home()) return; + importProject("test" + "project" + "1"); @@ -213,6 +231,8 @@ public class MavenModuleBuilderTest extends MavenImportingTestCase { } public void testAddingParentWithRelativePath() throws Exception { + if (!hasM2Home()) return; + importProject("test" + "project" + "1"); @@ -243,6 +263,8 @@ public class MavenModuleBuilderTest extends MavenImportingTestCase { } public void testFindingPotentialParentInNotMavenizedProject() throws Exception { + if (!hasM2Home()) return; + Module module = createModule("project"); VirtualFile dir = module.getModuleFile().getParent(); dir.createChildData(this, "pom.xml");