diff --git a/org.eclipse.jdt.text.tests/META-INF/MANIFEST.MF b/org.eclipse.jdt.text.tests/META-INF/MANIFEST.MF index e0eb890ce7c..5fa7dbb4710 100644 --- a/org.eclipse.jdt.text.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.jdt.text.tests/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Automatic-Module-Name: org.eclipse.jdt.text.tests Bundle-ManifestVersion: 2 Bundle-Name: %Plugin.name Bundle-SymbolicName: org.eclipse.jdt.text.tests;singleton:=true -Bundle-Version: 3.14.550.qualifier +Bundle-Version: 3.14.600.qualifier Bundle-Activator: org.eclipse.jdt.text.tests.JdtTextTestPlugin Bundle-ActivationPolicy: lazy Bundle-Vendor: %Plugin.providerName @@ -36,7 +36,21 @@ Require-Bundle: org.eclipse.jdt.ui.tests, org.eclipse.test.performance, org.eclipse.jdt.core.manipulation, - org.eclipse.core.expressions + org.eclipse.core.expressions, + org.eclipse.core.tests.harness, + junit-jupiter-api Bundle-RequiredExecutionEnvironment: JavaSE-17 Eclipse-BundleShape: dir -Import-Package: org.junit.jupiter.api +Import-Package: org.junit.jupiter.api, + org.junit.jupiter.api.extension, + org.junit.jupiter.migrationsupport, + org.junit.jupiter.migrationsupport.conditions, + org.junit.jupiter.migrationsupport.rules, + org.junit.jupiter.params, + org.junit.jupiter.params.aggregator, + org.junit.jupiter.params.converter, + org.junit.jupiter.params.provider, + org.junit.jupiter.params.support, + org.junit.platform.suite.api, + org.junit.platform.suite.commons;status=INTERNAL, + org.junit.platform.suite.engine;status=INTERNAL diff --git a/org.eclipse.jdt.text.tests/pom.xml b/org.eclipse.jdt.text.tests/pom.xml index d67ef8a73e7..b0fb8632da0 100644 --- a/org.eclipse.jdt.text.tests/pom.xml +++ b/org.eclipse.jdt.text.tests/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jdt org.eclipse.jdt.text.tests - 3.14.550-SNAPSHOT + 3.14.600-SNAPSHOT eclipse-test-plugin diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/JdtTextTestSuite.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/JdtTextTestSuite.java index 78ae735ecc5..8f02b18f676 100644 --- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/JdtTextTestSuite.java +++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/JdtTextTestSuite.java @@ -14,8 +14,8 @@ *******************************************************************************/ package org.eclipse.jdt.text.tests; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; import org.eclipse.jdt.text.tests.codemining.CodeMiningTriggerTest; import org.eclipse.jdt.text.tests.codemining.ParameterNamesCodeMiningTest; @@ -29,8 +29,8 @@ * * @since 3.0 */ -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ PluginsNotLoadedTest.class, CompilationUnitDocumentProviderTest.class, JavaHeuristicScannerTest.class, diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/contentassist/ContentAssistTestSuite.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/contentassist/ContentAssistTestSuite.java index bb539ae074d..a449d513ec0 100644 --- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/contentassist/ContentAssistTestSuite.java +++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/contentassist/ContentAssistTestSuite.java @@ -14,16 +14,16 @@ *******************************************************************************/ package org.eclipse.jdt.text.tests.contentassist; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; /** * Content assist test suite. * * @since 3.2 */ -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ //$JUnit-BEGIN$ CamelCaseCompletionTest.class, JavadocCompletionTest.class, diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/DocumentPerformanceTestSuite.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/DocumentPerformanceTestSuite.java index f3e50a8bf74..c51b41328cc 100644 --- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/DocumentPerformanceTestSuite.java +++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/DocumentPerformanceTestSuite.java @@ -13,15 +13,14 @@ *******************************************************************************/ package org.eclipse.jdt.text.tests.performance; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; /** * @since 3.3 */ -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ DocumentPerformanceTest.class, GapTextStorePerformanceTest.class, LineTrackerPerformanceTest.class diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/WordRulePerformanceTestSuite.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/WordRulePerformanceTestSuite.java index bfe5827d385..2275dee8aca 100644 --- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/WordRulePerformanceTestSuite.java +++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/WordRulePerformanceTestSuite.java @@ -13,14 +13,14 @@ *******************************************************************************/ package org.eclipse.jdt.text.tests.performance; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; /** * @since 3.6 */ -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ WordRulePerformanceTest.class }) public class WordRulePerformanceTestSuite { diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/templates/TemplatesTestSuite.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/templates/TemplatesTestSuite.java index 24f39c07c55..303867d3c85 100644 --- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/templates/TemplatesTestSuite.java +++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/templates/TemplatesTestSuite.java @@ -12,16 +12,16 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.text.tests.templates; -import org.junit.runner.RunWith; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; /** * Template test suite. * * @since 3.4 */ -import org.junit.runners.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ //$JUnit-BEGIN$ TemplateContributionTest.class, TemplateCompletionTests.class diff --git a/org.eclipse.jdt.ui.tests.refactoring/META-INF/MANIFEST.MF b/org.eclipse.jdt.ui.tests.refactoring/META-INF/MANIFEST.MF index d2c99b05012..a24eba260ed 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/META-INF/MANIFEST.MF +++ b/org.eclipse.jdt.ui.tests.refactoring/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Automatic-Module-Name: org.eclipse.jdt.ui.tests.refactoring Bundle-ManifestVersion: 2 Bundle-Name: %Plugin.name Bundle-SymbolicName: org.eclipse.jdt.ui.tests.refactoring; singleton:=true -Bundle-Version: 3.15.600.qualifier +Bundle-Version: 3.15.700.qualifier Bundle-Activator: org.eclipse.jdt.ui.tests.refactoring.infra.RefactoringTestPlugin Bundle-ActivationPolicy: lazy Bundle-Vendor: %Plugin.providerName @@ -40,7 +40,20 @@ Require-Bundle: org.eclipse.ui.ide, org.eclipse.ui.workbench.texteditor, org.junit, - org.eclipse.core.tests.harness + org.eclipse.core.tests.harness, + junit-jupiter-api Bundle-RequiredExecutionEnvironment: JavaSE-17 Eclipse-BundleShape: dir -Import-Package: org.junit.jupiter.api +Import-Package: org.junit.jupiter.api, + org.junit.jupiter.api.extension, + org.junit.jupiter.migrationsupport, + org.junit.jupiter.migrationsupport.conditions, + org.junit.jupiter.migrationsupport.rules, + org.junit.jupiter.params, + org.junit.jupiter.params.aggregator, + org.junit.jupiter.params.converter, + org.junit.jupiter.params.provider, + org.junit.jupiter.params.support, + org.junit.platform.suite.api, + org.junit.platform.suite.commons;status=INTERNAL, + org.junit.platform.suite.engine;status=INTERNAL diff --git a/org.eclipse.jdt.ui.tests.refactoring/pom.xml b/org.eclipse.jdt.ui.tests.refactoring/pom.xml index 2d16c316ab4..f64248519cd 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/pom.xml +++ b/org.eclipse.jdt.ui.tests.refactoring/pom.xml @@ -19,7 +19,7 @@ org.eclipse.jdt org.eclipse.jdt.ui.tests.refactoring - 3.15.600-SNAPSHOT + 3.15.700-SNAPSHOT eclipse-test-plugin ${project.artifactId} diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/AllChangeTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/AllChangeTests.java index a256de656b6..2f78662c7f4 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/AllChangeTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/AllChangeTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ RenameResourceChangeTests.class, MoveRenameResourceChangeTests.class, RenameSourceFolderChangeTests.class, diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/AllRefactoringTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/AllRefactoringTests.java index 6209e2e2a7a..f7b5622ada1 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/AllRefactoringTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/AllRefactoringTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ RenameTests18.class, InlineTempTests1d8.class, InlineConstantTests1d8.class, diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/AllTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/AllTests.java index 91667c4daee..708c4a6c071 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/AllTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/AllTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ AllRefactoringTests.class, AllChangeTests.class, UndoManagerTests.class, diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/RenameFieldTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/RenameFieldTests.java index 6b99dc4cd67..9f0560f28dc 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/RenameFieldTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/RenameFieldTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ RenameNonPrivateFieldTests.class, RenamePrivateFieldTests.class }) diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/RenameMethodTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/RenameMethodTests.java index db4c0f63373..05a8bb36827 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/RenameMethodTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/RenameMethodTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ RenameVirtualMethodInClassTests.class, RenameMethodInInterfaceTests.class, RenamePrivateMethodTests.class, diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/RenameTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/RenameTests.java index 714156031ce..5e3fca7b00e 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/RenameTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/RenameTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ RefactoringScannerTests.class, RenamingNameSuggestorTests.class, diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/actions/AllTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/actions/AllTests.java index bf537512b4f..3089874537f 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/actions/AllTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/actions/AllTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring.actions; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ StructureSelectionActionTests.class, GoToNextPreviousMemberActionTests.class }) diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/all/AllAllRefactoringTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/all/AllAllRefactoringTests.java index 4c8c994bf8f..1ea15a794a1 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/all/AllAllRefactoringTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/all/AllAllRefactoringTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring.all; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ org.eclipse.jdt.ui.tests.refactoring.actions.AllTests.class, org.eclipse.jdt.ui.tests.refactoring.nls.NLSTestSuite.class, org.eclipse.jdt.ui.tests.refactoring.AllTests.class, diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/all/AllRefactoringPerformanceTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/all/AllRefactoringPerformanceTests.java index 3d880f52972..1635699c573 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/all/AllRefactoringPerformanceTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/all/AllRefactoringPerformanceTests.java @@ -13,14 +13,14 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring.all; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; import org.eclipse.jdt.ui.tests.refactoring.reorg.AllReorgPerformanceTests; import org.eclipse.jdt.ui.tests.refactoring.type.AllTypeConstraintsPerformanceTests; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ AllReorgPerformanceTests.class, AllTypeConstraintsPerformanceTests.class }) diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/ccp/AllTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/ccp/AllTests.java index 17c7c559a26..2f2860662c9 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/ccp/AllTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/ccp/AllTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring.ccp; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ DeleteTest.class, CopyToClipboardActionTest.class, PasteActionTest.class, diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/changes/AllTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/changes/AllTests.java index 9eda64df910..7e23904d442 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/changes/AllTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/changes/AllTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring.changes; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ TrackPositionTest.class, TextDiffContentTest.class }) diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/extensions/AllTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/extensions/AllTests.java index 9b02c6424e0..4886e23c676 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/extensions/AllTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/extensions/AllTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring.extensions; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ ExtensionPointTests.class }) public class AllTests { diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/nls/NLSTestSuite.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/nls/NLSTestSuite.java index 8f70ff33b2d..8f3c03bb50d 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/nls/NLSTestSuite.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/nls/NLSTestSuite.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring.nls; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ // old NLSElementTester.class, NLSScannerTester.class, diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/reorg/AllReorgPerformanceTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/reorg/AllReorgPerformanceTests.java index 19ac3f0f452..cfe05ee090c 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/reorg/AllReorgPerformanceTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/reorg/AllReorgPerformanceTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring.reorg; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ RenamePackagePerfTests1.class, RenamePackagePerfTests2.class, diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/type/AllTypeConstraintsPerformanceTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/type/AllTypeConstraintsPerformanceTests.java index 9ce9216de7a..b95a8fead77 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/type/AllTypeConstraintsPerformanceTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/type/AllTypeConstraintsPerformanceTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring.type; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ ExtractInterfacePerfAcceptanceTests.class }) public class AllTypeConstraintsPerformanceTests { diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/typeconstraints/AllTests.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/typeconstraints/AllTests.java index e1c69b95caa..00e2c44de41 100644 --- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/typeconstraints/AllTests.java +++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/refactoring/typeconstraints/AllTests.java @@ -13,12 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring.typeconstraints; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ TypeConstraintTests.class, TypeEnvironmentTests.class }) diff --git a/org.eclipse.jdt.ui.tests/META-INF/MANIFEST.MF b/org.eclipse.jdt.ui.tests/META-INF/MANIFEST.MF index 69dc24cc37d..0bc05b798f5 100644 --- a/org.eclipse.jdt.ui.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.jdt.ui.tests/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Automatic-Module-Name: org.eclipse.jdt.ui.tests Bundle-ManifestVersion: 2 Bundle-Name: %Plugin.name Bundle-SymbolicName: org.eclipse.jdt.ui.tests; singleton:=true -Bundle-Version: 3.15.600.qualifier +Bundle-Version: 3.15.700.qualifier Bundle-Activator: org.eclipse.jdt.testplugin.JavaTestPlugin Bundle-Vendor: %Plugin.providerName Bundle-Localization: plugin @@ -75,12 +75,22 @@ Require-Bundle: org.eclipse.jdt.astview, org.eclipse.compare.core, org.eclipse.compare, - org.eclipse.core.tests.harness + org.eclipse.core.tests.harness, + junit-jupiter-api Bundle-RequiredExecutionEnvironment: JavaSE-17 Eclipse-BundleShape: dir Bundle-ActivationPolicy: lazy Import-Package: org.assertj.core.api;version="3.24.2", org.junit.jupiter.api, + org.junit.jupiter.api.extension, + org.junit.jupiter.migrationsupport, + org.junit.jupiter.migrationsupport.conditions, + org.junit.jupiter.migrationsupport.rules, + org.junit.jupiter.params, + org.junit.jupiter.params.aggregator, + org.junit.jupiter.params.converter, + org.junit.jupiter.params.provider, + org.junit.jupiter.params.support, org.junit.platform.suite.api, org.junit.platform.suite.commons;status=INTERNAL, org.junit.platform.suite.engine;status=INTERNAL diff --git a/org.eclipse.jdt.ui.tests/performance/org/eclipse/jdt/ui/tests/performance/PerformanceTestSuite.java b/org.eclipse.jdt.ui.tests/performance/org/eclipse/jdt/ui/tests/performance/PerformanceTestSuite.java index 1272355c56f..135fb0e2473 100644 --- a/org.eclipse.jdt.ui.tests/performance/org/eclipse/jdt/ui/tests/performance/PerformanceTestSuite.java +++ b/org.eclipse.jdt.ui.tests/performance/org/eclipse/jdt/ui/tests/performance/PerformanceTestSuite.java @@ -14,13 +14,13 @@ package org.eclipse.jdt.ui.tests.performance; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; import org.eclipse.jdt.ui.tests.performance.views.TypeHierarchyPerfTest; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ TypeHierarchyPerfTest.class }) public class PerformanceTestSuite { diff --git a/org.eclipse.jdt.ui.tests/performance/org/eclipse/jdt/ui/tests/performance/views/ViewPerformanceTestSuite.java b/org.eclipse.jdt.ui.tests/performance/org/eclipse/jdt/ui/tests/performance/views/ViewPerformanceTestSuite.java index fe5057b8647..a2108b0c048 100644 --- a/org.eclipse.jdt.ui.tests/performance/org/eclipse/jdt/ui/tests/performance/views/ViewPerformanceTestSuite.java +++ b/org.eclipse.jdt.ui.tests/performance/org/eclipse/jdt/ui/tests/performance/views/ViewPerformanceTestSuite.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.performance.views; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; + import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ + @Suite + @SelectClasses({ PackageExplorerPerfTest.class, PackageExplorerColdPerfTest.class, PackageExplorerEmptyPerfTest.class, diff --git a/org.eclipse.jdt.ui.tests/pom.xml b/org.eclipse.jdt.ui.tests/pom.xml index 4d09430d667..5cb5abdc32a 100644 --- a/org.eclipse.jdt.ui.tests/pom.xml +++ b/org.eclipse.jdt.ui.tests/pom.xml @@ -20,7 +20,7 @@ org.eclipse.jdt org.eclipse.jdt.ui.tests - 3.15.600-SNAPSHOT + 3.15.700-SNAPSHOT eclipse-test-plugin true diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/junit/launcher/JUnitLauncherTests.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/junit/launcher/JUnitLauncherTests.java index 86f53ba02c9..16d5f92f448 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/junit/launcher/JUnitLauncherTests.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/junit/launcher/JUnitLauncherTests.java @@ -14,11 +14,11 @@ package org.eclipse.jdt.junit.launcher; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ AdvancedJUnitLaunchConfigurationDelegateTest.class, }) public class JUnitLauncherTests { diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/junit/tests/JUnitJUnitTests.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/junit/tests/JUnitJUnitTests.java index 2c85f74fcbc..fb6e730b002 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/junit/tests/JUnitJUnitTests.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/junit/tests/JUnitJUnitTests.java @@ -15,11 +15,11 @@ package org.eclipse.jdt.junit.tests; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ // TODO disabled unreliable tests driving the event loop: //WrappingSystemTest.class, //WrappingUnitTest.class, diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/AutomatedSuite.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/AutomatedSuite.java index 740d3e6a6a8..32a3803503b 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/AutomatedSuite.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/AutomatedSuite.java @@ -14,9 +14,9 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests; -import org.junit.Before; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.jupiter.api.BeforeEach; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; import org.eclipse.jdt.junit.launcher.JUnitLauncherTests; import org.eclipse.jdt.junit.tests.JUnitJUnitTests; @@ -51,8 +51,8 @@ /** * Test all areas of JDT UI. */ -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ CoreTests.class, CoreTestSuite.class, QuickFixTestSuite.class, @@ -87,7 +87,7 @@ SmokeViewsTest.class }) public class AutomatedSuite { - @Before + @BeforeEach protected void setUp() throws Exception { JavaCore.setOptions(TestOptions.getDefaultOptions()); TestOptions.initializeCodeGenerationOptions(); diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/LeakTestSuite.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/LeakTestSuite.java index 11b85519923..ca566722dbb 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/LeakTestSuite.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/LeakTestSuite.java @@ -13,20 +13,21 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; + + +/** + * Test for leaks + */ +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; import org.eclipse.jdt.ui.tests.leaks.JavaLeakTest; import org.eclipse.jdt.ui.tests.leaks.TextViewerUndoManagerLeakTest; import org.eclipse.jdt.ui.tests.leaks.UndoManagerLeakTest; import org.eclipse.jdt.ui.tests.search.SearchLeakTestWrapper; - -/** - * Test for leaks - */ -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ JavaLeakTest.class, SearchLeakTestWrapper.class, UndoManagerLeakTest.class, diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/UIInteractiveSuite.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/UIInteractiveSuite.java index a6632211faa..7f6d4c24654 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/UIInteractiveSuite.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/UIInteractiveSuite.java @@ -13,18 +13,18 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +/** + * Test all areas of the UI. + */ +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; import org.eclipse.jdt.ui.tests.dialogs.DialogsTest; import org.eclipse.jdt.ui.tests.dialogs.PreferencesTest; import org.eclipse.jdt.ui.tests.dialogs.WizardsTest; -/** - * Test all areas of the UI. - */ -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ PreferencesTest.class, WizardsTest.class, DialogsTest.class diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/buildpath/BuildpathTestSuite.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/buildpath/BuildpathTestSuite.java index 0d1e4be3f07..f4e893d25cd 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/buildpath/BuildpathTestSuite.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/buildpath/BuildpathTestSuite.java @@ -13,15 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.buildpath; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; - -/** - * @since 3.5 - */ -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ BuildpathModifierActionEnablementTest.class, BuildpathModifierActionTest.class, CPUserLibraryTest.class, diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CoreTestSuite.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CoreTestSuite.java index 2945f1eca1e..35ae002d3df 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CoreTestSuite.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CoreTestSuite.java @@ -13,16 +13,16 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.core; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; import org.eclipse.jdt.ui.tests.core.source.SourceActionTests; import org.eclipse.jdt.internal.ui.compare.JavaIgnoreWhitespaceContributorTest; import org.eclipse.jdt.internal.ui.compare.JavaTokenComparatorTest; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ AddImportTest.class, SourceActionTests.class, ASTNodesInsertTest.class, diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/source/SourceActionTests.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/source/SourceActionTests.java index 5db2188e7a8..df99620fed6 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/source/SourceActionTests.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/source/SourceActionTests.java @@ -14,17 +14,15 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.core.source; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - - +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; /** * * Tests for the actions in the source menu */ -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ AddUnimplementedMethodsTest.class, GenerateGettersSettersTest.class, GenerateGettersSettersTest16.class, diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/jarexport/FatJarExportTests.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/jarexport/FatJarExportTests.java deleted file mode 100644 index b5d2b10b149..00000000000 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/jarexport/FatJarExportTests.java +++ /dev/null @@ -1,1009 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2020 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 - * Ferenc Hechler, ferenc_hechler@users.sourceforge.net - 83258 [jar exporter] Deploy java application as executable jar - * Ferenc Hechler, ferenc_hechler@users.sourceforge.net - 213638 [jar exporter] create ANT build file for current settings - * Ferenc Hechler, ferenc_hechler@users.sourceforge.net - 220257 [jar application] ANT build file does not create Class-Path Entry in Manifest - * Ferenc Hechler, ferenc_hechler@users.sourceforge.net - 243163 [jar exporter] export directory entries in "Runnable JAR File" - * Ferenc Hechler, ferenc_hechler@users.sourceforge.net - 219530 [jar application] add Jar-in-Jar ClassLoader option - * Ferenc Hechler, ferenc_hechler@users.sourceforge.net - 262766 [jar exporter] ANT file for Jar-in-Jar option contains relative path to jar-rsrc-loader.zip - * Ferenc Hechler, ferenc_hechler@users.sourceforge.net - 262763 [jar exporter] remove Built-By attribute in ANT files from Fat JAR Exporter - *******************************************************************************/ -package org.eclipse.jdt.ui.tests.jarexport; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; - -import javax.xml.parsers.DocumentBuilder; - -import org.junit.After; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TestName; -import org.xml.sax.InputSource; -import org.xml.sax.helpers.DefaultHandler; - -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -import org.eclipse.jdt.testplugin.JavaProjectHelper; -import org.eclipse.jdt.testplugin.JavaTestPlugin; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.MultiStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Status; - -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IncrementalProjectBuilder; -import org.eclipse.core.resources.ResourcesPlugin; - -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.PlatformUI; - -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationType; -import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.debug.core.Launch; -import org.eclipse.debug.core.model.IProcess; - -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.IPackageFragment; -import org.eclipse.jdt.core.IPackageFragmentRoot; -import org.eclipse.jdt.core.JavaCore; - -import org.eclipse.jdt.internal.junit.util.XmlProcessorFactoryJdtJunit; - -import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants; -import org.eclipse.jdt.launching.IVMInstall; -import org.eclipse.jdt.launching.IVMRunner; -import org.eclipse.jdt.launching.JavaRuntime; -import org.eclipse.jdt.launching.VMRunnerConfiguration; - -import org.eclipse.jdt.ui.JavaUI; -import org.eclipse.jdt.ui.jarpackager.IJarExportRunnable; -import org.eclipse.jdt.ui.jarpackager.JarPackageData; -import org.eclipse.jdt.ui.tests.core.rules.ProjectTestSetup; - -import org.eclipse.jdt.internal.ui.JavaPlugin; -import org.eclipse.jdt.internal.ui.jarpackager.JarPackagerUtil; -import org.eclipse.jdt.internal.ui.jarpackagerfat.FatJarAntExporter; -import org.eclipse.jdt.internal.ui.jarpackagerfat.FatJarPackageWizardPage; -import org.eclipse.jdt.internal.ui.jarpackagerfat.FatJarPackageWizardPage.CopyLibraryHandler; -import org.eclipse.jdt.internal.ui.jarpackagerfat.FatJarPackageWizardPage.ExtractLibraryHandler; -import org.eclipse.jdt.internal.ui.jarpackagerfat.FatJarPackageWizardPage.LibraryHandler; -import org.eclipse.jdt.internal.ui.jarpackagerfat.FatJarPackageWizardPage.PackageLibraryHandler; -import org.eclipse.jdt.internal.ui.jarpackagerfat.FatJarRsrcUrlBuilder; -import org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext; - -public class FatJarExportTests { - - @Rule - public ProjectTestSetup pts=new ProjectTestSetup(); - - @Rule - public TestName tn=new TestName(); - - private static final int JAVA_RUN_TIMEOUT= 300; // 10th of a second - - @BeforeClass - public static void setUpTest() { - System.setProperty("jdt.bug.367669", "non-null"); - } - - private IJavaProject fProject; - private IPackageFragmentRoot fMainRoot; - - @Before - public void setUp() throws Exception { - fProject= pts.getProject(); - - fMainRoot= JavaProjectHelper.addSourceContainer(fProject, "src"); //$NON-NLS-1$ - IPackageFragment fragment= fMainRoot.createPackageFragment("org.eclipse.jdt.ui.test", true, null); //$NON-NLS-1$ - String str = """ - package org.eclipse.jdt.ui.test; - import mylib.Foo; - public class Main { - public static void main(String[] args) { - new Foo(); - new Foo.FooInner(); - new Foo.FooInner.FooInnerInner(); - } - } - """; //$NON-NLS-1$ - fragment.createCompilationUnit("Main.java", str, true, null); //$NON-NLS-1$ - } - - @After - public void tearDown() throws Exception { - JavaProjectHelper.clear(fProject, pts.getDefaultClasspath()); - } - - private static String getFooContent() { - String str = """ - package mylib; - public class Foo { - public Foo() { - System.out.println("created " + Foo.class.getName()); - } - public static class FooInner { - public static class FooInnerInner { - } - } - } - """; //$NON-NLS-1$ - return str; - } - - private static JarPackageData createAndRunFatJar(IJavaProject project, String testName, boolean compressJar, LibraryHandler libraryHandler) throws Exception, CoreException { - JarPackageData data= null; - // create jar and check contents - switch (libraryHandler.getID()) { - case ExtractLibraryHandler.ID: { - data= assertFatJarExport(project, testName, compressJar, libraryHandler); - break; - } - case PackageLibraryHandler.ID: { - data= assertFatJarWithLoaderExport(project, testName, compressJar, libraryHandler); - break; - } - case CopyLibraryHandler.ID: { - data= assertFatJarWithSubfolderExport(project, testName, compressJar, libraryHandler); - break; - } - default: { - fail("invalid library handling '" + libraryHandler.getID() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - break; - } - } - - // run newly generated jar and check stdout - String stdout= runJar(project, data.getJarLocation().toOSString()); - // normalize EndOfLine to \n - stdout= stdout.replaceAll("\r\n", "\n").replaceAll("\r", "\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - // check for successful call of Foo - String expected= "created mylib.Foo\n"; //$NON-NLS-1$ - assertEquals(expected, stdout); - - return data; - } - - private static JarPackageData assertFatJarExport(IJavaProject project, String testName, boolean compressJar, LibraryHandler libraryHandler) throws Exception { - //create class files - buildProject(); - - //create data - JarPackageData data= createJarPackageData(project, testName, libraryHandler); - - // set compression - data.setCompress(compressJar); - - //assert archive content as expected - try (ZipFile generatedArchive = createZipFile(data)) { - //assert archive content as expected - assertNotNull(generatedArchive); - assertNotNull(generatedArchive.getEntry("org/eclipse/jdt/ui/test/Main.class")); //$NON-NLS-1$ - assertNotNull(generatedArchive.getEntry("mylib/Foo.class")); //$NON-NLS-1$ - assertNotNull(generatedArchive.getEntry("mylib/Foo$FooInner.class")); //$NON-NLS-1$ - assertNotNull(generatedArchive.getEntry("mylib/Foo$FooInner$FooInnerInner.class")); //$NON-NLS-1$ - } - - MultiStatus status= new MultiStatus(JavaUI.ID_PLUGIN, 0, "", null); //$NON-NLS-1$ - - FatJarAntExporter antExporter= libraryHandler.getAntExporter(antScriptLocation(testName), data.getAbsoluteJarLocation(), createTempLaunchConfig(project)); - antExporter.run(status); - assertTrue(getProblems(status), status.getSeverity() == IStatus.OK || status.getSeverity() == IStatus.INFO); - - return data; - } - - private static JarPackageData assertFatJarWithLoaderExport(IJavaProject project, String testName, boolean compressJar, LibraryHandler libraryHandler) throws Exception { - //create class files - buildProject(); - - //create data with Jar-in-Jar Loader - JarPackageData data= createJarPackageData(project, testName, libraryHandler); - - // set compression - data.setCompress(compressJar); - - //assert archive content as expected - try (ZipFile generatedArchive = createZipFile(data)) { - //assert archive content as expected - assertNotNull(generatedArchive); - assertNotNull(generatedArchive.getEntry("org/eclipse/jdt/ui/test/Main.class")); //$NON-NLS-1$ - // get loader entry - ZipEntry loaderClassEntry= generatedArchive.getEntry("org/eclipse/jdt/internal/jarinjarloader/JarRsrcLoader.class"); //$NON-NLS-1$ - assertNotNull(loaderClassEntry); - int magic; - int minorVersion; - int majorVersion; - try ( // check version of class file JarRsrcLoader (jdk 1.6 = version 50.0) - InputStream in = generatedArchive.getInputStream(loaderClassEntry)) { - magic = 0; - for (int i= 0; i < 4; i++) - magic = (magic << 8) + in.read(); - minorVersion = ((in.read() << 8) + in.read()); - majorVersion = ((in.read() << 8) + in.read()); - } - assertEquals("loader is a class file", 0xCAFEBABE, magic); //$NON-NLS-1$ - assertEquals("loader compiled with JDK 1.8", "52.0", majorVersion + "." + minorVersion); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - } - - MultiStatus status= new MultiStatus(JavaUI.ID_PLUGIN, 0, "", null); //$NON-NLS-1$ - - FatJarAntExporter antExporter= libraryHandler.getAntExporter(antScriptLocation(testName), data.getAbsoluteJarLocation(), createTempLaunchConfig(project)); - antExporter.run(status); - assertTrue(getProblems(status), status.getSeverity() == IStatus.OK || status.getSeverity() == IStatus.INFO); - - // check that jar-rsrc-loader.zip file was created next to build.xml - IPath zipLocation= antScriptLocation(testName).removeLastSegments(1).append(FatJarRsrcUrlBuilder.JAR_RSRC_LOADER_ZIP); - assertTrue("loader zip missing: " + zipLocation.toOSString(), zipLocation.toFile().exists()); - - return data; - } - - private static JarPackageData assertFatJarWithSubfolderExport(IJavaProject project, String testName, boolean compressJar, LibraryHandler libraryHandler) throws Exception { - //create class files - buildProject(); - - //create data with Jar-in-Jar Loader - JarPackageData data= createJarPackageData(project, testName, libraryHandler); - - // set compression - data.setCompress(compressJar); - - //assert archive content as expected - try (ZipFile generatedArchive= createZipFile(data)) { - //assert archive content as expected - assertNotNull(generatedArchive); - assertNotNull(generatedArchive.getEntry("org/eclipse/jdt/ui/test/Main.class")); //$NON-NLS-1$ - - // check for libraries sub-folder - File jarFile= new File(generatedArchive.getName()); - String subFolderName= jarFile.getName().replaceFirst("^(.*)[.]jar$", "$1_lib"); //$NON-NLS-1$//$NON-NLS-2$ - File subFolderDir= new File(jarFile.getParentFile(), subFolderName); - assertTrue("actual: '" + subFolderDir.toString() + "'", subFolderDir.isDirectory()); //$NON-NLS-1$//$NON-NLS-2$ - } - - MultiStatus status= new MultiStatus(JavaUI.ID_PLUGIN, 0, "", null); //$NON-NLS-1$ - - FatJarAntExporter antExporter= libraryHandler.getAntExporter(antScriptLocation(testName), data.getAbsoluteJarLocation(), createTempLaunchConfig(project)); - antExporter.run(status); - assertTrue(getProblems(status), status.getSeverity() == IStatus.OK || status.getSeverity() == IStatus.INFO); - - return data; - } - - private static void buildProject() throws CoreException { - ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, null); - - for (IMarker marker : ResourcesPlugin.getWorkspace().getRoot().findMarkers(null, true, IResource.DEPTH_INFINITE)) { - assertNotEquals((String) marker.getAttribute(IMarker.MESSAGE), IMarker.SEVERITY_ERROR, marker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO)); - } - } - - - private static IPath antScriptLocation(String testName) { - return ResourcesPlugin.getWorkspace().getRoot().getLocation().append("build_" + testName + ".xml"); //$NON-NLS-1$//$NON-NLS-2$ - } - - private static JarPackageData createJarPackageData(IJavaProject project, String testName, LibraryHandler libraryHandler) throws CoreException { - JarPackageData data= new JarPackageData(); - data.setOverwrite(true); - data.setIncludeDirectoryEntries(true); - - IPath destination= ResourcesPlugin.getWorkspace().getRoot().getLocation().append(testName + ".jar"); //$NON-NLS-1$ - data.setJarLocation(destination); - - ILaunchConfiguration launchConfig= createTempLaunchConfig(project); - - MultiStatus status= new MultiStatus(JavaUI.ID_PLUGIN, 0, "", null); //$NON-NLS-1$ - Object[] children= FatJarPackageWizardPage.getSelectedElementsWithoutContainedChildren(launchConfig, data, new BusyIndicatorRunnableContext(), status); - assertTrue(getProblems(status), status.getSeverity() == IStatus.OK || status.getSeverity() == IStatus.INFO); - data.setElements(children); - - data.setJarBuilder(libraryHandler.getBuilder(data)); - - return data; - } - - private static String getProblems(MultiStatus status) { - StringBuilder result= new StringBuilder(); - - for (IStatus child : status.getChildren()) { - result.append(child.getMessage()).append("\n"); //$NON-NLS-1$ - } - - return result.toString(); - } - - /* - * From org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut - * - * For internal use only (testing), clients must not call. - */ - public static ILaunchConfiguration createTempLaunchConfig(IJavaProject project) { - String projectName= project.getElementName(); - - String configname= "fatjar_cfg_eraseme_" + projectName; //$NON-NLS-1$ - ILaunchConfiguration config= null; - ILaunchConfigurationWorkingCopy wc= null; - try { - ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager(); - ILaunchConfigurationType configType= launchManager.getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION); - wc= configType.newInstance(null, launchManager.generateLaunchConfigurationName(configname)); - } catch (CoreException e) { - JavaPlugin.log(e); - return null; - } - - wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "org.eclipse.jdt.ui.test.Main"); //$NON-NLS-1$ - wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, projectName); - try { - config= wc.doSave(); - } catch (CoreException e) { - JavaPlugin.log(e); - } - - return config; - } - - private static ZipFile createZipFile(JarPackageData data) throws Exception, CoreException { - IWorkbenchWindow window= PlatformUI.getWorkbench().getActiveWorkbenchWindow(); - - IJarExportRunnable op= data.createJarExportRunnable(window.getShell()); - window.run(false, false, op); - - IStatus status= op.getStatus(); - if (status.getSeverity() == IStatus.ERROR) - throw new CoreException(status); - - return JarPackagerUtil.createZipFile(data.getJarLocation()); - } - - private static String runJar(IJavaProject project, String jarPath) throws CoreException { - - IVMInstall vmInstall= JavaRuntime.getVMInstall(project); - if (vmInstall == null) - vmInstall= JavaRuntime.getDefaultVMInstall(); - - if (vmInstall == null) - throw new CoreException(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), "Could not find a VM Install")); //$NON-NLS-1$ - - IVMRunner vmRunner= vmInstall.getVMRunner(ILaunchManager.RUN_MODE); - if (vmRunner == null) - throw new CoreException(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), "Could not create a VM Runner")); //$NON-NLS-1$ - - VMRunnerConfiguration vmConfig= new VMRunnerConfiguration("-jar", new String[] {}); //$NON-NLS-1$ - vmConfig.setWorkingDirectory(new File(jarPath).getParent()); - vmConfig.setProgramArguments(new String[] { jarPath }); - - ILaunch launch= new Launch(null, ILaunchManager.RUN_MODE, null); - vmRunner.run(vmConfig, launch, null); - - IProcess[] processes= launch.getProcesses(); - if (processes.length == 0) - throw new CoreException(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), "Could not launch jar")); //$NON-NLS-1$ - - int timeout= JAVA_RUN_TIMEOUT; - while (timeout > 0 && !processes[0].isTerminated()) { - try { - Thread.sleep(100); - } catch (InterruptedException e) { - } - - timeout--; - } - if (!processes[0].isTerminated()) - throw new CoreException(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), "Process did not terminate within timeout")); //$NON-NLS-1$ - - int exitCode= processes[0].getExitValue(); - - try { - Thread.sleep(500); - } catch (InterruptedException e) { - } - - if (exitCode != 0) { - String stdout= processes[0].getStreamsProxy().getOutputStreamMonitor().getContents(); - String errout= processes[0].getStreamsProxy().getErrorStreamMonitor().getContents(); - - throw new CoreException(new Status(IStatus.ERROR, JavaPlugin.getPluginId(), "Run failed: exitcode=" + exitCode + ", stdout=[" + stdout + "], stderr=[" + errout + "]")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - } else { - return processes[0].getStreamsProxy().getOutputStreamMonitor().getContents(); - } - } - - private static void assertAntScript(JarPackageData data, IPath antScriptLocation, LibraryHandler libraryHandler, String[] filesets, String[] zipfilesets) throws Exception { - String archiveName= data.getAbsoluteJarLocation().lastSegment(); - switch (libraryHandler.getID()) { - case ExtractLibraryHandler.ID: { - assertAntScriptExtract(archiveName, antScriptLocation, filesets, zipfilesets); - break; - } - case PackageLibraryHandler.ID: { - assertAntScriptPackage(archiveName, antScriptLocation, filesets, zipfilesets); - break; - } - case CopyLibraryHandler.ID: { - assertAntScriptCopy(archiveName, antScriptLocation, filesets, zipfilesets); - break; - } - default: { - fail("unknown library handling '" + libraryHandler.getID() + "'"); //$NON-NLS-1$//$NON-NLS-2$ - break; - } - } - } - - private static void assertAntScriptCopy(String archiveName, IPath antScriptLocation, String[] filesets, String[] zipfilesets) throws Exception { - String subfolderName= archiveName.replaceFirst("^(.*)[.]jar$", "$1_lib"); //$NON-NLS-1$//$NON-NLS-2$ - - String projectNameValue= "Create Runnable Jar for Project TestSetupProject"; //$NON-NLS-1$ - projectNameValue+= " with libraries in sub-folder"; //$NON-NLS-1$ - - Element xmlProject= readXML(antScriptLocation); - assertEquals("project", xmlProject.getNodeName()); //$NON-NLS-1$ - assertEquals("create_run_jar", xmlProject.getAttribute("default")); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(projectNameValue, xmlProject.getAttribute("name")); //$NON-NLS-1$ - - Element xmlTarget= (Element)xmlProject.getElementsByTagName("target").item(0); //$NON-NLS-1$ - assertEquals("create_run_jar", xmlTarget.getAttribute("name")); //$NON-NLS-1$//$NON-NLS-2$ - - Element xmlJar= (Element)xmlTarget.getElementsByTagName("jar").item(0); //$NON-NLS-1$ - assertTrue("actual: " + xmlJar.getAttribute("destfile"), xmlJar.getAttribute("destfile").endsWith(archiveName)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - - Element xmlManifest= (Element)xmlJar.getElementsByTagName("manifest").item(0); //$NON-NLS-1$ - - Element xmlAttribute1= (Element)xmlManifest.getElementsByTagName("attribute").item(0); //$NON-NLS-1$ - assertEquals("Main-Class", xmlAttribute1.getAttribute("name")); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals("org.eclipse.jdt.ui.test.Main", xmlAttribute1.getAttribute("value")); //$NON-NLS-1$ //$NON-NLS-2$ - - Element xmlAttribute2= (Element)xmlManifest.getElementsByTagName("attribute").item(1); //$NON-NLS-1$ - assertEquals("Class-Path", xmlAttribute2.getAttribute("name")); //$NON-NLS-1$ //$NON-NLS-2$ - assertTrue("actual value: " + xmlAttribute2.getAttribute("value"), xmlAttribute2.getAttribute("value").startsWith(".")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - - NodeList xmlFilesets= xmlJar.getElementsByTagName("fileset"); //$NON-NLS-1$ - assertEquals(filesets.length, xmlFilesets.getLength()); - - for (int i= 0; i < xmlFilesets.getLength(); i++) { - String dir= ((Element)xmlFilesets.item(i)).getAttribute("dir"); //$NON-NLS-1$ - boolean found= false; - for (String fileset : filesets) { - if (dir.endsWith(fileset)) { - found= true; - break; - } - } - assertTrue("found fileset: '" + dir + "'", found); //$NON-NLS-1$//$NON-NLS-2$ - } - - Element xmlDelete= (Element)xmlTarget.getElementsByTagName("delete").item(0); //$NON-NLS-1$ - assertTrue("actual: " + xmlDelete.getAttribute("dir"), xmlDelete.getAttribute("dir").endsWith(subfolderName)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - - Element xmlMkdir= (Element)xmlTarget.getElementsByTagName("mkdir").item(0); //$NON-NLS-1$ - assertTrue("actual: " + xmlMkdir.getAttribute("dir"), xmlMkdir.getAttribute("dir").endsWith(subfolderName)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - - NodeList xmlCopies= xmlTarget.getElementsByTagName("copy"); //$NON-NLS-1$ - assertEquals(zipfilesets.length, xmlCopies.getLength()); - - for (int i= 0; i < xmlCopies.getLength(); i++) { - String absLibPath= ((Element)xmlCopies.item(i)).getAttribute("file"); //$NON-NLS-1$ - String libName= new File(absLibPath).getName(); - boolean found= false; - for (String zipfileset : zipfilesets) { - if (libName.equals(zipfileset)) { - found= true; - break; - } - } - assertTrue("find zipfileset lib: '" + libName + "'", found); //$NON-NLS-1$ //$NON-NLS-2$ - } - - } - - private static void assertAntScriptPackage(String archiveName, IPath antScriptLocation, String[] filesets, String[] zipfilesets) throws Exception { - String projectNameValue= "Create Runnable Jar for Project TestSetupProject"; //$NON-NLS-1$ - projectNameValue+= " with Jar-in-Jar Loader"; //$NON-NLS-1$ - - Element xmlProject= readXML(antScriptLocation); - assertEquals("project", xmlProject.getNodeName()); //$NON-NLS-1$ - assertEquals("create_run_jar", xmlProject.getAttribute("default")); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(projectNameValue, xmlProject.getAttribute("name")); //$NON-NLS-1$ - - Element xmlTarget= (Element)xmlProject.getElementsByTagName("target").item(0); //$NON-NLS-1$ - assertEquals("create_run_jar", xmlTarget.getAttribute("name")); //$NON-NLS-1$//$NON-NLS-2$ - - Element xmlJar= (Element)xmlTarget.getElementsByTagName("jar").item(0); //$NON-NLS-1$ - assertTrue("actual: " + xmlJar.getAttribute("destfile"), xmlJar.getAttribute("destfile").endsWith(archiveName)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - - Element xmlManifest= (Element)xmlJar.getElementsByTagName("manifest").item(0); //$NON-NLS-1$ - - Element xmlAttribute1= (Element)xmlManifest.getElementsByTagName("attribute").item(0); //$NON-NLS-1$ - assertEquals("Main-Class", xmlAttribute1.getAttribute("name")); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals("org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader", xmlAttribute1.getAttribute("value")); //$NON-NLS-1$ //$NON-NLS-2$ - - Element xmlAttribute2= (Element)xmlManifest.getElementsByTagName("attribute").item(1); //$NON-NLS-1$ - assertEquals("Rsrc-Main-Class", xmlAttribute2.getAttribute("name")); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals("org.eclipse.jdt.ui.test.Main", xmlAttribute2.getAttribute("value")); //$NON-NLS-1$ //$NON-NLS-2$ - - Element xmlAttribute3= (Element)xmlManifest.getElementsByTagName("attribute").item(2); //$NON-NLS-1$ - assertEquals("Class-Path", xmlAttribute3.getAttribute("name")); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(".", xmlAttribute3.getAttribute("value")); //$NON-NLS-1$ //$NON-NLS-2$ - - Element xmlAttribute4= (Element)xmlManifest.getElementsByTagName("attribute").item(3); //$NON-NLS-1$ - assertEquals("Rsrc-Class-Path", xmlAttribute4.getAttribute("name")); //$NON-NLS-1$ //$NON-NLS-2$ - assertTrue("actual value: " + xmlAttribute4.getAttribute("value"), xmlAttribute4.getAttribute("value").startsWith("./")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - - NodeList xmlFilesets= xmlJar.getElementsByTagName("fileset"); //$NON-NLS-1$ - assertEquals(filesets.length, xmlFilesets.getLength()); - - NodeList xmlZipfilesets= xmlJar.getElementsByTagName("zipfileset"); //$NON-NLS-1$ - assertEquals(zipfilesets.length + 1, xmlZipfilesets.getLength()); - - for (int i= 0; i < xmlFilesets.getLength(); i++) { - String dir= ((Element)xmlFilesets.item(i)).getAttribute("dir"); //$NON-NLS-1$ - boolean found= false; - for (String fileset : filesets) { - if (dir.endsWith(fileset)) { - found= true; - break; - } - } - assertTrue("found fileset: '" + dir + "'", found); //$NON-NLS-1$//$NON-NLS-2$ - } - - for (int i= 0; i < xmlZipfilesets.getLength(); i++) { - String libName= ((Element)xmlZipfilesets.item(i)).getAttribute("includes"); //$NON-NLS-1$ - boolean found= false; - if (libName.isEmpty()) { - libName= ((Element)xmlZipfilesets.item(i)).getAttribute("src"); //$NON-NLS-1$ - found= FatJarRsrcUrlBuilder.JAR_RSRC_LOADER_ZIP.equals(libName); - } - for (String zipfileset : zipfilesets) { - if (libName.equals(zipfileset)) { - found= true; - break; - } - } - assertTrue("find zipfileset lib: '" + libName + "'", found); //$NON-NLS-1$ //$NON-NLS-2$ - } - } - - private static void assertAntScriptExtract(String archiveName, IPath antScriptLocation, String[] filesets, String[] zipfilesets) throws Exception { - String projectNameValue= "Create Runnable Jar for Project TestSetupProject"; //$NON-NLS-1$ - - Element xmlProject= readXML(antScriptLocation); - assertEquals("project", xmlProject.getNodeName()); //$NON-NLS-1$ - assertEquals("create_run_jar", xmlProject.getAttribute("default")); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(projectNameValue, xmlProject.getAttribute("name")); //$NON-NLS-1$ - - Element xmlTarget= (Element)xmlProject.getElementsByTagName("target").item(0); //$NON-NLS-1$ - assertEquals("create_run_jar", xmlTarget.getAttribute("name")); //$NON-NLS-1$//$NON-NLS-2$ - - Element xmlJar= (Element)xmlTarget.getElementsByTagName("jar").item(0); //$NON-NLS-1$ - assertTrue("actual: " + xmlJar.getAttribute("destfile"), xmlJar.getAttribute("destfile").endsWith(archiveName)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - assertEquals("mergewithoutmain", xmlJar.getAttribute("filesetmanifest")); //$NON-NLS-1$ //$NON-NLS-2$ - - Element xmlManifest= (Element)xmlJar.getElementsByTagName("manifest").item(0); //$NON-NLS-1$ - - Element xmlAttribute1= (Element)xmlManifest.getElementsByTagName("attribute").item(0); //$NON-NLS-1$ - assertEquals("Main-Class", xmlAttribute1.getAttribute("name")); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals("org.eclipse.jdt.ui.test.Main", xmlAttribute1.getAttribute("value")); //$NON-NLS-1$ //$NON-NLS-2$ - - Element xmlAttribute2= (Element)xmlManifest.getElementsByTagName("attribute").item(1); //$NON-NLS-1$ - assertEquals("Class-Path", xmlAttribute2.getAttribute("name")); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals(".", xmlAttribute2.getAttribute("value")); //$NON-NLS-1$ //$NON-NLS-2$ - - NodeList xmlFilesets= xmlJar.getElementsByTagName("fileset"); //$NON-NLS-1$ - assertEquals(filesets.length, xmlFilesets.getLength()); - - NodeList xmlZipfilesets= xmlJar.getElementsByTagName("zipfileset"); //$NON-NLS-1$ - assertEquals(zipfilesets.length, xmlZipfilesets.getLength()); - - for (int i= 0; i < xmlFilesets.getLength(); i++) { - String dir= ((Element)xmlFilesets.item(i)).getAttribute("dir"); //$NON-NLS-1$ - boolean found= false; - for (String fileset : filesets) { - if (dir.endsWith(fileset)) { - found= true; - break; - } - } - assertTrue("found fileset: '" + dir + "'", found); //$NON-NLS-1$//$NON-NLS-2$ - } - - for (int i= 0; i < xmlZipfilesets.getLength(); i++) { - String excludes= ((Element)xmlZipfilesets.item(i)).getAttribute("excludes"); //$NON-NLS-1$ - assertEquals("META-INF/*.SF", excludes); //$NON-NLS-1$ - String src= ((Element)xmlZipfilesets.item(i)).getAttribute("src"); //$NON-NLS-1$ - boolean found= false; - for (String zipfileset : zipfilesets) { - if (src.endsWith(zipfileset)) { - found= true; - break; - } - } - assertTrue("found zipfileset: '" + src + "'", found); //$NON-NLS-1$ //$NON-NLS-2$ - } - } - - /** - * Helper class to open a xml file - * - * @param xmlFilePath path to xml file to read - * @return root element of the parsed xml-document - * @throws Exception if anything went wrong - */ - private static Element readXML(IPath xmlFilePath) throws Exception { - try (InputStream in = new FileInputStream(xmlFilePath.toFile())) { - DocumentBuilder parser= XmlProcessorFactoryJdtJunit.createDocumentBuilderFactoryWithErrorOnDOCTYPE().newDocumentBuilder(); - parser.setErrorHandler(new DefaultHandler()); - Element root= parser.parse(new InputSource(in)).getDocumentElement(); - in.close(); - - return root; - } - } - - private String getName() { - return tn.getMethodName(); - } - - @Test - public void exportSameSrcRoot() throws Exception { - IPackageFragment pack= fMainRoot.createPackageFragment("mylib", true, null); //$NON-NLS-1$ - try { - pack.createCompilationUnit("Foo.java", getFooContent(), true, null); //$NON-NLS-1$ - - JarPackageData data= createAndRunFatJar(fProject, getName(), true, new ExtractLibraryHandler()); - assertAntScript(data, antScriptLocation(getName()), new ExtractLibraryHandler(), - new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - - // Jar-in-Jar loader - data= createAndRunFatJar(fProject, getName() + "_JiJ", true, new PackageLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_JiJ"), //$NON-NLS-1$ - new PackageLibraryHandler(), - new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - - // sub-folder libraries - data= createAndRunFatJar(fProject, getName() + "_SL", true, new CopyLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_SL"), //$NON-NLS-1$ - new CopyLibraryHandler(), new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - } finally { - pack.delete(true, null); - } - } - - @Test - public void exportSrcRootWithOutputFolder() throws Exception { - IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fProject, "other", new IPath[0], new IPath[0], "otherout"); //$NON-NLS-1$ //$NON-NLS-2$ - try { - IPackageFragment pack= root.createPackageFragment("mylib", true, null); //$NON-NLS-1$ - pack.createCompilationUnit("Foo.java", getFooContent(), true, null); //$NON-NLS-1$ - - JarPackageData data= createAndRunFatJar(fProject, getName(), true, new ExtractLibraryHandler()); - assertAntScript(data, antScriptLocation(getName()), - new ExtractLibraryHandler(), - new String[] { "TestSetupProject/bin", "TestSetupProject/otherout" },//$NON-NLS-1$ //$NON-NLS-2$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - - // Jar-in-Jar loader - data= createAndRunFatJar(fProject, getName() + "_JiJ", true, new PackageLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_JiJ"), //$NON-NLS-1$ - new PackageLibraryHandler(), - new String[] { "TestSetupProject/bin", "TestSetupProject/otherout" },//$NON-NLS-2$ //$NON-NLS-1$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - - // sub-folder libraries - data= createAndRunFatJar(fProject, getName() + "_SL", true, new CopyLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_SL"), //$NON-NLS-1$ - new CopyLibraryHandler(), new String[] { "TestSetupProject/bin", "TestSetupProject/otherout" },//$NON-NLS-2$ //$NON-NLS-1$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - } finally { - JavaProjectHelper.removeSourceContainer(fProject, root.getElementName()); - } - } - - @Test - public void exportOtherSrcRoot() throws Exception { - IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fProject, "other"); //$NON-NLS-1$ - try { - IPackageFragment pack= root.createPackageFragment("mylib", true, null); //$NON-NLS-1$ - pack.createCompilationUnit("Foo.java", getFooContent(), true, null); //$NON-NLS-1$ - - JarPackageData data= createAndRunFatJar(fProject, getName(), true, new ExtractLibraryHandler()); - assertAntScript(data, antScriptLocation(getName()), - new ExtractLibraryHandler(), - new String[] { "TestSetupProject/bin" }, new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ - - // Jar-in-Jar loader - data= createAndRunFatJar(fProject, getName() + "_JiJ", true, new PackageLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_JiJ"), //$NON-NLS-1$ - new PackageLibraryHandler(), - new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - - // sub-folder libraries - data= createAndRunFatJar(fProject, getName() + "_SL", true, new CopyLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_SL"), //$NON-NLS-1$ - new CopyLibraryHandler(), - new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - } finally { - JavaProjectHelper.removeSourceContainer(fProject, root.getElementName()); - } - } - - @Test - public void exportOtherProject() throws Exception { - IJavaProject otherProject= JavaProjectHelper.createJavaProject("OtherProject", "bin"); //$NON-NLS-1$ //$NON-NLS-2$ - try { - otherProject.setRawClasspath(pts.getDefaultClasspath(), null); - - IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(otherProject, "other"); //$NON-NLS-1$ - IPackageFragment pack= root.createPackageFragment("mylib", true, null); //$NON-NLS-1$ - pack.createCompilationUnit("Foo.java", getFooContent(), true, null); //$NON-NLS-1$ - - JavaProjectHelper.addRequiredProject(fProject, otherProject); - - JarPackageData data= createAndRunFatJar(fProject, getName(), true, new ExtractLibraryHandler()); - assertAntScript(data, antScriptLocation(getName()), - new ExtractLibraryHandler(), - new String[] { "TestSetupProject/bin", "OtherProject/bin" }, new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - - // Jar-in-Jar loader - data= createAndRunFatJar(fProject, getName() + "_JiJ", true, new PackageLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_JiJ"), //$NON-NLS-1$ - new PackageLibraryHandler(), - new String[] { "TestSetupProject/bin", "OtherProject/bin" },//$NON-NLS-1$ //$NON-NLS-2$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - - // sub-folder libraries - data= createAndRunFatJar(fProject, getName() + "_SL", true, new CopyLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_SL"), //$NON-NLS-1$ - new CopyLibraryHandler(), - new String[] { "TestSetupProject/bin", "OtherProject/bin" },//$NON-NLS-1$ //$NON-NLS-2$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - } finally { - JavaProjectHelper.removeFromClasspath(fProject, otherProject.getProject().getFullPath()); - JavaProjectHelper.delete(otherProject); - } - } - - @Test - public void exportInternalLib() throws Exception { - File lib= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB_STDOUT); - IPackageFragmentRoot root= JavaProjectHelper.addLibraryWithImport(fProject, Path.fromOSString(lib.getPath()), null, null); - - try { - JarPackageData data= createAndRunFatJar(fProject, getName(), true, new ExtractLibraryHandler()); - assertAntScript(data, antScriptLocation(getName()), - new ExtractLibraryHandler(), - new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar", "TestSetupProject/mylib_stdout.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ - - // Jar-in-Jar loader - data= createAndRunFatJar(fProject, getName() + "_JiJ", true, new PackageLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_JiJ"), //$NON-NLS-1$ - new PackageLibraryHandler(), - new String[] { "TestSetupProject/bin" },//$NON-NLS-1$ - new String[] { "rtstubs15.jar", "mylib_stdout.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ - - // sub-folder libraries - data= createAndRunFatJar(fProject, getName() + "_SL", true, new CopyLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_SL"), //$NON-NLS-1$ - new CopyLibraryHandler(), - new String[] { "TestSetupProject/bin" },//$NON-NLS-1$ - new String[] { "rtstubs15.jar", "mylib_stdout.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ - } finally { - JavaProjectHelper.removeFromClasspath(fProject, root.getPath()); - } - } - - @Test - public void exportInternalLib_UncompressedJar() throws Exception { - File lib= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB_STDOUT); - IPackageFragmentRoot root= JavaProjectHelper.addLibraryWithImport(fProject, Path.fromOSString(lib.getPath()), null, null); - - try { - JarPackageData data= createAndRunFatJar(fProject, getName(), false, new ExtractLibraryHandler()); - assertAntScript(data, antScriptLocation(getName()), - new ExtractLibraryHandler(), - new String[] { "TestSetupProject/bin" }, new String[] { "rtstubs15.jar", "TestSetupProject/mylib_stdout.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - - // Jar-in-Jar loader - data= createAndRunFatJar(fProject, getName() + "_JiJ", true, new PackageLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_JiJ"), //$NON-NLS-1$ - new PackageLibraryHandler(), - new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar", "mylib_stdout.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ - - // sub-folder libraries - data= createAndRunFatJar(fProject, getName() + "_SL", true, new CopyLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_SL"), //$NON-NLS-1$ - new CopyLibraryHandler(), - new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar", "mylib_stdout.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ - } finally { - JavaProjectHelper.removeFromClasspath(fProject, root.getPath()); - } - } - - @Test - public void exportExternalLib() throws Exception { - File lib= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB_STDOUT); - IPackageFragmentRoot root= JavaProjectHelper.addLibrary(fProject, Path.fromOSString(lib.getPath())); - - try { - // normal Jar - JarPackageData data= createAndRunFatJar(fProject, getName(), true, new ExtractLibraryHandler()); - assertAntScript(data, antScriptLocation(getName()), - new ExtractLibraryHandler(), - new String[] { "TestSetupProject/bin" }, new String[] { "rtstubs15.jar", "testresources/mylib_stdout.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - - // Jar-in-Jar loader - data= createAndRunFatJar(fProject, getName() + "_JiJ", true, new PackageLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_JiJ"), //$NON-NLS-1$ - new PackageLibraryHandler(), - new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar", "mylib_stdout.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ - - // sub-folder libraries - data= createAndRunFatJar(fProject, getName() + "_SL", true, new CopyLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_SL"), //$NON-NLS-1$ - new CopyLibraryHandler(), new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar", "mylib_stdout.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ - } finally { - JavaProjectHelper.removeFromClasspath(fProject, root.getPath()); - } - } - - @Test - public void classFolder() throws Exception { - File lib= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB_STDOUT); - - IPackageFragmentRoot root= JavaProjectHelper.addClassFolderWithImport(fProject, "cf", null, null, lib); //$NON-NLS-1$ - try { - // normal Jar - JarPackageData data= createAndRunFatJar(fProject, getName(), true, new ExtractLibraryHandler()); - assertAntScript(data, antScriptLocation(getName()), - new ExtractLibraryHandler(), - new String[] { "TestSetupProject/bin", "TestSetupProject/cf" }, new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - - // Jar-in-Jar loader - data= createAndRunFatJar(fProject, getName() + "_JiJ", true, new PackageLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_JiJ"), //$NON-NLS-1$ - new PackageLibraryHandler(), - new String[] { "TestSetupProject/bin", "TestSetupProject/cf" },//$NON-NLS-1$ //$NON-NLS-2$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - - // sub-folder libraries - data= createAndRunFatJar(fProject, getName() + "_SL", true, new CopyLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_SL"), //$NON-NLS-1$ - new CopyLibraryHandler(), new String[] { "TestSetupProject/bin", "TestSetupProject/cf" },//$NON-NLS-1$ //$NON-NLS-2$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - } finally { - JavaProjectHelper.removeFromClasspath(fProject, root.getPath()); - } - } - - @Test - public void variable() throws Exception { - File lib= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB_STDOUT); - JavaCore.setClasspathVariable("MYLIB", Path.fromOSString(lib.getPath()), null); //$NON-NLS-1$ - - JavaProjectHelper.addVariableEntry(fProject, new Path("MYLIB"), null, null); //$NON-NLS-1$ - try { - // normal Jar - JarPackageData data= createAndRunFatJar(fProject, getName(), true, new ExtractLibraryHandler()); - assertAntScript(data, antScriptLocation(getName()), - new ExtractLibraryHandler(), - new String[] { "TestSetupProject/bin" }, new String[] { "rtstubs15.jar", "testresources/mylib_stdout.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - - // Jar-in-Jar loader - data= createAndRunFatJar(fProject, getName() + "_JiJ", true, new PackageLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_JiJ"), //$NON-NLS-1$ - new PackageLibraryHandler(), - new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar", "mylib_stdout.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ - - // sub-folder libraries - data= createAndRunFatJar(fProject, getName() + "_SL", true, new CopyLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_SL"), //$NON-NLS-1$ - new CopyLibraryHandler(), new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar", "mylib_stdout.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ - } finally { - JavaProjectHelper.removeFromClasspath(fProject, new Path("MYLIB")); //$NON-NLS-1$ - } - } - - @Test - public void signedLibs() throws Exception { - File lib= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB_SIG); - IPackageFragmentRoot root= JavaProjectHelper.addLibraryWithImport(fProject, Path.fromOSString(lib.getPath()), null, null); - - try { - // normal Jar - JarPackageData data= createAndRunFatJar(fProject, getName(), true, new ExtractLibraryHandler()); - assertAntScript(data, antScriptLocation(getName()), - new ExtractLibraryHandler(), - new String[] { "TestSetupProject/bin" }, new String[] { "rtstubs15.jar", "TestSetupProject/mylib_sig.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - - // Jar-in-Jar loader - data= createAndRunFatJar(fProject, getName() + "_JiJ", true, new PackageLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_JiJ"), //$NON-NLS-1$ - new PackageLibraryHandler(), - new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar", "mylib_sig.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ - - // sub-folder libraries - data= createAndRunFatJar(fProject, getName() + "_SL", true, new CopyLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_SL"), //$NON-NLS-1$ - new CopyLibraryHandler(), new String[] { "TestSetupProject/bin" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar", "mylib_sig.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ - } finally { - JavaProjectHelper.removeFromClasspath(fProject, root.getPath()); - } - } - - @Test - public void externalClassFolder() throws Exception { - File classFolder= JavaTestPlugin.getDefault().getFileInPlugin(new Path("testresources/externalClassFolder/"));//$NON-NLS-1$ - assertNotNull("class folder not found", classFolder);//$NON-NLS-1$ - assertTrue("class folder not found", classFolder.exists()); - IPackageFragmentRoot externalRoot= JavaProjectHelper.addLibrary(fProject, Path.fromOSString(classFolder.getPath()), null, null); - - try { - JarPackageData data= createAndRunFatJar(fProject, getName(), true, new ExtractLibraryHandler()); - assertAntScript(data, antScriptLocation(getName()), - new ExtractLibraryHandler(), - new String[] { "TestSetupProject/bin", "testresources/externalClassFolder" }, new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - - // Jar-in-Jar loader - data= createAndRunFatJar(fProject, getName() + "_JiJ", true, new PackageLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_JiJ"), //$NON-NLS-1$ - new PackageLibraryHandler(), - new String[] { "TestSetupProject/bin", "testresources/externalClassFolder" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - - // sub-folder libraries - data= createAndRunFatJar(fProject, getName() + "_SL", true, new CopyLibraryHandler()); //$NON-NLS-1$ - assertAntScript(data, antScriptLocation(getName() + "_SL"), //$NON-NLS-1$ - new CopyLibraryHandler(), new String[] { "TestSetupProject/bin", "testresources/externalClassFolder" }, //$NON-NLS-1$ - new String[] { "rtstubs15.jar" }); //$NON-NLS-1$ - } finally { - JavaProjectHelper.removeFromClasspath(fProject, externalRoot.getPath()); - } - } -} diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/jarexport/JarExportTests.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/jarexport/JarExportTests.java index d301343047c..74e31b56a4d 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/jarexport/JarExportTests.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/jarexport/JarExportTests.java @@ -14,11 +14,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.jarexport; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ PlainJarExportTests.class, FatJarExportTests.class }) diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/PackageExplorerTests.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/PackageExplorerTests.java index ce3dd1d9898..677677b06dd 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/PackageExplorerTests.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/PackageExplorerTests.java @@ -14,11 +14,11 @@ package org.eclipse.jdt.ui.tests.packageview; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ ContentProviderTests1.class, ContentProviderTests2.class, ContentProviderTests3.class, diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/CleanUpTestCaseSuite.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/CleanUpTestCaseSuite.java index 657ae7eda57..2028d51f818 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/CleanUpTestCaseSuite.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/CleanUpTestCaseSuite.java @@ -14,11 +14,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.quickfix; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ CleanUpStressTest.class, CleanUpTest.class, CleanUpTest1d4.class, diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTestSuite.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTestSuite.java index 26a59b0acc0..5abdecabb11 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTestSuite.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTestSuite.java @@ -14,11 +14,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.quickfix; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ QuickFixTest9.class, QuickFixTest1d8.class, QuickFixTest14.class, diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/refactoring/RefactoringTests.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/refactoring/RefactoringTests.java index c246fd0a8df..f29fe5dff1d 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/refactoring/RefactoringTests.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/refactoring/RefactoringTests.java @@ -13,11 +13,11 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.refactoring; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ IsCompletelySelectedTest.class, ParentCheckerTest.class }) diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/SearchTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/SearchTest.java index 2860591bef5..3726c21b69c 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/SearchTest.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/SearchTest.java @@ -14,11 +14,11 @@ package org.eclipse.jdt.ui.tests.search; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; +import org.junit.platform.suite.api.SelectClasses; +import org.junit.platform.suite.api.Suite; -@RunWith(Suite.class) -@Suite.SuiteClasses({ +@Suite +@SelectClasses({ WorkspaceReferenceTest.class, TreeContentProviderTestWrapper.class, ParticipantTest.class,