diff --git a/core/org.eclipse.cdt.core.tests/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.core.tests/META-INF/MANIFEST.MF index ca6590575e6..69844003b2d 100644 --- a/core/org.eclipse.cdt.core.tests/META-INF/MANIFEST.MF +++ b/core/org.eclipse.cdt.core.tests/META-INF/MANIFEST.MF @@ -51,4 +51,6 @@ Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: JavaSE-17 Automatic-Module-Name: org.eclipse.cdt.core.tests Bundle-Localization: plugin -Import-Package: org.junit.jupiter.api;version="5.7.0" +Import-Package: org.junit.jupiter.api;version="5.9.0", + org.junit.jupiter.params;version="5.9.0", + org.junit.jupiter.params.provider;version="5.9.0" diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/envvar/IEnvironmentVariableManagerTests.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/envvar/IEnvironmentVariableManagerTests.java index 9f7e82fc994..924f257cd4d 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/envvar/IEnvironmentVariableManagerTests.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/envvar/IEnvironmentVariableManagerTests.java @@ -13,6 +13,11 @@ *******************************************************************************/ package org.eclipse.cdt.core.envvar; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.io.ByteArrayInputStream; import java.util.Arrays; @@ -22,6 +27,7 @@ import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; import org.eclipse.cdt.core.settings.model.ICProjectDescription; import org.eclipse.cdt.core.settings.model.util.CDataUtil; import org.eclipse.cdt.core.testplugin.ResourceHelper; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase5; import org.eclipse.cdt.internal.core.envvar.EnvironmentVariableManager; import org.eclipse.cdt.utils.envvar.IEnvironmentChangeEvent; import org.eclipse.cdt.utils.envvar.IEnvironmentChangeListener; @@ -32,12 +38,9 @@ import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.jobs.IJobManager; import org.eclipse.core.runtime.jobs.ISchedulingRule; import org.eclipse.core.runtime.jobs.Job; +import org.junit.jupiter.api.Test; -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -public class IEnvironmentVariableManagerTests extends TestCase { +public class IEnvironmentVariableManagerTests extends BaseTestCase5 { /** * Mock listener to listen to environment variable change events. */ @@ -65,26 +68,12 @@ public class IEnvironmentVariableManagerTests extends TestCase { } } - @Override - protected void setUp() throws Exception { - super.setUp(); - } - - @Override - protected void tearDown() throws Exception { - ResourceHelper.cleanUp(getName()); - } - - public static Test suite() { - TestSuite suite = new TestSuite(IEnvironmentVariableManagerTests.class); - return suite; - } - /** * Create a project with 2 configurations. Set an environment variable on one of * the configurations. Close and reopen the project. Check persistence * @throws Exception */ + @Test public void testSimpleVar() throws Exception { final IProject project = ResourceHelper.createCDTProjectWithConfig("envProject"); @@ -138,6 +127,7 @@ public class IEnvironmentVariableManagerTests extends TestCase { * Also tests that an an external change to the settings file is correctly picked up. * @throws Exception */ + @Test public void testOldStyleLoad() throws Exception { final IProject project = ResourceHelper.createCDTProjectWithConfig("envProjectOldStyleLoad"); @@ -178,6 +168,7 @@ public class IEnvironmentVariableManagerTests extends TestCase { * Tests we can load an old-style preferences while an incompatible scheduling rule is held. * @throws Exception */ + @Test public void testOldStyleLoadConflictingSchedulingRule() throws Exception { final IProject project = ResourceHelper.createCDTProjectWithConfig("incompatibleSchedRule"); @@ -245,6 +236,7 @@ public class IEnvironmentVariableManagerTests extends TestCase { * Test that an ovewrite of new style preferences is loaded correctly * @throws Exception */ + @Test public void testNewStyleOverwrite() throws Exception { final IProject project = ResourceHelper.createCDTProjectWithConfig("envProjectNewStyleLoad"); @@ -285,6 +277,7 @@ public class IEnvironmentVariableManagerTests extends TestCase { assertEquals(var2, envManager.getVariable(var2.getName(), prjDesc.getConfigurationById(id2), true)); } + @Test public void testNoChangeToOneVariable() throws Exception { final IProject project = ResourceHelper.createCDTProjectWithConfig("envProject"); @@ -344,6 +337,7 @@ public class IEnvironmentVariableManagerTests extends TestCase { /** * tests the get / set append persisting */ + @Test public void testGetSetAppend() throws Exception { final IProject project = ResourceHelper.createCDTProjectWithConfig("envProject"); @@ -387,6 +381,7 @@ public class IEnvironmentVariableManagerTests extends TestCase { /** * Tests file system change of the settings file */ + @Test public void testSettingsOverwrite() throws Exception { final IProject project = ResourceHelper.createCDTProjectWithConfig("envProject"); @@ -436,6 +431,7 @@ public class IEnvironmentVariableManagerTests extends TestCase { /** * Tests file system change of the settings file without recreating the project description */ + @Test public void testSettingsOverwriteBug295436() throws Exception { final IProject project = ResourceHelper.createCDTProjectWithConfig("envProject"); @@ -493,6 +489,7 @@ public class IEnvironmentVariableManagerTests extends TestCase { * Test that on deleting and recreating the project variables haven't persisted * @throws Exception */ + @Test public void testBrokenCaching() throws Exception { final IProject project = ResourceHelper.createCDTProjectWithConfig("envProject"); @@ -537,6 +534,7 @@ public class IEnvironmentVariableManagerTests extends TestCase { * The model shouldn't cache incorrect variables / values in the project description * @throws Exception */ + @Test public void testBug265282() throws Exception { final IProject project = ResourceHelper.createCDTProjectWithConfig("envProject"); @@ -625,6 +623,7 @@ public class IEnvironmentVariableManagerTests extends TestCase { * * @throws Exception */ + @Test public void testBug284843() throws Exception { final IProject project = ResourceHelper.createCDTProjectWithConfig("envProject"); ICProjectDescription prjDesc = CoreModel.getDefault().getProjectDescription(project); @@ -678,6 +677,7 @@ public class IEnvironmentVariableManagerTests extends TestCase { * * @throws Exception */ + @Test public void testEnvironmentChangeListener() throws Exception { // Register environment event listener MockEnvironmentListener envListener = new MockEnvironmentListener(); diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/efsextension/tests/EFSExtensionTests.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/efsextension/tests/EFSExtensionTests.java index 1f02826690e..77d415628cb 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/efsextension/tests/EFSExtensionTests.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/efsextension/tests/EFSExtensionTests.java @@ -13,17 +13,19 @@ *******************************************************************************/ package org.eclipse.cdt.core.internal.efsextension.tests; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; + import java.net.URI; import java.net.URISyntaxException; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase5; import org.eclipse.cdt.utils.EFSExtensionManager; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; +import org.junit.jupiter.api.Test; /** * Tests the EFSExtensionManager and EFSExtensionProvider classes, as well as the EFSExtensionProvider extension point. @@ -31,7 +33,8 @@ import junit.framework.TestSuite; * @author crecoskie * */ -public class EFSExtensionTests extends TestCase { +public class EFSExtensionTests extends BaseTestCase5 { + @Test public void testReplaceInRSEURI() { URI originalURI = null; URI expected = null; @@ -49,6 +52,7 @@ public class EFSExtensionTests extends TestCase { assertEquals(expected, uri); } + @Test public void testReplaceInUNIXURI() { URI originalURI = null; URI expected = null; @@ -66,6 +70,7 @@ public class EFSExtensionTests extends TestCase { assertEquals(expected, uri); } + @Test public void testReplaceInWindowsURI() { URI originalURI = null; URI expected = null; @@ -83,6 +88,7 @@ public class EFSExtensionTests extends TestCase { assertEquals(expected, uri); } + @Test public void testReplaceInMadeUpURI() { URI originalURI = null; URI expected = null; @@ -100,6 +106,7 @@ public class EFSExtensionTests extends TestCase { assertEquals(expected, uri); } + @Test public void testReplaceWithWindowsPathNoLeadingSlash() { URI originalURI = null; URI expected = null; @@ -123,6 +130,7 @@ public class EFSExtensionTests extends TestCase { assertEquals(expected, uri); } + @Test public void testReplaceURIWithAuthority() { URI originalURI = null; URI expected = null; @@ -141,6 +149,7 @@ public class EFSExtensionTests extends TestCase { assertEquals(expected, uri); } + @Test public void testReplaceURIWithAuthority2() { URI originalURI = null; URI expected = null; @@ -159,6 +168,7 @@ public class EFSExtensionTests extends TestCase { assertEquals(expected, uri); } + @Test public void testAppendinRSEURI() { URI originalURI = null; URI expected = null; @@ -174,6 +184,7 @@ public class EFSExtensionTests extends TestCase { assertEquals(expected, uri); } + @Test public void testAppendToUNIXURI() { URI originalURI = null; URI expected = null; @@ -189,6 +200,7 @@ public class EFSExtensionTests extends TestCase { assertEquals(expected, uri); } + @Test public void testAppendToWindowsURI() { URI originalURI = null; URI expected = null; @@ -204,6 +216,7 @@ public class EFSExtensionTests extends TestCase { assertEquals(expected, uri); } + @Test public void testGetLinkedURI() { URI originalURI = null; try { @@ -217,6 +230,7 @@ public class EFSExtensionTests extends TestCase { assertEquals(originalURI, uri); } + @Test public void testGetMappedPath() { URI originalURI = null; try { @@ -234,6 +248,7 @@ public class EFSExtensionTests extends TestCase { } } + @Test public void testGetPathFromURI() { URI originalURI = null; try { @@ -251,6 +266,7 @@ public class EFSExtensionTests extends TestCase { } } + @Test public void testExtension() { URI originalURI = null; try { @@ -262,8 +278,4 @@ public class EFSExtensionTests extends TestCase { assertTrue(EFSExtensionManager.getDefault().isVirtual(originalURI)); } - public static Test suite() { - TestSuite suite = new TestSuite(EFSExtensionTests.class); - return suite; - } } diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/ErrorParserEfsFileMatchingTest.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/ErrorParserEfsFileMatchingTest.java index 27c808c29b8..b235e74b8c6 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/ErrorParserEfsFileMatchingTest.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/ErrorParserEfsFileMatchingTest.java @@ -14,6 +14,10 @@ package org.eclipse.cdt.core.internal.errorparsers.tests; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.io.ByteArrayInputStream; import java.net.URI; import java.util.ArrayList; @@ -27,6 +31,7 @@ import org.eclipse.cdt.core.errorparsers.AbstractErrorParser; import org.eclipse.cdt.core.errorparsers.ErrorPattern; import org.eclipse.cdt.core.testplugin.CTestPlugin; import org.eclipse.cdt.core.testplugin.ResourceHelper; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase5; import org.eclipse.core.internal.registry.ExtensionRegistry; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; @@ -36,16 +41,14 @@ import org.eclipse.core.runtime.IContributor; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; - -import junit.framework.Assert; -import junit.framework.TestCase; -import junit.framework.TestSuite; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; /** * The test case includes a few tests checking that {@link AbstractErrorParser}/{@link ErrorPattern} * properly locate and resolve filenames found in build output in case of EFS files/folders. */ -public class ErrorParserEfsFileMatchingTest extends TestCase { +public class ErrorParserEfsFileMatchingTest extends BaseTestCase5 { private static final String MAKE_ERRORPARSER_ID = "org.eclipse.cdt.core.CWDLocator"; private String mockErrorParserId = null; @@ -80,47 +83,16 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { } } - /** - * Constructor. - * @param name - name of the test. - */ - public ErrorParserEfsFileMatchingTest(String name) { - super(name); - - } - - @Override - protected void setUp() throws Exception { + @BeforeEach + protected void beforeEach() throws Exception { if (fProject == null) { fProject = ResourceHelper.createCDTProject(testName); - Assert.assertNotNull(fProject); + assertNotNull(fProject); mockErrorParserId = addErrorParserExtension("MockErrorParser", MockErrorParser.class); } errorList = new ArrayList<>(); } - @Override - protected void tearDown() throws Exception { - ResourceHelper.cleanUp(getName()); - fProject = null; - } - - /** - * @return - new TestSuite. - */ - public static TestSuite suite() { - return new TestSuite(ErrorParserEfsFileMatchingTest.class); - } - - /** - * main function of the class. - * - * @param args - arguments - */ - public static void main(String[] args) { - junit.textui.TestRunner.run(suite()); - } - /** * Adds Error Parser extension to the global repository. * Note that this function will "pollute" the working environment and @@ -138,7 +110,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { boolean added = Platform.getExtensionRegistry().addContribution(new ByteArrayInputStream(ext.getBytes()), contributor, false, shortId, null, ((ExtensionRegistry) Platform.getExtensionRegistry()).getTemporaryUserToken()); - assertTrue("failed to add extension", added); + assertTrue(added, "failed to add extension"); String fullId = "org.eclipse.cdt.core.tests." + shortId; IErrorParser[] errorParser = CCorePlugin.getDefault().getErrorParser(fullId); assertTrue(errorParser.length > 0); @@ -210,6 +182,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testSingle() throws Exception { ResourceHelper.createEfsFile(fProject, "testSingle.c", "null:/efsTestSingle.c"); @@ -225,6 +198,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testEfsVsRegular() throws Exception { ResourceHelper.createFile(fProject, "testEfsVsRegular.c"); ResourceHelper.createEfsFile(fProject, "efsTestEfsVsRegular.c", "null:/testEfsVsRegular.c"); @@ -241,6 +215,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testFullPath() throws Exception { ResourceHelper.createEfsFolder(fProject, "Folder", "null:/Folder"); ResourceHelper.createEfsFile(fProject, "Folder/testFullPath.c", "null:/EfsFolder/efsTestFullPath.c"); @@ -258,6 +233,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testInNonEfsFolder() throws Exception { ResourceHelper.createFolder(fProject, "NonEfsFolder"); ResourceHelper.createEfsFile(fProject, "NonEfsFolder/testInNonEfsFolder.c", @@ -276,6 +252,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testInFolder() throws Exception { ResourceHelper.createEfsFolder(fProject, "Folder", "null:/Folder"); ResourceHelper.createEfsFile(fProject, "Folder/testInFolder.c", "null:/EfsFolder/efsTestInFolder.c"); @@ -293,6 +270,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testDuplicateInRoot() throws Exception { ResourceHelper.createEfsFile(fProject, "testDuplicateInRoot.c", "null:/testDuplicateInRoot.c"); @@ -313,6 +291,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathFromProjectRoot() throws Exception { ResourceHelper.createEfsFolder(fProject, "Folder", "null:/Folder"); ResourceHelper.createEfsFile(fProject, "Folder/testRelativePathFromProjectRoot.c", @@ -332,6 +311,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathFromSubfolder() throws Exception { ResourceHelper.createEfsFolder(fProject, "Subfolder", "null:/Subfolder"); ResourceHelper.createEfsFolder(fProject, "Subfolder/Folder", "null:/Subfolder/Folder"); @@ -352,6 +332,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathNotMatchingFolder() throws Exception { ResourceHelper.createEfsFolder(fProject, "Folder", "null:/Folder"); ResourceHelper.createEfsFile(fProject, "Folder/testRelativePathNotMatchingFolder.c", @@ -372,6 +353,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathDuplicate() throws Exception { ResourceHelper.createEfsFolder(fProject, "SubfolderA", "null:/SubfolderA"); ResourceHelper.createEfsFolder(fProject, "SubfolderA/Folder", "null:/SubfolderA/Folder"); @@ -397,6 +379,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathUpSubfolder() throws Exception { ResourceHelper.createEfsFolder(fProject, "Folder", "null:/Folder"); ResourceHelper.createEfsFile(fProject, "Folder/testRelativePathUpSubfolder.c", @@ -416,6 +399,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathDotFromSubfolder() throws Exception { ResourceHelper.createEfsFolder(fProject, "Subfolder", "null:/Subfolder"); ResourceHelper.createEfsFolder(fProject, "Subfolder/Folder", "null:/Subfolder/Folder"); @@ -436,6 +420,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testBuildDir() throws Exception { ResourceHelper.createEfsFolder(fProject, "Folder", "null:/Folder"); ResourceHelper.createEfsFile(fProject, "Folder/testBuildDir.c", "null:/Folder/testBuildDir.c"); @@ -456,9 +441,10 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testEfsProject() throws Exception { IFile efsSmokeTest = ResourceHelper.createEfsFile(fProject, "efsSmokeTest.c", "mem:/efsSmokeTest.c"); - Assert.assertTrue(efsSmokeTest.exists()); + assertTrue(efsSmokeTest.exists()); IProject efsProject = ResourceHelper.createCDTProject("EfsProject", new URI("mem:/EfsProject")); ResourceHelper.createFolder(efsProject, "Folder"); @@ -476,6 +462,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testEfsProjectBuildDirURI() throws Exception { String fileName = "testEfsProjectBuildDirURI.c"; @@ -499,6 +486,7 @@ public class ErrorParserEfsFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testEfsProjectPushPopDirectory() throws Exception { String fileName = "testEfsProjectPushPopDirectory.c"; diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/ErrorParserFileMatchingTest.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/ErrorParserFileMatchingTest.java index 0d7797fd1bd..fe2575cd3bf 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/ErrorParserFileMatchingTest.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/ErrorParserFileMatchingTest.java @@ -15,6 +15,10 @@ package org.eclipse.cdt.core.internal.errorparsers.tests; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.io.ByteArrayInputStream; import java.util.ArrayList; @@ -27,6 +31,7 @@ import org.eclipse.cdt.core.errorparsers.AbstractErrorParser; import org.eclipse.cdt.core.errorparsers.ErrorPattern; import org.eclipse.cdt.core.testplugin.CTestPlugin; import org.eclipse.cdt.core.testplugin.ResourceHelper; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase5; import org.eclipse.cdt.internal.core.Cygwin; import org.eclipse.core.internal.registry.ExtensionRegistry; import org.eclipse.core.resources.IFile; @@ -39,16 +44,14 @@ import org.eclipse.core.runtime.IContributor; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; - -import junit.framework.Assert; -import junit.framework.TestCase; -import junit.framework.TestSuite; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; /** * The test case includes a few tests checking that {@link AbstractErrorParser}/{@link ErrorPattern} * properly locate and resolve filenames found in build output. */ -public class ErrorParserFileMatchingTest extends TestCase { +public class ErrorParserFileMatchingTest extends BaseTestCase5 { private static final String CWD_LOCATOR_ID = "org.eclipse.cdt.core.CWDLocator"; private String mockErrorParserId = null; @@ -83,47 +86,14 @@ public class ErrorParserFileMatchingTest extends TestCase { } } - /** - * Constructor. - * @param name - name of the test. - */ - public ErrorParserFileMatchingTest(String name) { - super(name); - - } - - @Override - protected void setUp() throws Exception { - if (fProject == null) { - fProject = ResourceHelper.createCDTProject(testName); - Assert.assertNotNull(fProject); - mockErrorParserId = addErrorParserExtension("MockErrorParser", MockErrorParser.class); - } + @BeforeEach + protected void beforeEach() throws Exception { + fProject = ResourceHelper.createCDTProject(testName); + assertNotNull(fProject); + mockErrorParserId = addErrorParserExtension("MockErrorParser", MockErrorParser.class); errorList = new ArrayList<>(); } - @Override - protected void tearDown() throws Exception { - ResourceHelper.cleanUp(getName()); - fProject = null; - } - - /** - * @return - new TestSuite. - */ - public static TestSuite suite() { - return new TestSuite(ErrorParserFileMatchingTest.class); - } - - /** - * main function of the class. - * - * @param args - arguments - */ - public static void main(String[] args) { - junit.textui.TestRunner.run(suite()); - } - /** * Adds Error Parser extension to the global repository. * Note that this function will "pollute" the working environment and @@ -141,7 +111,7 @@ public class ErrorParserFileMatchingTest extends TestCase { boolean added = Platform.getExtensionRegistry().addContribution(new ByteArrayInputStream(ext.getBytes()), contributor, false, shortId, null, ((ExtensionRegistry) Platform.getExtensionRegistry()).getTemporaryUserToken()); - assertTrue("failed to add extension", added); + assertTrue(added, "failed to add extension"); String fullId = "org.eclipse.cdt.core.tests." + shortId; IErrorParser[] errorParser = CCorePlugin.getDefault().getErrorParser(fullId); assertTrue(errorParser.length > 0); @@ -194,6 +164,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testSingle() throws Exception { ResourceHelper.createFile(fProject, "testSingle.c"); @@ -210,6 +181,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks that no false positive for missing file generated. * @throws Exception... */ + @Test public void testMissing() throws Exception { parseOutput("testMissing.c:1:error"); @@ -227,6 +199,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if duplicate files give ambiguous match. * @throws Exception... */ + @Test public void testDuplicate() throws Exception { ResourceHelper.createFolder(fProject, "FolderA"); ResourceHelper.createFile(fProject, "FolderA/testDuplicate.c"); @@ -248,6 +221,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testInFolder() throws Exception { ResourceHelper.createFolder(fProject, "Folder"); ResourceHelper.createFile(fProject, "Folder/testInFolder.c"); @@ -264,6 +238,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testDuplicateInRoot() throws Exception { ResourceHelper.createFile(fProject, "testDuplicateInRoot.c"); @@ -284,6 +259,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testLinkedFile() throws Exception { ResourceHelper.createWorkspaceFolder("OutsideFolder"); IPath realFile = ResourceHelper.createWorkspaceFile("OutsideFolder/testLinkedFile.c"); @@ -302,6 +278,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testLinkedFileWithDifferentName() throws Exception { ResourceHelper.createWorkspaceFolder("OutsideFolder"); IPath realFile = ResourceHelper.createWorkspaceFile("OutsideFolder/RealFileWithDifferentName.c"); @@ -321,6 +298,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testDuplicateLinkedFile() throws Exception { ResourceHelper.createWorkspaceFolder("OutsideFolderA"); ResourceHelper.createWorkspaceFolder("OutsideFolderB"); @@ -346,6 +324,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testDuplicateLinkedFileDifferentName() throws Exception { ResourceHelper.createWorkspaceFolder("OutsideFolderA"); ResourceHelper.createWorkspaceFolder("OutsideFolderB"); @@ -370,6 +349,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testInLinkedFolder() throws Exception { IPath outsideFolder = ResourceHelper.createWorkspaceFolder("OutsideFolder"); ResourceHelper.createWorkspaceFile("OutsideFolder/testInLinkedFolder.c"); @@ -387,6 +367,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testDuplicateInLinkedFolder() throws Exception { IPath folderA = ResourceHelper.createWorkspaceFolder("OutsideFolderA"); ResourceHelper.createWorkspaceFile("OutsideFolderA/testDuplicateInLinkedFolder.c"); @@ -410,6 +391,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testLinkedFolderInAnotherProject() throws Exception { ResourceHelper.createFolder(fProject, "Folder"); ResourceHelper.createFile(fProject, "Folder/testLinkedFolderInAnotherProject.c"); @@ -442,6 +424,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testSymbolicLink() throws Exception { // do not test on systems where symbolic links are not supported if (!ResourceHelper.isSymbolicLinkSupported()) @@ -465,6 +448,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testDuplicateSymbolicLink() throws Exception { // do not test on systems where symbolic links are not supported if (!ResourceHelper.isSymbolicLinkSupported()) @@ -493,6 +477,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testFolderSymbolicLink() throws Exception { // do not test on systems where symbolic links are not supported if (!ResourceHelper.isSymbolicLinkSupported()) @@ -516,6 +501,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testDuplicateFolderSymbolicLink() throws Exception { // do not test on systems where symbolic links are not supported if (!ResourceHelper.isSymbolicLinkSupported()) @@ -541,6 +527,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testAbsolutePathSingle() throws Exception { ResourceHelper.createFile(fProject, "testAbsolutePathSingle.c"); String fullName = fProject.getLocation().append("testAbsolutePathSingle.c").toOSString(); @@ -558,6 +545,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testAbsolutePathInOtherProject() throws Exception { IProject anotherProject = ResourceHelper.createCDTProject("ProjectAbsolutePathInOtherProject"); ResourceHelper.createFile(anotherProject, "testAbsolutePathInOtherProject.c"); @@ -577,6 +565,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testAbsolutePathOutsideWorkspace() throws Exception { ResourceHelper.createWorkspaceFolder("OutsideFolder"); @@ -599,6 +588,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathFromProjectRoot() throws Exception { ResourceHelper.createFolder(fProject, "Folder"); ResourceHelper.createFile(fProject, "Folder/testRelativePathFromProjectRoot.c"); @@ -617,6 +607,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathFromSubfolder() throws Exception { ResourceHelper.createFolder(fProject, "Folder"); ResourceHelper.createFolder(fProject, "Folder/SubFolder"); @@ -636,6 +627,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathNotMatchingFolder() throws Exception { ResourceHelper.createFolder(fProject, "Folder"); ResourceHelper.createFile(fProject, "Folder/testRelativePathNotMatchingFolder.c"); @@ -655,6 +647,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathDuplicate() throws Exception { ResourceHelper.createFolder(fProject, "SubfolderA"); ResourceHelper.createFolder(fProject, "SubfolderA/Folder"); @@ -678,6 +671,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathUp() throws Exception { ResourceHelper.createFile(fProject, "testRelativePathUp.c"); @@ -694,6 +688,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathUpSubfolderBug262988() throws Exception { ResourceHelper.createFolder(fProject, "Folder"); ResourceHelper.createFile(fProject, "Folder/testRelativePathUpSubfolder.c"); @@ -711,6 +706,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathUpOtherProject() throws Exception { IProject anotherProject = ResourceHelper.createCDTProject("AnotherProject"); ResourceHelper.createFile(anotherProject, "testRelativePathUpOtherProject.c"); @@ -728,6 +724,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathUpDuplicate() throws Exception { ResourceHelper.createFolder(fProject, "FolderA/SubFolder"); ResourceHelper.createFolder(fProject, "FolderB/SubFolder"); @@ -749,6 +746,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathDotFromProjectRoot() throws Exception { ResourceHelper.createFolder(fProject, "Folder"); ResourceHelper.createFile(fProject, "Folder/testRelativePathDotFromProjectRoot.c"); @@ -767,6 +765,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathDotFromSubfolder() throws Exception { ResourceHelper.createFolder(fProject, "Subfolder"); ResourceHelper.createFolder(fProject, "Subfolder/Folder"); @@ -786,6 +785,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathDotNotMatchingFolder() throws Exception { ResourceHelper.createFolder(fProject, "Folder"); ResourceHelper.createFile(fProject, "Subfolder/Folder/testRelativePathDotNotMatchingFolder.c"); @@ -806,6 +806,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testRelativePathDotDuplicate() throws Exception { ResourceHelper.createFolder(fProject, "SubfolderA"); ResourceHelper.createFolder(fProject, "SubfolderA/Folder"); @@ -830,6 +831,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testUppercase1() throws Exception { if (!Platform.getOS().equals(Platform.OS_WIN32)) { // This test is valid on Windows platform only @@ -851,6 +853,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testUppercase2InSubFolder() throws Exception { // Note that old MSDOS can handle only 8 characters in file name ResourceHelper.createFolder(fProject, "Folder"); @@ -869,6 +872,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testUppercase3ResolveCase() throws Exception { // Note that old MSDOS can handle only 8 characters in file name ResourceHelper.createFolder(fProject, "FolderA"); @@ -889,6 +893,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testUppercase4Duplicate() throws Exception { // Note that old MSDOS can handle only 8 characters in file name ResourceHelper.createFolder(fProject, "FolderA"); @@ -911,6 +916,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testCygwinCygdrive() throws Exception { String fileName = "testCygwinCygdrive.c"; String windowsFileName = fProject.getLocation().append(fileName).toOSString(); @@ -921,7 +927,7 @@ public class ErrorParserFileMatchingTest extends TestCase { // Skip the test if Cygwin is not available. return; } - assertTrue("cygwinFileName=[" + cygwinFileName + "]", cygwinFileName.startsWith("/cygdrive/")); + assertTrue(cygwinFileName.startsWith("/cygdrive/"), "cygwinFileName=[" + cygwinFileName + "]"); ResourceHelper.createFile(fProject, fileName); @@ -938,6 +944,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testCygwinUsrUnclude() throws Exception { String cygwinFolder = "/usr/include/"; String fileName = "stdio.h"; @@ -950,11 +957,11 @@ public class ErrorParserFileMatchingTest extends TestCase { return; } - assertTrue("usrIncludeWindowsPath=[" + usrIncludeWindowsPath + "]", - usrIncludeWindowsPath.charAt(1) == IPath.DEVICE_SEPARATOR); + assertTrue(usrIncludeWindowsPath.charAt(1) == IPath.DEVICE_SEPARATOR, + "usrIncludeWindowsPath=[" + usrIncludeWindowsPath + "]"); java.io.File file = new java.io.File(usrIncludeWindowsPath + "\\" + fileName); - assertTrue("File " + file + " does not exist, check your cygwin installation", file.exists()); + assertTrue(file.exists(), "File " + file + " does not exist, check your cygwin installation"); ResourceHelper.createLinkedFolder(fProject, "include", usrIncludeWindowsPath); @@ -971,6 +978,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testCygwinAnotherProject() throws Exception { String fileName = "testCygwinAnotherProject.c"; IProject anotherProject = ResourceHelper.createCDTProject("AnotherProject"); @@ -983,7 +991,7 @@ public class ErrorParserFileMatchingTest extends TestCase { // Skip the test if Cygwin is not available. return; } - assertTrue("cygwinFileName=[" + cygwinFileName + "]", cygwinFileName.startsWith("/cygdrive/")); + assertTrue(cygwinFileName.startsWith("/cygdrive/"), "cygwinFileName=[" + cygwinFileName + "]"); ResourceHelper.createFile(anotherProject, fileName); @@ -1000,6 +1008,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testCustomProjectLocation() throws Exception { ResourceHelper.createWorkspaceFolder("Custom"); ResourceHelper.createWorkspaceFolder("Custom/ProjectLocation"); @@ -1022,6 +1031,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testCygwinAndMakeErrorParserBug270772() throws Exception { String fileName = "testCygwinAndMakeErrorParser.c"; String windowsFileName = fProject.getLocation().append(fileName).toOSString(); @@ -1032,7 +1042,7 @@ public class ErrorParserFileMatchingTest extends TestCase { // Skip the test if Cygwin is not available. return; } - assertTrue("cygwinFileName=[" + cygwinFileName + "]", cygwinFileName.startsWith("/cygdrive/")); + assertTrue(cygwinFileName.startsWith("/cygdrive/"), "cygwinFileName=[" + cygwinFileName + "]"); ResourceHelper.createFile(fProject, fileName); @@ -1052,6 +1062,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testInNestedProject() throws Exception { ResourceHelper.createFolder(fProject, "NestedProjectFolder"); IProject nestedProject = ResourceHelper.createCDTProject("NestedProject", @@ -1086,6 +1097,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testBuildDir() throws Exception { ResourceHelper.createFolder(fProject, "Folder"); ResourceHelper.createFile(fProject, "Folder/testBuildDir.c"); @@ -1106,6 +1118,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * Checks if a file from error output can be found. * @throws Exception... */ + @Test public void testBuildDirVsProjectRoot() throws Exception { ResourceHelper.createFile(fProject, "testBuildDirVsProjectRoot.c"); ResourceHelper.createFolder(fProject, "BuildDir"); @@ -1126,6 +1139,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testAbsoluteFileVsLink() throws Exception { ResourceHelper.createFolder(fProject, "Folder"); IFile file = ResourceHelper.createFile(fProject, "Folder/testAbsoluteFileVsLink.c"); @@ -1146,6 +1160,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testPushDirectory() throws Exception { String fileName = "testPushDirectory.c"; ResourceHelper.createFolder(fProject, "Folder"); @@ -1170,6 +1185,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testPushDirectorySingleQuote() throws Exception { String fileName = "testPushDirectory.c"; ResourceHelper.createFolder(fProject, "Folder"); @@ -1193,6 +1209,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testPushAbsoluteDirectory() throws Exception { String fileName = "testPushAbsoluteDirectory.c"; IFolder folder = ResourceHelper.createFolder(fProject, "Folder"); @@ -1200,7 +1217,7 @@ public class ErrorParserFileMatchingTest extends TestCase { ResourceHelper.createFile(fProject, "Folder/" + fileName); IPath absoluteDir = folder.getLocation(); - Assert.assertTrue(absoluteDir.isAbsolute()); + assertTrue(absoluteDir.isAbsolute()); String lines = "make[0]: Entering directory `" + absoluteDir + "'\n" + fileName + ":1:error\n"; @@ -1219,6 +1236,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testPopDirectory() throws Exception { String fileName = "testPopDirectory.c"; @@ -1247,6 +1265,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testPushPop_WithNoLevel() throws Exception { String fileName = getName() + ".c"; @@ -1275,6 +1294,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testPushDirectoryAndCache() throws Exception { String fileName = "testPushDirectoryCacheProblem.c"; ResourceHelper.createFolder(fProject, "Folder"); @@ -1307,6 +1327,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testDisablePushDirectoryOnParallelBuild_J() throws Exception { String fileName = getName() + ".c"; ResourceHelper.createFolder(fProject, "Folder"); @@ -1330,6 +1351,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testDisablePushDirectoryOnParallelBuild_J2() throws Exception { String fileName = getName() + ".c"; ResourceHelper.createFolder(fProject, "Folder"); @@ -1353,6 +1375,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testDisablePushDirectoryOnParallelBuild_J_2() throws Exception { String fileName = getName() + ".c"; ResourceHelper.createFolder(fProject, "Folder"); @@ -1376,6 +1399,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testDisablePushDirectoryOnParallelBuild_J1() throws Exception { String fileName = getName() + ".c"; ResourceHelper.createFolder(fProject, "Folder"); @@ -1399,6 +1423,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testDisablePushDirectoryOnParallelBuild_J_1() throws Exception { String fileName = getName() + ".c"; ResourceHelper.createFolder(fProject, "Folder"); @@ -1422,6 +1447,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testDisablePushDirectoryOnParallelBuild_Jobs() throws Exception { String fileName = getName() + ".c"; ResourceHelper.createFolder(fProject, "Folder"); @@ -1445,6 +1471,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testDisablePushDirectoryOnParallelBuild_Jobs1() throws Exception { String fileName = getName() + ".c"; ResourceHelper.createFolder(fProject, "Folder"); @@ -1468,6 +1495,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testDisablePushDirectoryOnParallelBuild_gmake() throws Exception { String fileName = getName() + ".c"; ResourceHelper.createFolder(fProject, "Folder"); @@ -1491,6 +1519,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testMappedRemoteAbsolutePath_Bug264704() throws Exception { ResourceHelper.createFolder(fProject, "Folder"); ResourceHelper.createFolder(fProject, "Folder/AbsoluteRemoteFolder"); @@ -1511,6 +1540,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testMappedRemoteAbsolutePathAnotherProject_Bug264704() throws Exception { IProject anotherProject = ResourceHelper.createCDTProject("ProjectMappedRemoteAbsolutePathAnotherProject"); @@ -1536,6 +1566,7 @@ public class ErrorParserFileMatchingTest extends TestCase { * * @throws Exception... */ + @Test public void testWindowsPathOnLinux_Bug263977() throws Exception { // This test is valid on Unix platforms only boolean isUnix = Platform.getOS().equals(Platform.OS_LINUX) || Platform.getOS().equals(Platform.OS_AIX) diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/ErrorParserManagerTest.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/ErrorParserManagerTest.java index 60b1e601d2f..c47dbd2726c 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/ErrorParserManagerTest.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/ErrorParserManagerTest.java @@ -14,6 +14,10 @@ package org.eclipse.cdt.core.internal.errorparsers.tests; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; + import java.io.ByteArrayInputStream; import java.io.FileInputStream; import java.io.IOException; @@ -29,6 +33,7 @@ import org.eclipse.cdt.core.dom.IPDOMManager; import org.eclipse.cdt.core.model.ICProject; import org.eclipse.cdt.core.testplugin.CProjectHelper; import org.eclipse.cdt.core.testplugin.CTestPlugin; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase5; import org.eclipse.core.internal.registry.ExtensionRegistry; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IResource; @@ -42,16 +47,15 @@ import org.eclipse.core.runtime.IContributor; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; - -import junit.framework.TestCase; -import junit.framework.TestSuite; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; /** * @author Alena Laskavaia * * Tests for ErrorParser manager and different parsers */ -public class ErrorParserManagerTest extends TestCase { +public class ErrorParserManagerTest extends BaseTestCase5 { IWorkspace workspace; IWorkspaceRoot root; @@ -61,14 +65,6 @@ public class ErrorParserManagerTest extends TestCase { private ArrayList errorList; private IMarkerGenerator markerGenerator; - /** - * Constructor for CModelTests. - * @param name - */ - public ErrorParserManagerTest(String name) { - super(name); - } - /** * Sets up the test fixture. * @@ -77,8 +73,8 @@ public class ErrorParserManagerTest extends TestCase { * Example code test the packages in the project * "com.qnx.tools.ide.cdt.core" */ - @Override - protected void setUp() throws Exception { + @BeforeEach + protected void beforeEach() throws Exception { /*** * The test of the tests assume that they have a working workspace * and workspace root object to use to create projects/files in, @@ -115,24 +111,6 @@ public class ErrorParserManagerTest extends TestCase { epManager = new ErrorParserManager(cProject.getProject(), markerGenerator, errorParsersIds); } - /** - * Tears down the test fixture. - * - * Called after every test case method. - */ - @Override - protected void tearDown() { - // release resources here and clean-up - } - - public static TestSuite suite() { - return new TestSuite(ErrorParserManagerTest.class); - } - - public static void main(String[] args) { - junit.textui.TestRunner.run(suite()); - } - private ICProject createProject(String name) throws CoreException { ICProject testProject; testProject = CProjectHelper.createCProject(name, "none", IPDOMManager.ID_NO_INDEXER); @@ -152,6 +130,7 @@ public class ErrorParserManagerTest extends TestCase { epManager.getOutputStream().close(); } + @Test public void testParsersSanity() throws CoreException, IOException { output("catchpoints.cpp:12: warning: no return statement in function returning non-void\n"); end(); @@ -162,6 +141,7 @@ public class ErrorParserManagerTest extends TestCase { assertEquals(new Path("catchpoints.cpp"), problemMarkerInfo.externalPath); } + @Test public void testParsersSanityTrimmed() throws CoreException, IOException { output(" catchpoints.cpp:12: warning: no return statement in function returning non-void \n"); end(); @@ -172,6 +152,7 @@ public class ErrorParserManagerTest extends TestCase { assertEquals(new Path("catchpoints.cpp"), problemMarkerInfo.externalPath); } + @Test public void testOutput() throws IOException { try (FileInputStream fileInputStream = new FileInputStream( CTestPlugin.getDefault().getFileInPlugin(new Path("resources/errortests/output-1")))) { @@ -195,7 +176,7 @@ public class ErrorParserManagerTest extends TestCase { boolean added = Platform.getExtensionRegistry().addContribution(new ByteArrayInputStream(ext.getBytes()), contributor, false, shortId, null, ((ExtensionRegistry) Platform.getExtensionRegistry()).getTemporaryUserToken()); - assertTrue("failed to add extension", added); + assertTrue(added, "failed to add extension"); String fullId = "org.eclipse.cdt.core.tests." + shortId; IErrorParser[] errorParser = CCorePlugin.getDefault().getErrorParser(fullId); assertTrue(errorParser.length > 0); @@ -227,6 +208,7 @@ public class ErrorParserManagerTest extends TestCase { } } + @Test public void testNoTrimParser() throws IOException { String id = addErrorParserExtension("test1", TestParser1.class); epManager = new ErrorParserManager(cProject.getProject(), markerGenerator, new String[] { id }); @@ -256,6 +238,7 @@ public class ErrorParserManagerTest extends TestCase { } } + @Test public void testLongLinesParser() throws IOException { String id = addErrorParserExtension("test2", TestParser2.class); epManager = new ErrorParserManager(cProject.getProject(), markerGenerator, new String[] { id }); @@ -293,6 +276,7 @@ public class ErrorParserManagerTest extends TestCase { } } + @Test public void testLongLinesUntrimmedParser() throws IOException { String id = addErrorParserExtension("test3", TestParser3.class); epManager = new ErrorParserManager(cProject.getProject(), markerGenerator, new String[] { id }); @@ -323,6 +307,7 @@ public class ErrorParserManagerTest extends TestCase { } } + @Test public void testWorkspaceLevelError() throws IOException { String id = addErrorParserExtension("test4", TestParser4.class); epManager = new ErrorParserManager(null, markerGenerator, new String[] { id }); diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/FileBasedErrorParserTests.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/FileBasedErrorParserTests.java index acc75426276..bc1bea37b5b 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/FileBasedErrorParserTests.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/FileBasedErrorParserTests.java @@ -17,42 +17,27 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.util.stream.Stream; import org.eclipse.cdt.core.testplugin.CTestPlugin; import org.eclipse.core.runtime.Path; - -import junit.framework.Test; -import junit.framework.TestSuite; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; public class FileBasedErrorParserTests extends GenericErrorParserTests { - - File errorFile; - - public FileBasedErrorParserTests(File file) { - super("testErrorsInFiles"); - errorFile = file; - } - - @Override - public String getName() { - return super.getName() + " " + errorFile.getName(); - } - - public void testErrorsInFiles() throws IOException { + @ParameterizedTest + @MethodSource("provideFilenames") + public void testErrorsInFiles(File errorFile) throws IOException { InputStream stream = new FileInputStream(errorFile); runParserTest(stream, -1, -1, null, null, new String[] { GCC_ERROR_PARSER_ID }); stream.close(); } - public static Test suite() { - TestSuite suite = new TestSuite(FileBasedErrorParserTests.class.getName()); + public static Stream provideFilenames() { File dir = CTestPlugin.getDefault().getFileInPlugin(new Path("resources/errortests/")); File[] testsfiles = dir.listFiles(); - for (int i = 0; i < testsfiles.length; i++) { - if (testsfiles[i].isFile()) - suite.addTest(new FileBasedErrorParserTests(testsfiles[i])); - } - return suite; + return Stream.of(testsfiles).map(Arguments::of); } } diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GCCErrorParserTests.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GCCErrorParserTests.java index e18f30268f7..c9423c67266 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GCCErrorParserTests.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GCCErrorParserTests.java @@ -16,8 +16,7 @@ package org.eclipse.cdt.core.internal.errorparsers.tests; import java.io.IOException; -import junit.framework.Test; -import junit.framework.TestSuite; +import org.junit.jupiter.api.Test; /** * This test is designed to exercise the error parser capabilities. @@ -76,20 +75,7 @@ public class GCCErrorParserTests extends GenericErrorParserTests { public static final int GCC_ERROR_STREAM5_ERRORS = 2; public static final String[] GCC_ERROR_STREAM5_FILENAMES = { "main.c" }; - /** - * Constructor for IndexManagerTest. - * - * @param name - */ - public GCCErrorParserTests() { - super(); - } - - public static Test suite() { - TestSuite suite = new TestSuite(GCCErrorParserTests.class); - return suite; - } - + @Test public void testMultipleIncludesError() throws IOException { runParserTest(GCC_ERROR_STREAM1, GCC_ERROR_STREAM1_ERRORS, GCC_ERROR_STREAM1_WARNINGS, GCC_ERROR_STREAM1_FILENAMES, null, new String[] { GCC_ERROR_PARSER_ID }); @@ -105,27 +91,29 @@ public class GCCErrorParserTests extends GenericErrorParserTests { * I brought this up in http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg08668.html * but did not get any replies. * - public void testMultiLineDescriptionError() throws IOException { + @Test public void testMultiLineDescriptionError() throws IOException { runParserTest(GCC_ERROR_STREAM2, GCC_ERROR_STREAM2_ERRORS, GCC_ERROR_STREAM2_WARNINGS, GCC_ERROR_STREAM2_FILENAMES, GCC_ERROR_STREAM2_DESCRIPTIONS, new String[]{GCC_ERROR_PARSER_ID}); } - public void testLongMultiLineDescriptionError() throws IOException { + @Test public void testLongMultiLineDescriptionError() throws IOException { runParserTest(GCC_ERROR_STREAM3, GCC_ERROR_STREAM3_ERRORS, GCC_ERROR_STREAM3_WARNINGS, GCC_ERROR_STREAM3_FILENAMES, GCC_ERROR_STREAM3_DESCRIPTIONS, new String[]{GCC_ERROR_PARSER_ID}); } - public void testMultiFileMultiLineSingleError() throws IOException { + @Test public void testMultiFileMultiLineSingleError() throws IOException { runParserTest(GCC_ERROR_STREAM4, GCC_ERROR_STREAM4_ERRORS, GCC_ERROR_STREAM4_WARNINGS, GCC_ERROR_STREAM4_FILENAMES, GCC_ERROR_STREAM4_DESCRIPTIONS, new String[]{GCC_ERROR_PARSER_ID}); } */ + @Test public void testBasicMessages() throws IOException { runParserTest(GCC_ERROR_STREAM5, GCC_ERROR_STREAM5_ERRORS, GCC_ERROR_STREAM5_WARNINGS, GCC_ERROR_STREAM5_FILENAMES, null, new String[] { GCC_ERROR_PARSER_ID }); } + @Test public void testGccErrorMessages_Colon_bug263987() throws IOException { runParserTest(new String[] { "foo.cc:11:20: error: value with length 0 violates the length restriction: length (1 .. infinity)", }, @@ -136,6 +124,7 @@ public class GCCErrorParserTests extends GenericErrorParserTests { new String[] { GCC_ERROR_PARSER_ID }); } + @Test public void testGccErrorMessages_C90Comments_bug193982() throws IOException { runParserTest( new String[] { "Myfile.c:66:3: warning: C++ style comments are not allowed in ISO C90", @@ -146,6 +135,7 @@ public class GCCErrorParserTests extends GenericErrorParserTests { new String[] { GCC_ERROR_PARSER_ID }); } + @Test public void testGccErrorMessages_ConflictingTypes() throws IOException { runParserTest( new String[] { "bar.h:42: error: conflicting types for 'jmp_buf'", @@ -157,6 +147,7 @@ public class GCCErrorParserTests extends GenericErrorParserTests { new String[] { GCC_ERROR_PARSER_ID }); } + @Test public void testGccErrorMessages_InstantiatedFromHere() throws IOException { runParserTest(new String[] { "/usr/include/c++/4.1.3/ext/hashtable.h:600: instantiated from 'size_t __gnu_cxx::hashtable<_Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc>::_M_bkt_num(const _Val&, size_t) const [with _Val = std::pair, std::allocator >, int>, _Key = std::basic_string, std::allocator >, _HashFcn = __gnu_cxx::hash, std::allocator > >, _ExtractKey = std::_Select1st, std::allocator >, int> >, _EqualKey = std::equal_to, std::allocator > >, _Alloc = std::allocator]'", @@ -170,6 +161,7 @@ public class GCCErrorParserTests extends GenericErrorParserTests { new String[] { GCC_ERROR_PARSER_ID }); } + @Test public void testGccErrorMessages_RequiredFromHere() throws IOException { runParserTest(new String[] { "utils/bar.hpp:61:7: required from 'static void OpenCVUtils::show_contours_d(std::string, cv::Mat&, const std::vector > >&, bool, const Scalar&, int, int, int) [with T = int; std::string = std::basic_string; cv::Scalar = cv::Scalar_]'", @@ -183,6 +175,7 @@ public class GCCErrorParserTests extends GenericErrorParserTests { new String[] { GCC_ERROR_PARSER_ID }); } + @Test public void testGccErrorMessages_Infos() throws IOException { runParserTest( new String[] { "foo.c:5: note: Offset of packed bit-field 'b' has changed in GCC 4.4", @@ -196,6 +189,7 @@ public class GCCErrorParserTests extends GenericErrorParserTests { new String[] { GCC_ERROR_PARSER_ID }); } + @Test public void testGccErrorMessages_DangerousFunction_bug248669() throws IOException { runParserTest( new String[] { "mktemp.o(.text+0x19): In function 'main':", @@ -206,6 +200,7 @@ public class GCCErrorParserTests extends GenericErrorParserTests { new String[] { GCC_ERROR_PARSER_ID }); } + @Test public void testGccErrorMessages_TemplateInstantiation_bug500798() throws IOException { runParserTest(new String[] { "test.hpp:309:18: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]", @@ -219,6 +214,7 @@ public class GCCErrorParserTests extends GenericErrorParserTests { new String[] { GCC_ERROR_PARSER_ID }); } + @Test public void testGccErrorMessages_InConstexprExpansion() throws IOException { runParserTest( new String[] { "../can/CANBus.h: In instantiation of 'constexpr void Test::setupBitrate(T)':", diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GLDErrorParserTests.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GLDErrorParserTests.java index 277a293137e..01bb5614b81 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GLDErrorParserTests.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GLDErrorParserTests.java @@ -15,23 +15,14 @@ package org.eclipse.cdt.core.internal.errorparsers.tests; import java.io.IOException; -import junit.framework.Test; -import junit.framework.TestSuite; +import org.junit.jupiter.api.Test; /** * This test is designed to exercise the error parser capabilities for GNU ld. */ public class GLDErrorParserTests extends GenericErrorParserTests { - public GLDErrorParserTests() { - super(); - } - - public static Test suite() { - TestSuite suite = new TestSuite(GLDErrorParserTests.class); - return suite; - } - + @Test public void testLinkerMessages0() throws IOException { runParserTest( // old style: no colons before sections @@ -48,6 +39,7 @@ public class GLDErrorParserTests extends GenericErrorParserTests { new String[] { GLD_ERROR_PARSER_ID }); } + @Test public void testLinkerMessages1() throws IOException { runParserTest( // new style: colons before sections @@ -64,6 +56,7 @@ public class GLDErrorParserTests extends GenericErrorParserTests { new String[] { GLD_ERROR_PARSER_ID }); } + @Test public void testLinkerMessages2() throws IOException { runParserTest( new String[] { "make -k all", "gcc -o hallo.o main.c libfoo.a", "libfoo.a(foo.o): In function `foo':", @@ -76,6 +69,7 @@ public class GLDErrorParserTests extends GenericErrorParserTests { new String[] { GLD_ERROR_PARSER_ID }); } + @Test public void testLinkerMessages_DangerousFunction_bug248669() throws IOException { runParserTest(new String[] { "mktemp.o(.text+0x19): In function 'main':", "mktemp.c:15: the use of 'mktemp' is dangerous, better use 'mkstemp'", "1.o: In function `main':", @@ -88,6 +82,7 @@ public class GLDErrorParserTests extends GenericErrorParserTests { new String[] { GLD_ERROR_PARSER_ID }); } + @Test public void testLinkerMessages_PrecedingPath_bug314253() throws IOException { runParserTest(new String[] { "ld: warning: libstdc++.so.5, needed by testlib_1.so, may conflict with libstdc++.so.6", @@ -107,6 +102,7 @@ public class GLDErrorParserTests extends GenericErrorParserTests { new String[] { GLD_ERROR_PARSER_ID }); } + @Test public void testLinkerMessages_bug495661() throws IOException { runParserTest( // new style: colons before sections diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GenericErrorParserTests.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GenericErrorParserTests.java index 48e9054ecd7..7c0c38ad245 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GenericErrorParserTests.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/GenericErrorParserTests.java @@ -13,6 +13,10 @@ *******************************************************************************/ package org.eclipse.cdt.core.internal.errorparsers.tests; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; @@ -25,57 +29,38 @@ import java.util.List; import org.eclipse.cdt.core.ErrorParserManager; import org.eclipse.cdt.core.IMarkerGenerator; import org.eclipse.cdt.core.ProblemMarkerInfo; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase5; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.NullProgressMonitor; - -import junit.framework.TestCase; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; /** * This test is designed to exercise the error parser capabilities. */ -public abstract class GenericErrorParserTests extends TestCase { +public abstract class GenericErrorParserTests extends BaseTestCase5 { public static final String GCC_ERROR_PARSER_ID = "org.eclipse.cdt.core.GCCErrorParser"; public static final String GLD_ERROR_PARSER_ID = "org.eclipse.cdt.core.GLDErrorParser"; public static final String GMAKE_ERROR_PARSER_ID = "org.eclipse.cdt.core.GmakeErrorParser"; protected IProject fTempProject; - /** - * Constructor for IndexManagerTest. - * - * @param name - */ - public GenericErrorParserTests(String name) { - super(name); - } - - public GenericErrorParserTests() { - super(); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); + @BeforeEach + protected void beforeEachCreateProject() throws Exception { fTempProject = ResourcesPlugin.getWorkspace().getRoot().getProject("temp-" + System.currentTimeMillis()); if (!fTempProject.exists()) { fTempProject.create(new NullProgressMonitor()); } } - @Override - protected void tearDown() { - try { - super.tearDown(); - } catch (Exception ex) { - } - try { - fTempProject.delete(true, true, new NullProgressMonitor()); - } catch (Exception ex) { - } + @AfterEach + protected void afterEachDeleteProject() throws CoreException { + fTempProject.delete(true, true, new NullProgressMonitor()); } protected IProject getTempProject() { diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/MakeErrorParserTests.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/MakeErrorParserTests.java index 779741c67d8..3d421942ab4 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/MakeErrorParserTests.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/MakeErrorParserTests.java @@ -13,12 +13,12 @@ *******************************************************************************/ package org.eclipse.cdt.core.internal.errorparsers.tests; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import java.io.IOException; import org.eclipse.cdt.core.ErrorParserManager; - -import junit.framework.Test; -import junit.framework.TestSuite; +import org.junit.jupiter.api.Test; /** * This test is designed to exercise the error parser capabilities for GNU make. @@ -66,29 +66,24 @@ public class MakeErrorParserTests extends GenericErrorParserTests { private static final int GMAKE_ERROR_STREAM2_WARNINGS = 0; private static final int GMAKE_ERROR_STREAM2_ERRORS = 3; - public MakeErrorParserTests() { - super(); - } - - public static Test suite() { - TestSuite suite = new TestSuite(MakeErrorParserTests.class); - return suite; - } - + @Test public void testGmakeSanity() throws Exception { assertNotNull(ErrorParserManager.getErrorParserCopy(GMAKE_ERROR_PARSER_ID)); } + @Test public void testGmakeMessages0() throws IOException { runParserTest(GMAKE_ERROR_STREAM0, GMAKE_ERROR_STREAM0_ERRORS, GMAKE_ERROR_STREAM0_WARNINGS, GMAKE_ERROR_STREAM0_INFOS, null, null, new String[] { GMAKE_ERROR_PARSER_ID }); } + @Test public void testGMakeMessages1() throws IOException { runParserTest(GMAKE_ERROR_STREAM1, GMAKE_ERROR_STREAM1_ERRORS, GMAKE_ERROR_STREAM1_WARNINGS, GMAKE_ERROR_STREAM1_FILENAMES, null, new String[] { GMAKE_ERROR_PARSER_ID }); } + @Test public void testGmakeMessages2() throws IOException { runParserTest(GMAKE_ERROR_STREAM2, GMAKE_ERROR_STREAM2_ERRORS, GMAKE_ERROR_STREAM2_WARNINGS, null, null, new String[] { GMAKE_ERROR_PARSER_ID }); diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/RegexErrorParserTests.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/RegexErrorParserTests.java index 1ac765f5d2b..6321199e023 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/RegexErrorParserTests.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/errorparsers/tests/RegexErrorParserTests.java @@ -14,6 +14,13 @@ package org.eclipse.cdt.core.internal.errorparsers.tests; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotSame; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.util.ArrayList; import org.eclipse.cdt.core.CCorePlugin; @@ -27,19 +34,20 @@ import org.eclipse.cdt.core.errorparsers.RegexErrorParser; import org.eclipse.cdt.core.errorparsers.RegexErrorPattern; import org.eclipse.cdt.core.testplugin.CTestPlugin; import org.eclipse.cdt.core.testplugin.ResourceHelper; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase5; import org.eclipse.cdt.internal.errorparsers.ErrorParserExtensionManager; import org.eclipse.cdt.internal.errorparsers.GASErrorParser; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; - -import junit.framework.TestCase; -import junit.framework.TestSuite; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; /** * Test cases testing RegexErrorParser functionality */ -public class RegexErrorParserTests extends TestCase { +public class RegexErrorParserTests extends BaseTestCase5 { // These should match id and name of extension point defined in plugin.xml private static final String REGEX_ERRORPARSER_ID = "org.eclipse.cdt.core.tests.RegexErrorParserId"; private static final String REGEX_ERRORPARSER_NAME = "Test Plugin RegexErrorParser"; @@ -78,51 +86,24 @@ public class RegexErrorParserTests extends TestCase { } } - /** - * Constructor. - * @param name - name of the test. - */ - public RegexErrorParserTests(String name) { - super(name); - - } - - @Override - protected void setUp() throws Exception { + @BeforeEach + protected void beforeEach() throws Exception { fProject = ResourceHelper.createCDTProject(TEST_PROJECT_NAME); assertNotNull(fProject); errorList = new ArrayList<>(); } - @Override - protected void tearDown() throws Exception { - ResourceHelper.cleanUp(getName()); - fProject = null; - + @AfterEach + protected void resetUserDefinedErrorParsers() throws Exception { ErrorParserManager.setUserDefinedErrorParsers(null); } - /** - * @return - new TestSuite. - */ - public static TestSuite suite() { - return new TestSuite(RegexErrorParserTests.class); - } - - /** - * main function of the class. - * - * @param args - arguments - */ - public static void main(String[] args) { - junit.textui.TestRunner.run(suite()); - } - /** * Check if error pattern can be added/deleted. * * @throws Exception... */ + @Test public void testRegexErrorParserAddDeletePattern() throws Exception { RegexErrorParser regexErrorParser = new RegexErrorParser(); regexErrorParser.addPattern( @@ -151,6 +132,7 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testRegexErrorParserPatternOrder() throws Exception { final int ERR = IMarkerGenerator.SEVERITY_ERROR_RESOURCE; RegexErrorParser regexErrorParser = new RegexErrorParser(); @@ -186,7 +168,11 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testRegexErrorParserParseOutput() throws Exception { + // This test generates an expected error in the log + setExpectedNumberOfLoggedNonOKStatusObjects(1); + RegexErrorParser regexErrorParser = new RegexErrorParser(); regexErrorParser.addPattern(new RegexErrorPattern("(.*)#(.*)#(.*)#(.*)", "$1", "$2", "$3 $4", "var=$4", IMarkerGenerator.SEVERITY_ERROR_RESOURCE, true)); @@ -261,6 +247,7 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testCompatibility() throws Exception { final CCorePlugin cCorePlugin = CCorePlugin.getDefault(); @@ -280,6 +267,7 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testExtension() throws Exception { // ErrorParserManager.getErrorParser { @@ -322,6 +310,7 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testExtensionsSorting() throws Exception { { String[] ids = ErrorParserManager.getErrorParserExtensionIds(); @@ -339,14 +328,14 @@ public class RegexErrorParserTests extends TestCase { // inside the same category sorted by names if (lastIsDeprecated == isDeprecated && lastIsTestPlugin == isTestPlugin) { - assertTrue(message, lastName.compareTo(name) <= 0); + assertTrue(lastName.compareTo(name) <= 0, message); } // deprecated follow non-deprecated (unless parsers from test plugin show up) if (lastIsTestPlugin == isTestPlugin) { - assertFalse(message, lastIsDeprecated == true && isDeprecated == false); + assertFalse(lastIsDeprecated == true && isDeprecated == false, message); } // error parsers from test plugin are the last - assertFalse(message, lastIsTestPlugin == true && isTestPlugin == false); + assertFalse(lastIsTestPlugin == true && isTestPlugin == false, message); lastName = name; lastIsDeprecated = isDeprecated; @@ -360,6 +349,7 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testAvailableErrorParsers() throws Exception { final String TESTING_ID = "org.eclipse.cdt.core.test.errorparser"; final String TESTING_NAME = "An error parser"; @@ -438,6 +428,7 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testUserDefinedErrorParsers() throws Exception { final String TESTING_ID = "org.eclipse.cdt.core.test.errorparser"; final String TESTING_NAME = "An error parser"; @@ -469,6 +460,7 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testDefaultErrorParserIds() throws Exception { final String[] availableParserIds = ErrorParserManager.getErrorParserAvailableIds(); assertNotNull(availableParserIds); @@ -507,6 +499,7 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testSerializeErrorParser() throws Exception { final String TESTING_ID = "org.eclipse.cdt.core.test.errorparser"; final String TESTING_NAME = "An error parser"; @@ -549,6 +542,7 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testSerializeRegexErrorParser() throws Exception { final String TESTING_ID = "org.eclipse.cdt.core.test.regexerrorparser"; @@ -609,6 +603,7 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testSerializeRegexErrorParserSpecialCharacters() throws Exception { final String TESTING_ID = "org.eclipse.cdt.core.test.regexerrorparser"; @@ -653,6 +648,7 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testSerializeDefaultErrorParserIds() throws Exception { final String[] testingDefaultErrorParserIds = { "org.eclipse.cdt.core.test.errorparser0", "org.eclipse.cdt.core.test.errorparser1", "org.eclipse.cdt.core.test.errorparser2", }; @@ -705,6 +701,7 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testGetErrorParserCopy() throws Exception { { IErrorParserNamed clone1 = ErrorParserManager.getErrorParserCopy(REGEX_ERRORPARSER_ID); @@ -731,6 +728,7 @@ public class RegexErrorParserTests extends TestCase { * * @throws Exception... */ + @Test public void testRegexErrorParserExternalLocation_bug301338() throws Exception { RegexErrorParser regexErrorParser = new RegexErrorParser(); regexErrorParser.addPattern( diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/tests/PositionTrackerTests.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/tests/PositionTrackerTests.java index 6488e1cc2c7..bb18db7c2df 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/tests/PositionTrackerTests.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/tests/PositionTrackerTests.java @@ -13,21 +13,19 @@ *******************************************************************************/ package org.eclipse.cdt.core.internal.tests; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.util.Random; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase5; import org.eclipse.cdt.internal.core.PositionTracker; import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.Region; +import org.junit.jupiter.api.Test; -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -public class PositionTrackerTests extends TestCase { - public static Test suite() { - return new TestSuite(PositionTrackerTests.class); - } - +public class PositionTrackerTests extends BaseTestCase5 { + @Test public void testInitialFailures() { int[][] moves = { { 46, -18, 95, -76, 98, -89, 10, -10, 85, -80, 16, 6, 5, -3, 22, -8, 29, -20, 86, -62, 34, -21, 63, -41, @@ -41,6 +39,7 @@ public class PositionTrackerTests extends TestCase { } } + @Test public void testRotations() { int[][] moves = { { 0, 1, 2, 1, 4, 1, 6, 1, 8, 1, 10, 1, 12, 1, 14, 1, 16, 1, 18, 1, 20, 1, 22, 1, 24, 1 }, { 15, 1, 14, 1, 13, 1, 12, 1, 11, 1, 10, 1, 9, 1, 8, 1, 7, 1, 6, 1, 5, 1, 4, 1, 3, 1 }, @@ -51,34 +50,42 @@ public class PositionTrackerTests extends TestCase { } } + @Test public void testDepth4() { fullTest(5, 4); } + @Test public void testRandomDepth5() { randomTest(20, 5, 5, 1000); } + @Test public void testRandomDepth10() { randomTest(50, 10, 10, 1000); } + @Test public void testRandomDepth15() { randomTest(100, 15, 15, 1000); } + @Test public void testRandomDepth20() { randomTest(100, 15, 20, 1000); } + @Test public void testRetireDepth2() { randomRetireTest(100, 10, 25, 2, 1000); } + @Test public void testRetireDepth5() { randomRetireTest(100, 10, 10, 5, 1000); } + @Test public void testRetireDepth10() { randomRetireTest(100, 10, 5, 10, 1000); } @@ -242,6 +249,7 @@ public class PositionTrackerTests extends TestCase { return false; } + @Test public void testInsertion() { PositionTracker pt = new PositionTracker(); pt.insert(1, 1); @@ -266,6 +274,7 @@ public class PositionTrackerTests extends TestCase { doubleRangeCheck(pt, new Region(1, 0), new Region(2, 0)); } + @Test public void testDeletion() { PositionTracker pt = new PositionTracker(); pt.delete(1, 1); @@ -288,6 +297,7 @@ public class PositionTrackerTests extends TestCase { doubleRangeCheck(pt, new Region(2, 0), new Region(1, 0)); } + @Test public void testReplace() { PositionTracker pt = new PositionTracker(); pt.delete(1, 1); diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/tests/ResourceLookupTests.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/tests/ResourceLookupTests.java index 4be8e614701..3edb1206ebe 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/tests/ResourceLookupTests.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/tests/ResourceLookupTests.java @@ -14,12 +14,14 @@ *******************************************************************************/ package org.eclipse.cdt.core.internal.tests; +import static org.junit.jupiter.api.Assertions.assertEquals; + import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URI; -import org.eclipse.cdt.core.testplugin.util.BaseTestCase; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase5; import org.eclipse.cdt.internal.core.resources.ResourceLookup; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; @@ -30,28 +32,23 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Path; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -import junit.framework.Test; -import junit.framework.TestSuite; - -public class ResourceLookupTests extends BaseTestCase { - public static Test suite() { - return new TestSuite(ResourceLookupTests.class); - } +public class ResourceLookupTests extends BaseTestCase5 { private IProject fProject; - @Override - protected void setUp() throws Exception { - super.setUp(); + @BeforeEach + protected void beforeEach() throws Exception { final IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); fProject = root.getProject("reslookup_" + getName()); } - @Override - protected void tearDown() throws Exception { - fProject.delete(true, new NullProgressMonitor()); - super.tearDown(); + @AfterEach + protected void afterEach() throws Exception { + fProject.delete(true, true, new NullProgressMonitor()); } protected IFolder createFolder(IProject project, String filename) throws CoreException { @@ -71,6 +68,7 @@ public class ResourceLookupTests extends BaseTestCase { return file; } + @Test public void testNameLookup() throws CoreException { IProject[] prjs = new IProject[] { fProject }; @@ -112,6 +110,7 @@ public class ResourceLookupTests extends BaseTestCase { assertEquals(3, files.length); } + @Test public void testResourceDelta() throws CoreException { IProject[] prjs = new IProject[] { fProject }; fProject.create(new NullProgressMonitor()); @@ -143,6 +142,7 @@ public class ResourceLookupTests extends BaseTestCase { assertEquals(1, files.length); } + @Test public void testDeref() throws CoreException { IProject[] prjs = new IProject[] { fProject }; @@ -166,6 +166,7 @@ public class ResourceLookupTests extends BaseTestCase { assertEquals(3, files.length); } + @Test public void testCollected() throws CoreException { IProject[] prjs = new IProject[] { fProject }; @@ -189,6 +190,7 @@ public class ResourceLookupTests extends BaseTestCase { assertEquals(3, files.length); } + @Test public void testFindFilesByLocation() throws Exception { fProject.create(new NullProgressMonitor()); fProject.open(new NullProgressMonitor()); @@ -215,6 +217,7 @@ public class ResourceLookupTests extends BaseTestCase { } } + @Test public void testLinkedResourceFiles() throws Exception { IProject[] prjs = new IProject[] { fProject }; diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/tests/StringBuilderTest.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/tests/StringBuilderTest.java index 012ae0b2d5d..b9a26c1db78 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/tests/StringBuilderTest.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/internal/tests/StringBuilderTest.java @@ -14,17 +14,18 @@ package org.eclipse.cdt.core.internal.tests; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.fail; + import java.lang.reflect.Method; -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase5; +import org.junit.jupiter.api.Test; -public class StringBuilderTest extends TestCase { - public static Test suite() { - return new TestSuite(StringBuilderTest.class); - } +public class StringBuilderTest extends BaseTestCase5 { + @Test public void testSafe() { StringBuilder b1 = new StringBuilder(); StringBuilder b2 = new StringBuilder(); @@ -35,6 +36,7 @@ public class StringBuilderTest extends TestCase { assertEquals("ab", b1.toString()); } + @Test public void testBug220158() { StringBuilder b1 = new StringBuilder(); StringBuilder b2 = new StringBuilder(); @@ -44,6 +46,7 @@ public class StringBuilderTest extends TestCase { assertEquals("ab", b1.toString()); } + @Test public void testStringBuilderMethods() throws Exception { Class clazz = StringBuilder.class; Method method = clazz.getMethod("append", CharSequence.class); diff --git a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/resources/tests/RefreshScopeTests.java b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/resources/tests/RefreshScopeTests.java index eec00efd37b..a04ae546b72 100644 --- a/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/resources/tests/RefreshScopeTests.java +++ b/core/org.eclipse.cdt.core.tests/misc/org/eclipse/cdt/core/resources/tests/RefreshScopeTests.java @@ -13,6 +13,11 @@ *******************************************************************************/ package org.eclipse.cdt.core.resources.tests; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.fail; + import java.io.File; import java.io.IOException; import java.util.HashMap; @@ -32,6 +37,7 @@ import org.eclipse.cdt.core.settings.model.ICProjectDescription; import org.eclipse.cdt.core.settings.model.WriteAccessException; import org.eclipse.cdt.core.testplugin.CProjectHelper; import org.eclipse.cdt.core.testplugin.CTestPlugin; +import org.eclipse.cdt.core.testplugin.util.BaseTestCase5; import org.eclipse.cdt.internal.core.resources.ResourceExclusion; import org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager; import org.eclipse.core.resources.IFolder; @@ -44,16 +50,15 @@ import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; /** * @author crecoskie * */ -public class RefreshScopeTests extends TestCase { +public class RefreshScopeTests extends BaseTestCase5 { private IProject fProject; private IProject fGeneralProject; @@ -65,11 +70,8 @@ public class RefreshScopeTests extends TestCase { private IFolder fFolder6; private String config1, config2; - /* (non-Javadoc) - * @see junit.framework.TestCase#setUp() - */ - @Override - protected void setUp() throws Exception { + @BeforeEach + protected void beforeEach() throws Exception { // create project CTestPlugin.getWorkspace().run(new IWorkspaceRunnable() { @@ -141,14 +143,14 @@ public class RefreshScopeTests extends TestCase { } - /* (non-Javadoc) - * @see junit.framework.TestCase#tearDown() - */ - @Override - protected void tearDown() throws Exception { + @AfterEach + protected void afterEach() throws Exception { fProject.delete(true, true, null); + fGeneralProject.delete(true, true, null); + BaseTestCase5.assertWorkspaceIsEmpty(); } + @Test public void testAddDeleteResource() throws CoreException { RefreshScopeManager manager = RefreshScopeManager.getInstance(); @@ -221,6 +223,7 @@ public class RefreshScopeTests extends TestCase { assertEquals(config2_resourcesAfterDelete.contains(fProject), true); } + @Test public void testSetResourcesToExclusionsMapRefresh() { RefreshScopeManager manager = RefreshScopeManager.getInstance(); manager.clearAllData(); @@ -239,6 +242,7 @@ public class RefreshScopeTests extends TestCase { } + @Test public void testAddRemoveExclusion() { RefreshScopeManager manager = RefreshScopeManager.getInstance(); manager.clearAllData(); @@ -272,6 +276,7 @@ public class RefreshScopeTests extends TestCase { } + @Test public void testPersistAndLoad() { RefreshScopeManager manager = RefreshScopeManager.getInstance(); manager.clearAllData(); @@ -418,6 +423,7 @@ public class RefreshScopeTests extends TestCase { manager.clearAllData(); } + @Test public void testResourceExclusion() { RefreshScopeManager manager = RefreshScopeManager.getInstance(); manager.clearAllData(); @@ -534,6 +540,7 @@ public class RefreshScopeTests extends TestCase { } + @Test public void testDefaults() { RefreshScopeManager manager = RefreshScopeManager.getInstance(); manager.clearAllData(); @@ -602,6 +609,7 @@ public class RefreshScopeTests extends TestCase { return conf.getName(); } + @Test public void testEmptyRefreshScopeCloseAndReopen() { RefreshScopeManager manager = RefreshScopeManager.getInstance(); @@ -641,6 +649,7 @@ public class RefreshScopeTests extends TestCase { assertEquals(0, config_resources.size()); } + @Test public void testAddEmptyConfiguration() { final String CFG_NAME = "empty_config"; @@ -673,6 +682,7 @@ public class RefreshScopeTests extends TestCase { } + @Test public void testNullProjectDescription_bug387428() { final String CFG_NAME = "empty_config"; @@ -688,8 +698,4 @@ public class RefreshScopeTests extends TestCase { assertEquals(true, empty_config_resources.contains(fGeneralProject)); } - public static Test suite() { - return new TestSuite(RefreshScopeTests.class); - } - }