Author: scabanovich
Date: 2011-06-06 18:03:51 -0400 (Mon, 06 Jun 2011)
New Revision: 31850
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.classpath
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.project
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.settings/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.settings/org.eclipse.jdt.core.prefs
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/bin/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest1.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest2.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest3.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest4.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest5.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test1.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test2.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test3.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test4.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test5.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/TypeTest.java
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java
Log:
JBIDE-9072
https://issues.jboss.org/browse/JBIDE-9072
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.classpath
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.classpath
(rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.classpath 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.classpath
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.project
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.project
(rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.project 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>TypeTest</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.project
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.settings/org.eclipse.jdt.core.prefs
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.settings/org.eclipse.jdt.core.prefs 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,12 @@
+#Mon Jun 06 13:37:17 PDT 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/.settings/org.eclipse.jdt.core.prefs
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest1.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest1.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest1.java 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,5 @@
+package test;
+
+public interface ITest1 extends ITest2 {
+
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest1.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest2.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest2.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest2.java 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,5 @@
+package test;
+
+public interface ITest2 extends ITest3 {
+
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest2.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest3.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest3.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest3.java 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,5 @@
+package test;
+
+public interface ITest3 extends ITest4 {
+
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest3.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest4.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest4.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest4.java 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,5 @@
+package test;
+
+public interface ITest4 extends ITest5 {
+
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest4.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest5.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest5.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest5.java 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,5 @@
+package test;
+
+public interface ITest5 extends ITest1 {
+
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/ITest5.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test1.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test1.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test1.java 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,5 @@
+package test;
+
+public class Test1 extends Test2 implements ITest1 {
+
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test1.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test2.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test2.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test2.java 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,5 @@
+package test;
+
+public class Test2 extends Test3 implements ITest2 {
+
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test2.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test3.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test3.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test3.java 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,5 @@
+package test;
+
+public class Test3 extends Test4 implements ITest3 {
+
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test3.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test4.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test4.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test4.java 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,5 @@
+package test;
+
+public class Test4 extends Test5 implements ITest4 {
+
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test4.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test5.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test5.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test5.java 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,5 @@
+package test;
+
+public class Test5 implements ITest5 {
+
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/projects/TypeTest/src/test/Test5.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java 2011-06-06
20:47:51 UTC (rev 31849)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java 2011-06-06
22:03:51 UTC (rev 31850)
@@ -62,7 +62,7 @@
JavaModelManager.getIndexManager().disable();
TestSuite suiteAll = new TestSuite("CDI Core Tests");
-
+ suiteAll.addTestSuite(TypeTest.class);
TestSuite suite = new TestSuite("TCK Tests");
suite.addTestSuite(ResolutionByNameTest.class);
suite.addTestSuite(BeanDefinitionTest.class);
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/TypeTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/TypeTest.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/TypeTest.java 2011-06-06
22:03:51 UTC (rev 31850)
@@ -0,0 +1,91 @@
+package org.jboss.tools.cdi.core.test;
+
+import java.util.ConcurrentModificationException;
+import java.util.Set;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jdt.core.JavaCore;
+import org.jboss.tools.cdi.core.IParametedType;
+import org.jboss.tools.cdi.internal.core.impl.ParametedType;
+import org.jboss.tools.cdi.internal.core.impl.definition.ParametedTypeFactory;
+import org.jboss.tools.test.util.JobUtils;
+import org.jboss.tools.test.util.ResourcesUtils;
+
+import junit.framework.TestCase;
+
+public class TypeTest extends TestCase {
+ IProject project = null;
+
+ public TypeTest() {}
+
+ @Override
+ protected void setUp() throws Exception {
+ project = ResourcesUtils.importProject(DependentProjectsTestSetup.PLUGIN_ID,
"/projects/TypeTest");
+ project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+ JobUtils.waitForIdle();
+ }
+
+ public void testType() throws Exception {
+ ParametedTypeFactory factory = new ParametedTypeFactory();
+ IJavaProject jp = JavaCore.create(project);
+ IType type = jp.findType("test.Test1");
+ ParametedType t = (ParametedType)factory.newParametedType(type);
+ R[] rs = new R[3];
+ Thread[] ts = new Thread[rs.length];
+ for (int i = 0; i < ts.length; i++) {
+ rs[i] = new R(t);
+ ts[i] = new Thread(rs[i]);
+ }
+ for (int i = 0; i < ts.length; i++) {
+ ts[i].start();
+ }
+ for (int i = 0; i < ts.length; i++) {
+ ts[i].join();
+ }
+ for (int i = 0; i < ts.length; i++) {
+ if(rs[i].exception != null) {
+ fail("" + rs[i].exception);
+ }
+ assertEquals(11, rs[i].size);
+ }
+ }
+
+ class R implements Runnable {
+ ParametedType t;
+ int size;
+ ConcurrentModificationException exception;
+
+ public R(ParametedType t) {
+ this.t = t;
+ }
+
+ @Override
+ public void run() {
+ Set<IParametedType> types = t.getAllTypes();
+ size = types.size();
+ try {
+ for (IParametedType t1: types) {
+ try {
+ Thread.sleep(20);
+ } catch (InterruptedException e) {
+ }
+ }
+ } catch (ConcurrentModificationException e) {
+ exception = e;
+ }
+ }
+ }
+
+ public void tearDown() throws Exception {
+ boolean saveAutoBuild = ResourcesUtils.setBuildAutomatically(false);
+ JobUtils.waitForIdle();
+ project.delete(true, true, null);
+ JobUtils.waitForIdle();
+ ResourcesUtils.setBuildAutomatically(saveAutoBuild);
+ }
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/TypeTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain