Apply this patch to run tests with Tycho.
See pom.xml for instructions on how and when to use this patch file.

This patch file may need to be updated on occasion. When doing so,
place the minimum possible in this patch file. For now the information
required is to put all tests*/ source directories in the build plug-in
and add any test only third-party jars into the MANIFEST.MF

- Updating the test_with_tycho.patch
  When there are changes where the patch no longer applies cleanly with:
  	 git apply test_with_tycho.patch
  	 
  The best approach is first trying to apply it using:
    git apply test_with_tycho.patch -3
    
    if it applies, create a new diff: git diff --cached > new_diff.patch and update the needed sections
    on the test_with_tycho.patch (as it may have manual tweaks to be less strict).
    
    and then revert the changes: git apply test_with_tycho.patch -R
    
  If that fails, it's possible to manually change the file where the patch no longer applies to have the changes
  that the diff would do, then diff if it and manually fix the patch file.

IF RE-CREATING PATCH, KEEP/UPDATE THIS COMMENT!

diff --git a/plugins/com.python.pydev.analysis/build.properties b/plugins/com.python.pydev.analysis/build.properties
index 6dd1cd9..7929411 100644
--- a/plugins/com.python.pydev.analysis/build.properties
+++ b/plugins/com.python.pydev.analysis/build.properties
@@ -4,5 +4,6 @@ bin.includes = META-INF/,\
                icons/,\
                LICENSE.TXT
 jars.compile.order = analysis.jar
-source.analysis.jar = src/
+source.analysis.jar = src/,\
+                      tests/
 output.analysis.jar = bin/
diff --git a/plugins/com.python.pydev.codecompletion/build.properties b/plugins/com.python.pydev.codecompletion/build.properties
index 646a0e8..be0e923 100644
--- a/plugins/com.python.pydev.codecompletion/build.properties
+++ b/plugins/com.python.pydev.codecompletion/build.properties
@@ -4,5 +4,6 @@ bin.includes = META-INF/,\
                icons/,\
                LICENSE.TXT
 jars.compile.order = codecompletion.jar
-source.codecompletion.jar = src/
+source.codecompletion.jar = src/,\
+                            tests/
 output.codecompletion.jar = bin/
diff --git a/plugins/com.python.pydev.debug/build.properties b/plugins/com.python.pydev.debug/build.properties
index 531b5eb..8aacd12 100644
--- a/plugins/com.python.pydev.debug/build.properties
+++ b/plugins/com.python.pydev.debug/build.properties
@@ -4,5 +4,6 @@ bin.includes = plugin.xml,\
                debug.jar,\
                LICENSE.TXT
 jars.compile.order = debug.jar
-source.debug.jar = src/
+source.debug.jar = src/,\
+                   tests/
 output.debug.jar = bin/
diff --git a/plugins/com.python.pydev.fastparser/build.properties b/plugins/com.python.pydev.fastparser/build.properties
index 2ae1be7..1d93f41 100644
--- a/plugins/com.python.pydev.fastparser/build.properties
+++ b/plugins/com.python.pydev.fastparser/build.properties
@@ -2,5 +2,6 @@ bin.includes = META-INF/,\
                fastparser.jar,\
                LICENSE.TXT
 jars.compile.order = fastparser.jar
-source.fastparser.jar = src/
+source.fastparser.jar = src/,\
+                        tests/
 output.fastparser.jar = bin/
diff --git a/plugins/com.python.pydev.refactoring/build.properties b/plugins/com.python.pydev.refactoring/build.properties
index 17fd6d9..2fcb6b2 100644
--- a/plugins/com.python.pydev.refactoring/build.properties
+++ b/plugins/com.python.pydev.refactoring/build.properties
@@ -4,5 +4,6 @@ bin.includes = plugin.xml,\
                LICENSE.TXT,\
                plugin.properties
 jars.compile.order = refactoring.jar
-source.refactoring.jar = src/
+source.refactoring.jar = src/,\
+                         tests/
 output.refactoring.jar = bin/
diff --git a/plugins/com.python.pydev/build.properties b/plugins/com.python.pydev/build.properties
index a8ce826..7fab003 100644
--- a/plugins/com.python.pydev/build.properties
+++ b/plugins/com.python.pydev/build.properties
@@ -4,5 +4,6 @@ bin.includes = META-INF/,\
                LICENSE.TXT,\
                icons/
 jars.compile.order = pydev.jar
-source.pydev.jar = src/
+source.pydev.jar = src/,\
+                   tests/
 output.pydev.jar = bin/
diff --git a/plugins/org.python.pydev.core/build.properties b/plugins/org.python.pydev.core/build.properties
index 48ee9a8..2f344eb 100644
--- a/plugins/org.python.pydev.core/build.properties
+++ b/plugins/org.python.pydev.core/build.properties
@@ -1,4 +1,5 @@
-source.core.jar = src/
+source.core.jar = src/,\
+                  tests/
 output.core.jar = bin/
 bin.includes = META-INF/,\
                core.jar,\
diff --git a/plugins/org.python.pydev.customizations/build.properties b/plugins/org.python.pydev.customizations/build.properties
index b3c122b..6add133 100644
--- a/plugins/org.python.pydev.customizations/build.properties
+++ b/plugins/org.python.pydev.customizations/build.properties
@@ -5,5 +5,6 @@ bin.includes = plugin.xml,\
                icons/,\
                LICENSE.txt
 jars.compile.order = customizations.jar
-source.customizations.jar = src/
+source.customizations.jar = src/,\
+                            tests/
 output.customizations.jar = bin/
diff --git a/plugins/org.python.pydev.debug/build.properties b/plugins/org.python.pydev.debug/build.properties
index bf4b9f0..59fce78 100644
--- a/plugins/org.python.pydev.debug/build.properties
+++ b/plugins/org.python.pydev.debug/build.properties
@@ -6,5 +6,6 @@ bin.includes = plugin.xml,\
                LICENSE.txt
 jars.compile.order = pydev-debug.jar
 source.pydev-debug.jar = src/,\
-                         src_console/
+                         src_console/,\
+                         tests/
 output.pydev-debug.jar = bin/
diff --git a/plugins/org.python.pydev.parser/build.properties b/plugins/org.python.pydev.parser/build.properties
index b957da8..e6a04e6 100644
--- a/plugins/org.python.pydev.parser/build.properties
+++ b/plugins/org.python.pydev.parser/build.properties
@@ -1,7 +1,9 @@
-source.parser.jar = src/
+source.parser.jar = src/,\
+                    tests/
 output.parser.jar = bin/
 bin.includes = plugin.xml,\
                META-INF/,\
                schema/,\
                parser.jar,\
                LICENSE.txt
+jars.compile.order = parser.jar
diff --git a/plugins/org.python.pydev.refactoring/.classpath b/plugins/org.python.pydev.refactoring/.classpath
index 125bfd7..d35ec53 100644
--- a/plugins/org.python.pydev.refactoring/.classpath
+++ b/plugins/org.python.pydev.refactoring/.classpath
@@ -5,9 +5,9 @@
 	<classpathentry kind="src" path="tests"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="lib" path="contrib/ch/hsr/ukistler/astgraph/jgraph-5.8.3.1.jar"/>
-	<classpathentry kind="lib" path="tests/lib/xpp3-1.1.3.4.O.jar"/>
-	<classpathentry kind="lib" path="tests/lib/xstream-1.4.4.jar"/>
+	<classpathentry exported="true" kind="lib" path="tests/lib/xpp3-1.1.3.4.O.jar"/>
+	<classpathentry exported="true" kind="lib" path="tests/lib/xstream-1.4.4.jar"/>
+	<classpathentry exported="true" kind="lib" path="contrib/ch/hsr/ukistler/astgraph/jgraph-5.8.3.1.jar"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/org.python.pydev.refactoring/META-INF/MANIFEST.MF b/plugins/org.python.pydev.refactoring/META-INF/MANIFEST.MF
index 962dd7c..e08dff3 100644
--- a/plugins/org.python.pydev.refactoring/META-INF/MANIFEST.MF
+++ b/plugins/org.python.pydev.refactoring/META-INF/MANIFEST.MF
@@ -7,7 +7,8 @@ Bundle-Activator: org.python.pydev.refactoring.PepticPlugin
 Bundle-Vendor: %peptic.providerName
 Bundle-Localization: plugin
 Eclipse-BundleShape: dir
