From 765297c4faf162b09b2e3ebbb0f538ff76f40d55 Mon Sep 17 00:00:00 2001 From: Lars Vogel Date: Mon, 9 Dec 2024 22:56:51 +0100 Subject: [PATCH 1/2] Remove activator from org.eclipse.search.tests Activator is not required for the tests and can be replaced with FrameworkUtil for bundleContext access. --- .../META-INF/MANIFEST.MF | 1 - .../search/core/tests/LineConversionTest.java | 8 +++---- .../org/eclipse/search/tests/FileTool.java | 14 ++++++++++++ .../eclipse/search/tests/ResourceHelper.java | 7 ++++-- ...rchTestPlugin.java => SearchTestUtil.java} | 22 ++----------------- .../filesearch/AnnotationManagerTest.java | 19 +++++++++------- .../tests/filesearch/FileSearchTests.java | 12 +++++----- .../filesearch/LineAnnotationManagerTest.java | 4 ++-- .../tests/filesearch/PositionTrackerTest.java | 6 ++--- .../filesearch/SearchResultPageTest.java | 4 ++-- 10 files changed, 49 insertions(+), 48 deletions(-) rename tests/org.eclipse.search.tests/src/org/eclipse/search/tests/{SearchTestPlugin.java => SearchTestUtil.java} (76%) diff --git a/tests/org.eclipse.search.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.search.tests/META-INF/MANIFEST.MF index 70fe03f11cf..3bd122b02c4 100644 --- a/tests/org.eclipse.search.tests/META-INF/MANIFEST.MF +++ b/tests/org.eclipse.search.tests/META-INF/MANIFEST.MF @@ -3,7 +3,6 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.search.tests;singleton:=true Bundle-Version: 3.11.600.qualifier -Bundle-Activator: org.eclipse.search.tests.SearchTestPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin Export-Package: org.eclipse.search.core.tests;x-internal:=true, diff --git a/tests/org.eclipse.search.tests/src/org/eclipse/search/core/tests/LineConversionTest.java b/tests/org.eclipse.search.tests/src/org/eclipse/search/core/tests/LineConversionTest.java index d72b28e8ca9..b38bd6a88a2 100644 --- a/tests/org.eclipse.search.tests/src/org/eclipse/search/core/tests/LineConversionTest.java +++ b/tests/org.eclipse.search.tests/src/org/eclipse/search/core/tests/LineConversionTest.java @@ -36,7 +36,7 @@ import org.eclipse.jface.text.Position; import org.eclipse.search.internal.ui.SearchPlugin; -import org.eclipse.search.tests.SearchTestPlugin; +import org.eclipse.search.tests.SearchTestUtil; import org.eclipse.search2.internal.ui.text.PositionTracker; @@ -70,7 +70,7 @@ private String getFileContents() { @Test public void testConvertToCharacter() throws Exception { - SearchTestPlugin.openTextEditor(SearchPlugin.getActivePage(), fFile); + SearchTestUtil.openTextEditor(SearchPlugin.getActivePage(), fFile); ITextFileBuffer fb= FileBuffers.getTextFileBufferManager().getTextFileBuffer(fFile.getFullPath(), LocationKind.IFILE); IDocument doc= fb.getDocument(); @@ -97,7 +97,7 @@ public void testConvertToCharacter() throws Exception { @Test public void testBogusLines() throws Exception { - SearchTestPlugin.openTextEditor(SearchPlugin.getActivePage(), fFile); + SearchTestUtil.openTextEditor(SearchPlugin.getActivePage(), fFile); ITextFileBuffer fb= FileBuffers.getTextFileBufferManager().getTextFileBuffer(fFile.getFullPath(), LocationKind.IFILE); IDocument doc= fb.getDocument(); @@ -106,7 +106,7 @@ public void testBogusLines() throws Exception { } public void atestLineOffsets() throws Exception { - SearchTestPlugin.openTextEditor(SearchPlugin.getActivePage(), fFile); + SearchTestUtil.openTextEditor(SearchPlugin.getActivePage(), fFile); ITextFileBuffer fb= FileBuffers.getTextFileBufferManager().getTextFileBuffer(fFile.getFullPath(), LocationKind.IFILE); IDocument doc= fb.getDocument(); diff --git a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/FileTool.java b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/FileTool.java index 6d85f845340..6b9de944037 100644 --- a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/FileTool.java +++ b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/FileTool.java @@ -25,6 +25,8 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipFile; +import org.osgi.framework.Bundle; + import org.eclipse.core.runtime.FileLocator; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Plugin; @@ -157,6 +159,18 @@ public static File getFileInPlugin(Plugin plugin, IPath path) { } } + + public static File getFileInBundle(Bundle bundle, IPath path) { + try { + URL installURL= bundle.getEntry(path.toString()); + URL localURL= FileLocator.toFileURL(installURL); + return new File(localURL.getFile()); + } catch (IOException e) { + return null; + } + } + + public static File createTempFileInPlugin(Plugin plugin, IPath path) { IPath stateLocation= plugin.getStateLocation(); stateLocation= stateLocation.append(path); diff --git a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/ResourceHelper.java b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/ResourceHelper.java index f61582e1bd6..d5507ab409e 100644 --- a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/ResourceHelper.java +++ b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/ResourceHelper.java @@ -20,7 +20,10 @@ import java.util.zip.ZipException; import java.util.zip.ZipFile; +import org.osgi.framework.FrameworkUtil; + import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.ILog; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; @@ -76,7 +79,7 @@ public static void delete(final IResource resource) throws CoreException { i= MAX_RETRY; } catch (CoreException e) { if (i == MAX_RETRY - 1) { - SearchTestPlugin.getDefault().getLog().log(e.getStatus()); + ILog.get().log(e.getStatus()); throw e; } System.gc(); // help windows to really close file locks @@ -171,7 +174,7 @@ public static IProject createLinkedProject(String projectName, Plugin plugin, IP public static IProject createJUnitSourceProject(String projectName) throws CoreException, ZipException, IOException { IProject project= ResourceHelper.createProject(projectName); - try (ZipFile zip= new ZipFile(FileTool.getFileInPlugin(SearchTestPlugin.getDefault(), IPath.fromOSString("testresources/junit37-noUI-src.zip")))) { //$NON-NLS-1$ + try (ZipFile zip= new ZipFile(FileTool.getFileInBundle(FrameworkUtil.getBundle(ResourceHelper.class), IPath.fromOSString("testresources/junit37-noUI-src.zip")))) { //$NON-NLS-1$ FileTool.unzip(zip, project.getLocation().toFile()); } project.refreshLocal(IResource.DEPTH_INFINITE, null); diff --git a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/SearchTestPlugin.java b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/SearchTestUtil.java similarity index 76% rename from tests/org.eclipse.search.tests/src/org/eclipse/search/tests/SearchTestPlugin.java rename to tests/org.eclipse.search.tests/src/org/eclipse/search/tests/SearchTestUtil.java index 2ed8b407dc9..0dfd54b4eec 100644 --- a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/SearchTestPlugin.java +++ b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/SearchTestUtil.java @@ -23,33 +23,15 @@ import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.ide.IDE; -import org.eclipse.ui.plugin.AbstractUIPlugin; import org.eclipse.ui.editors.text.EditorsUI; -import org.eclipse.search.ui.NewSearchUI; - -import org.eclipse.search2.internal.ui.SearchView; - /** - * Plugin class for search tests. + * Util class for search tests. */ -public class SearchTestPlugin extends AbstractUIPlugin { - //The shared instance. - private static SearchTestPlugin fgPlugin; - - public SearchTestPlugin() { - fgPlugin = this; - } +public class SearchTestUtil { - public static SearchTestPlugin getDefault() { - return fgPlugin; - } - - public SearchView getSearchView() { - return (SearchView) NewSearchUI.activateSearchResultView(); - } public static void ensureWelcomePageClosed() { IWorkbenchWindow activeWorkbenchWindow= PlatformUI.getWorkbench().getActiveWorkbenchWindow(); diff --git a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/AnnotationManagerTest.java b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/AnnotationManagerTest.java index 2c3ea40eece..21cb543ee18 100644 --- a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/AnnotationManagerTest.java +++ b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/AnnotationManagerTest.java @@ -43,13 +43,14 @@ import org.eclipse.search.internal.ui.text.FileMatch; import org.eclipse.search.internal.ui.text.FileSearchQuery; import org.eclipse.search.internal.ui.text.FileSearchResult; -import org.eclipse.search.tests.SearchTestPlugin; +import org.eclipse.search.tests.SearchTestUtil; import org.eclipse.search.ui.NewSearchUI; import org.eclipse.search.ui.text.AbstractTextSearchResult; import org.eclipse.search.ui.text.FileTextSearchScope; import org.eclipse.search.ui.text.Match; import org.eclipse.search2.internal.ui.InternalSearchUI; +import org.eclipse.search2.internal.ui.SearchView; import org.eclipse.search2.internal.ui.text.EditorAnnotationManager; public class AnnotationManagerTest { @@ -63,7 +64,7 @@ public class AnnotationManagerTest { @Before public void setUp() { - SearchTestPlugin.ensureWelcomePageClosed(); + SearchTestUtil.ensureWelcomePageClosed(); EditorAnnotationManager.debugSetHighlighterType(EditorAnnotationManager.HIGHLIGHTER_ANNOTATION); String[] fileNamePattern= { "*.java" }; FileTextSearchScope scope= FileTextSearchScope.newWorkspaceScope(fileNamePattern, false); @@ -89,7 +90,7 @@ public void testAddAnnotation() throws Exception { try { for (Object f : files) { IFile file = (IFile) f; - ITextEditor editor= (ITextEditor)SearchTestPlugin.openTextEditor(SearchPlugin.getActivePage(), file); + ITextEditor editor= (ITextEditor)SearchTestUtil.openTextEditor(SearchPlugin.getActivePage(), file); IAnnotationModel annotationModel= editor.getDocumentProvider().getAnnotationModel(editor.getEditorInput()); annotationModel.getAnnotationIterator(); HashSet positions= new HashSet<>(); @@ -118,7 +119,7 @@ public void testBogusAnnotation() throws Exception { NewSearchUI.runQueryInForeground(null, fQuery1); FileSearchResult result= (FileSearchResult) fQuery1.getSearchResult(); IFile file= (IFile) result.getElements()[0]; - SearchTestPlugin.openTextEditor(PlatformUI.getWorkbench().getWorkbenchWindows()[0].getPages()[0], file); + SearchTestUtil.openTextEditor(PlatformUI.getWorkbench().getWorkbenchWindows()[0].getPages()[0], file); result.addMatch(new FileMatch(file)); } @@ -132,7 +133,7 @@ public void testRemoveQuery() throws Exception { try { for (Object f : files) { IFile file = (IFile) f; - ITextEditor editor= (ITextEditor)SearchTestPlugin.openTextEditor(SearchPlugin.getActivePage(), file); + ITextEditor editor= (ITextEditor)SearchTestUtil.openTextEditor(SearchPlugin.getActivePage(), file); IAnnotationModel annotationModel= editor.getDocumentProvider().getAnnotationModel(editor.getEditorInput()); int annotationCount= 0; for (Iterator annotations= annotationModel.getAnnotationIterator(); annotations.hasNext();) { @@ -157,7 +158,7 @@ public void testReplaceQuery() throws Exception { try { for (Object f : files) { IFile file = (IFile) f; - ITextEditor editor= (ITextEditor)SearchTestPlugin.openTextEditor(SearchPlugin.getActivePage(), file); + ITextEditor editor= (ITextEditor)SearchTestUtil.openTextEditor(SearchPlugin.getActivePage(), file); IAnnotationModel annotationModel= editor.getDocumentProvider().getAnnotationModel(editor.getEditorInput()); IDocument document= editor.getDocumentProvider().getDocument(editor.getEditorInput()); for (Iterator annotations= annotationModel.getAnnotationIterator(); annotations.hasNext();) { @@ -180,11 +181,13 @@ public void testSwitchQuery() throws Exception { AbstractTextSearchResult result= (AbstractTextSearchResult) fQuery1.getSearchResult(); Object[] files= result.getElements(); NewSearchUI.runQueryInForeground(null, fQuery2); - SearchTestPlugin.getDefault().getSearchView().showSearchResult(result); + + SearchView activateSearchResultView= (SearchView) NewSearchUI.activateSearchResultView(); + activateSearchResultView.showSearchResult(result); try { for (Object f : files) { IFile file = (IFile) f; - ITextEditor editor= (ITextEditor)SearchTestPlugin.openTextEditor(SearchPlugin.getActivePage(), file); + ITextEditor editor= (ITextEditor)SearchTestUtil.openTextEditor(SearchPlugin.getActivePage(), file); IAnnotationModel annotationModel= editor.getDocumentProvider().getAnnotationModel(editor.getEditorInput()); IDocument document= editor.getDocumentProvider().getDocument(editor.getEditorInput()); for (Iterator annotations= annotationModel.getAnnotationIterator(); annotations.hasNext();) { diff --git a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/FileSearchTests.java b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/FileSearchTests.java index 8439dc29140..38791d8fb41 100644 --- a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/FileSearchTests.java +++ b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/FileSearchTests.java @@ -42,7 +42,7 @@ import org.eclipse.search.internal.core.text.PatternConstructor; import org.eclipse.search.internal.ui.SearchPlugin; import org.eclipse.search.tests.ResourceHelper; -import org.eclipse.search.tests.SearchTestPlugin; +import org.eclipse.search.tests.SearchTestUtil; import org.eclipse.search.ui.text.FileTextSearchScope; public class FileSearchTests { @@ -240,10 +240,10 @@ private void testWildCards3(TestResultCollector collector) throws Exception { IWorkbenchPage activePage= SearchPlugin.getActivePage(); try { - SearchTestPlugin.openTextEditor(activePage, openFile1); - SearchTestPlugin.openTextEditor(activePage, openFile2); - SearchTestPlugin.openTextEditor(activePage, openFile3); - SearchTestPlugin.openTextEditor(activePage, openFile4); + SearchTestUtil.openTextEditor(activePage, openFile1); + SearchTestUtil.openTextEditor(activePage, openFile2); + SearchTestUtil.openTextEditor(activePage, openFile3); + SearchTestUtil.openTextEditor(activePage, openFile4); long start= System.currentTimeMillis(); @@ -339,7 +339,7 @@ private void testFileOpenInEditor(TestResultCollector collector) throws Exceptio IFile file2= ResourceHelper.createFile(folder, "file2", buf.toString()); try { - SearchTestPlugin.openTextEditor(SearchPlugin.getActivePage(), file2); + SearchTestUtil.openTextEditor(SearchPlugin.getActivePage(), file2); Pattern searchPattern= PatternConstructor.createPattern("hello", false, true); diff --git a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/LineAnnotationManagerTest.java b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/LineAnnotationManagerTest.java index 86fcd68b2e6..b3f89fbcc13 100644 --- a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/LineAnnotationManagerTest.java +++ b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/LineAnnotationManagerTest.java @@ -38,7 +38,7 @@ import org.eclipse.ui.editors.text.EditorsUI; import org.eclipse.search.internal.ui.SearchPlugin; -import org.eclipse.search.tests.SearchTestPlugin; +import org.eclipse.search.tests.SearchTestUtil; import org.eclipse.search.ui.NewSearchUI; import org.eclipse.search.ui.text.AbstractTextSearchResult; import org.eclipse.search.ui.text.FileTextSearchScope; @@ -81,7 +81,7 @@ public void testLineBasedQuery() throws Exception { try { for (Object f : files) { IFile file= (IFile) f; - ITextEditor editor= (ITextEditor)SearchTestPlugin.openTextEditor(SearchPlugin.getActivePage(), file); + ITextEditor editor= (ITextEditor)SearchTestUtil.openTextEditor(SearchPlugin.getActivePage(), file); IAnnotationModel annotationModel= editor.getDocumentProvider().getAnnotationModel(editor.getEditorInput()); annotationModel.getAnnotationIterator(); ArrayList positions= new ArrayList<>(); diff --git a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/PositionTrackerTest.java b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/PositionTrackerTest.java index 12fbcaf36da..3a73fb12e78 100644 --- a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/PositionTrackerTest.java +++ b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/PositionTrackerTest.java @@ -40,7 +40,7 @@ import org.eclipse.search.internal.ui.SearchPlugin; import org.eclipse.search.internal.ui.text.FileSearchQuery; import org.eclipse.search.internal.ui.text.FileSearchResult; -import org.eclipse.search.tests.SearchTestPlugin; +import org.eclipse.search.tests.SearchTestUtil; import org.eclipse.search.ui.NewSearchUI; import org.eclipse.search.ui.text.AbstractTextSearchResult; import org.eclipse.search.ui.text.FileTextSearchScope; @@ -96,7 +96,7 @@ public void testInsertInsideMatch() throws Exception { private void checkInsertInsideMatch(FileSearchResult result, IFile file) throws PartInitException, BadLocationException { Match[] matches= result.getMatches(file); try { - SearchTestPlugin.openTextEditor(SearchPlugin.getActivePage(), file); + SearchTestUtil.openTextEditor(SearchPlugin.getActivePage(), file); ITextFileBuffer fb= FileBuffers.getTextFileBufferManager().getTextFileBuffer(file.getFullPath(), LocationKind.IFILE); Job.getJobManager().beginRule(file, null); IDocument doc= fb.getDocument(); @@ -129,7 +129,7 @@ private void checkInsertAtZero(AbstractTextSearchResult result, IFile file) thro originalStarts[i]= matches[i].getOffset(); } try { - SearchTestPlugin.openTextEditor(SearchPlugin.getActivePage(), file); + SearchTestUtil.openTextEditor(SearchPlugin.getActivePage(), file); ITextFileBuffer fb= FileBuffers.getTextFileBufferManager().getTextFileBuffer(file.getFullPath(), LocationKind.IFILE); Job.getJobManager().beginRule(file, null); IDocument doc= fb.getDocument(); diff --git a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/SearchResultPageTest.java b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/SearchResultPageTest.java index 9475b77e331..bd6d932701c 100644 --- a/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/SearchResultPageTest.java +++ b/tests/org.eclipse.search.tests/src/org/eclipse/search/tests/filesearch/SearchResultPageTest.java @@ -36,7 +36,7 @@ import org.eclipse.search.internal.ui.text.FileSearchPage; import org.eclipse.search.internal.ui.text.FileSearchQuery; -import org.eclipse.search.tests.SearchTestPlugin; +import org.eclipse.search.tests.SearchTestUtil; import org.eclipse.search.ui.ISearchResultViewPart; import org.eclipse.search.ui.NewSearchUI; import org.eclipse.search.ui.text.AbstractTextSearchResult; @@ -52,7 +52,7 @@ public class SearchResultPageTest { @Before public void setUp() throws Exception { - SearchTestPlugin.ensureWelcomePageClosed(); + SearchTestUtil.ensureWelcomePageClosed(); String[] fileNamePatterns= { "*.java" }; FileTextSearchScope scope= FileTextSearchScope.newWorkspaceScope(fileNamePatterns, false); From 52dfee8eb8b6f6ae25a9dfabd50c4af8a8d9b3a7 Mon Sep 17 00:00:00 2001 From: Eclipse Platform Bot Date: Mon, 9 Dec 2024 22:03:28 +0000 Subject: [PATCH 2/2] Version bump(s) for 4.35 stream --- tests/org.eclipse.search.tests/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/org.eclipse.search.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.search.tests/META-INF/MANIFEST.MF index 3bd122b02c4..ddd2d496922 100644 --- a/tests/org.eclipse.search.tests/META-INF/MANIFEST.MF +++ b/tests/org.eclipse.search.tests/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.search.tests;singleton:=true -Bundle-Version: 3.11.600.qualifier +Bundle-Version: 3.11.700.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Export-Package: org.eclipse.search.core.tests;x-internal:=true,