-Require-Bundle: org.eclipse.ui,
+Require-Bundle: org.junit;bundle-version="4.0";resolution:=optional,
+ org.eclipse.ui,
  org.eclipse.core.runtime,
  org.python.pydev.core,
  org.python.pydev.parser,
@@ -24,7 +25,10 @@ Require-Bundle: org.eclipse.ui,
  org.python.pydev.shared_ui,
  org.junit;bundle-version="4.0.0";resolution:=optional
 Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: refactoring.jar
+Bundle-ClassPath: refactoring.jar,
+ tests/lib/xpp3-1.1.3.4.O.jar,
+ tests/lib/xstream-1.4.4.jar,
+ contrib/ch/hsr/ukistler/astgraph/jgraph-5.8.3.1.jar
 Export-Package: org.python.pydev.refactoring,
  org.python.pydev.refactoring.ast,
  org.python.pydev.refactoring.ast.adapters,
diff --git a/plugins/org.python.pydev.refactoring/build.properties b/plugins/org.python.pydev.refactoring/build.properties
index 3b35556..96595dd 100644
--- a/plugins/org.python.pydev.refactoring/build.properties
+++ b/plugins/org.python.pydev.refactoring/build.properties
@@ -1,9 +1,13 @@
-source.refactoring.jar = src/
+source.refactoring.jar = src/,\
+                         tests/
 output.refactoring.jar = bin/
 bin.includes = .,\
                META-INF/,\
                plugin.properties,\
                refactoring.jar,\
                icons/,\
-               LICENSE.txt
+               LICENSE.txt,\
+               tests/lib/xstream-1.4.4.jar,\
+               tests/lib/xpp3-1.1.3.4.O.jar,\
+               contrib/ch/hsr/ukistler/astgraph/jgraph-5.8.3.1.jar
 jars.compile.order = refactoring.jar
diff --git a/plugins/org.python.pydev.shared_core/build.properties b/plugins/org.python.pydev.shared_core/build.properties
index b9871ea..61c1e4e 100644
--- a/plugins/org.python.pydev.shared_core/build.properties
+++ b/plugins/org.python.pydev.shared_core/build.properties
@@ -2,5 +2,6 @@ bin.includes = shared_core.jar,\
                META-INF/,\
                LICENSE.txt
 jars.compile.order = shared_core.jar
-source.shared_core.jar = src/
+source.shared_core.jar = src/,\
+                         tests/
 output.shared_core.jar = bin/
diff --git a/plugins/org.python.pydev/build.properties b/plugins/org.python.pydev/build.properties
index 60abbb6..ccf6dad 100644
--- a/plugins/org.python.pydev/build.properties
+++ b/plugins/org.python.pydev/build.properties
@@ -14,7 +14,11 @@ bin.includes = plugin.xml,\
 jars.compile.order = pydev.jar
 source.pydev.jar = src/,\
                    src_navigator/,\
-                   src_completions/
+                   src_completions/,\
+                   tests/,\
+                   tests_completions/,\
+                   tests_dltk_console/,\
+                   tests_navigator/
 output.pydev.jar = bin/
 bin.excludes = pysrc/__pycache__/,\
                pysrc/*$py.class,\
diff --git a/plugins/pom.xml b/plugins/pom.xml
index 5060896..ad4afea 100644
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -30,6 +30,7 @@
     <!-- TODO com.python.pydev.docs -->
     <module>com.python.pydev.fastparser</module>
     <module>com.python.pydev.refactoring</module>
+    <module>com.python.pydev.runalltests</module>
     <module>org.python.pydev</module>
     <module>org.python.pydev.ast</module>
     <module>org.python.pydev.core</module>
