1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-17 05:55:22 +02:00
Commit graph

1731 commits

Author SHA1 Message Date
Jonah Graham
3f682d7b00 Update to latest Orbit which means new mockito version
Note that FileBasedErrorParserTests had to change because of some
Tycho incompatibility with JUnit's ParameterizedTest. It works
in the IDE, but not in maven.

The correct fix is to resolve the tycho settings, see Bug 569949
for a previous example. It may also be simply resolved by updating
to Tycho 3.0.0. However I want to get this change in as
at the moment CDT.setup is broken and that is impeding developers.
2022-11-14 16:04:19 -05:00
Jonah Graham
c650c25b85 Delete settings.xml file at end of test
Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
6ea56953d0 Create temporary files with ResourceHelper so they get cleanedup
Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
23399e83eb Clean up created projects in tearDown
Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
abd81474e6 Add missing abstract keyword to abstract tests
Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
1cdf58a663 Pass exceptions up the stack
Make sure not to lose stack trace when a test fails.

Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
75e52e4682 Add JUnit5 dependencies
While it may be that the tests don't directly rely
on JUnit5, the IDE requires JUnit5 in the classpath
or else the launch config doesn't work with this error:

Cannot find class 'org.junit.platform.commons.annotation.Testable'
on project build path.

Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
5cebec6477 There is a new way to mark tests as failing
And by "new" I mean 15 years old.

Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
57d7a47f45 Delete projects fully at the end of tests
This code seems to be trying to optimize across tests.
This change isolated each individual test better.
Also removed is a bunch of effectively unused test code.

Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
b37e9c3812 Delete all the test suites from primary CDT test projects
Having the test suites means that tests run multiple times
when running in the UI. Most suites just ran the tests in
that package, so their value, especially with the transition
to JUnit5 is minimal.

Note that the suites are not used when running build
with Tycho/Maven

Part of #117
2022-11-07 07:53:47 -05:00
Jonah Graham
6eaaf714cc Upgrade build.properties warnings to errors
Warning in build.properties will be errors when they run
in the tycho build, like this:

```
Error:  Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:2.7.5:package-plugin
(default-package-plugin) on project org.eclipse.cdt.core.tests:
/home/runner/work/cdt/cdt/core/org.eclipse.cdt.core.tests/build.properties:
bin.includes value(s) [test.xml] do not match any files. -> [Help 1]
```

So make them errors in the workspace so that the issue is
detected before push.

Some build.properties issues don't affect the build, but
are still indicative of a problem.
2022-11-06 18:29:28 -05:00
Jonah Graham
1f19cff227 Make missing identifiers and classes in plugin.xml errors
Subsequent commits fix the errors
2022-11-04 08:19:23 -04:00
Jonah Graham
23d44d05a4 Restore completion filter after testing preference
On GitHub actions the org.eclipse.cdt.ui.tests.text.contentassist2
tests are running after ProposalFilterPreferencesTest and
ProposalFilterPreferencesTest was changing the default
filter and not restoring it.

Part of #117
2022-10-25 22:56:02 -04:00
Jonah Graham
e4e06008af Update to Java 17 as BREE. Fixes #80 2022-10-03 12:42:37 -04:00
Jonah Graham
110ac149c2 [releng] Bump versions for CDT 11.0.0 2022-10-03 12:42:37 -04:00
Jonah Graham
1c8c96c239 Move the disable intro ini out of root of repo
The root files in GitHub are a bit more prominent, so keep
that area clean and move this special ini to a subdir.

Change-Id: I12d95727e9dad29ebe4f50d47faa9e98753a52bc
2022-08-04 12:23:12 -04:00
Jonah Graham
a1c02e2cce [releng] Apply auto-clean of save to all files with Eclipse 4.23
This mostly is using diamond operator, but includes
adding missing @Override and organizing imports and
applying formatting improvements in the JDT formatter.

Change-Id: Id91cbff33b0a039cc5121945ffbc407ecba45866
2022-04-19 20:13:15 -04:00
Jonah Graham
148ae40d0f [releng] Make CDT Clean-up profile match Editor on save actions
The CDT Cleanup profile had a bunch of extra cleanups applied to it, this
prevents running the CDT cleanup profile manually to simulate running the
save actions on all Java files

Change-Id: Iad491e1258a4ba90d81d1457ea0f6779e3663e38
2022-04-19 20:13:15 -04:00
Jonah Graham
7400e22b1f [releng] Update all legal files with update_legal_files.sh
The about.html was changed as per
https://gitlab.eclipse.org/eclipsefdn/it/websites/eclipse.org/-/issues/90

Change-Id: Ied879279460a8fc610630fc26794ab3df9eae39f
2022-04-13 13:42:35 -04:00
Jonah Graham
2402a0101e Bug 579669: Ignore .settings in some tests
In Eclipse 4.24 .settings is created all the time for new projects,
for CDT test projects which have the root of the project being the source
root this means that .settings is now returned in various places.

This patch removes .settings from results before checking results against
expected results.

Change-Id: Id02e9b8f25b109ed289d22ffb526ecceb747d4f7
2022-04-12 14:30:37 -04:00
Jonah Graham
e8d924bb9a [releng] Bump versions for 10.7.0
Change-Id: Ibada1ef26f47f4238ae64f53fb67a73125534347
2022-04-10 20:55:36 -04:00
Jonah Graham
db4bc74334 Bug 579261: Fix formatter exception when formatter comment tags aren't used
Change-Id: Ia704bfd9bd6ff0e171187b78aa6b693a1921902e
2022-03-14 17:05:45 -04:00
Jonah Graham
dbd7558f17 [releng] Bump to CDT version 10.6.0
Change-Id: I28629cdfb0906ce7f1b33a88cbbd55521afc8f6b
2022-01-12 14:07:45 -05:00
Jonah Graham
fa8a6279d2 Bug 577074: Fix i18n on import/export language settings
Side effect is that the indentation in the transformer now
works properly, so the extra newlines inserted everywhere
can be removed.

This change was done by changing the output to an OutputStream
instead of a Writer so that the XML handler could set the
encoding to match what was in the settings, i.e.:
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");

The non-translated language IDs are used in preference to the
translated names when importing. The export now puts that ID
(when available) in the output file. The ID is available on
normal user files (C, ASM, C++) and not on object files. The
object files probably don't have languages settings that are
exported, but this code does not exclude them from being exported.

Change-Id: I46de004bb8c6a0ca05210487a5d33390d397c720
2021-11-09 11:01:13 -05:00
Jonah Graham
c13962fcd7 [releng] Update to latest dependencies (2021-12 M2)
This includes requiring older version Hamcrest as the org.hamcrest
bundle was recently update in Orbit to a new major version that
isn't compatible.

Change-Id: I7cb23f0be058d1404b93b1a76cbfe8182a3ded14
2021-10-25 18:56:15 -04:00
Jonah Graham
ad4d444823 [releng] Prepare for CDT 10.5.0
Change-Id: I9b72edf4a0ff0771a147934dd7f1c92ba1ee799a
2021-09-26 20:23:17 -04:00
Jonah Graham
43c285a7ef Bug 574247: Test for order of elements in outline view
Change-Id: I75593befecdc19ddee137830a457c8dbfb486a03
2021-07-24 12:18:22 -04:00
Jonah Graham
902ea0dfa1 [releng] Bump to CDT version 10.4.0
Change-Id: I0807f46d9ebb8bb579b687366cdb19e40935a9ec
2021-06-12 20:52:54 -04:00
Alexander Fedorov
8dbf024ab8 Bug 572552 - CDT releng: update versions to 10.3.0
Added missed license headers
Updated baseline for the parent pom to CDT 10.2
Updated version for pom.xml to 10.3
Updated version for features and bundles to CDT 10.3
Updated copyright for about.properties to be 2021
Incremented version + 100 where needed

Change-Id: I79666fcc0402fee6607499d7dce1eaf87a5f446d
Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
2021-04-04 16:17:25 -04:00
Jonah Graham
5c82be881d Bug 569839: Provide a new JUnit5 base and utility classes
Change-Id: I8682f4702cfa0cad7d0452ca48d1ab74eeb1dbdb
2021-02-01 11:32:53 -05:00
Jonah Graham
25cbbcd5b5 Bug 569839: Ensure that behaviour is same running tests without suites
This change renames all suites to be called ...TestSuite so that
the default includes don't pick them up. With the name ...Tests it
means that those tests referenced by the suite are run multiple times.

Tests which relied on being run as part of a TestSuite have been
refactored to run as individual tests by moving the logic from
the suite into the test (e.g. CommentHandlingTestSuite)

Tests that were not runnable have been renamed from ...Test to ...Tester
to match a convention already used in CDT.

Lots of tests did not use standard name (i.e. didn't end in no Test) so
this was fixed.

Many tests were really abstract tests, so the missing abstract was added,
e.g. ArrayTests

The default excludes in Maven behaviour differently than may be expected,
so rather than remove static inner test classes, update the excludes,
see pom.xml change

Change-Id: Ia91e12fe76c3ec2d914463a28400d21b9daf1910
2020-12-21 14:50:51 -05:00
Jonah Graham
7b6701f9ef Bug 569839: Add DefaultCCommentAutoEditStrategyTest to testsuite
This test started failing (and wasn't in testsuite previously) because
it had significant trailing whitespace in some tests.

The fix is to use ${whitespace_eol} which I have also added to some
of the javadocs to make it easier to find next time.

Change-Id: Ib364d8a400bcdeb21445dde8428e0fd4c77db990
2020-12-21 11:49:24 -05:00
Jonah Graham
75e281ffac Bug 569839: Restore the cleanupProject
This style is the JUnit3 way of doing JUnit4 @AfterClass. It was
commented out as part of Bug 564002 (commit 9e303185f9).

Change-Id: I56e2754f3cce447c47546c91cdc16b302e18b4a6
2020-12-21 11:49:24 -05:00
Jonah Graham
c248620053 [releng] Increment feature and related versions to 10.2.0
Change-Id: Icd135a588920fa25fd846dc285db5f83e5ac7037
2020-12-19 12:11:25 -05:00
Torbjörn Svensson
e632011f2c Bug 568728: Drop execute permission on files
Add enforecment script that verifies that only specified file types are
allowed to be mared as executable.

Change-Id: I4b40e3a46b03bfc78a9dcd52e8bf29cb079b7f3b
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
2020-11-18 17:38:22 +01:00
Marc-Andre Laperle
bc76b0a7c3 Bug 567778 - [Include Browser] Cannot open the Include Browser on file outside source folder
CoreModelUtil.findTranslationUnit only returns CElement in the populated
CModel of a project. This shouldn't change as a large majority of client
code need to see the model this way and not consider files that are
outside source folders. So for a file not under a source folder (and
therefore not in the CModel), we can just create a new translation unit
instance for it. This is actually how the editor deals with it too.

Change-Id: I8898822e94cac8562edcc0a726fdd8680119faca
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2020-10-12 12:15:43 -04:00
Jonah Graham
24639efcee [releng] Bump version to 10.1.0
Change-Id: I39f7c379c0b43c086a25b047b3af564f6f24d670
2020-10-06 16:20:18 -04:00
Marc-Andre Laperle
41b741f358 Bug 567261 - Revert "541239: [C++17] Implement parser support for deduction guides"
This reverts commit bcb955a321.

Change-Id: Iaf6ba398e439e3d1da1e3a3b0247c7b24bbfb057
2020-10-05 21:40:00 -04:00
Marc-Andre Laperle
cb0797481f Bug 566918 - [C++17] Support for __has_include (standard) and
__has_include_next (extension)

__has_include evaluates whether of the header name passed as parameter
exists. This can only be evaluated as part of a #if directive.
Interestingly, it also has to be reported as defined, i.e. #if
defined(__has_include) or #ifdef. In order to report this as defined,
this implementation adds it as a macro but during macro expansion, it's
actually converted as a dedicated token type. Then this token gets
evaluated during normal preprocessor expression evaluation.

In order to parse header names, there were several options. The main
problem is that header tokens (tQUOTE_HEADER_NAME, tSYSTEM_HEADER_NAME)
are actually produced by the Lexer as part of a special mode
(setInsideIncludeDirective) set during the handling of #include. For
expression evaluation, the tokens are already generated without
setInsideIncludeDirective therefore we only have plain string
and < > tokens.

One approach would be to generate header tokens "earlier" than executing
we need to track a new state while fetching token to configure the Lexer
(setInsideIncludeDirective) when in the context of an __has_include.
There are also complications due to macro expansion within the
__has_include where after one expansion, we don't have a lexer in the
context anymore, introducing more changes.

Another approach would be to remove the Header token creation from the
Lexer itself and let the preprocessor assemble the tokens into an header
string, in both cases of #include and __has_include. This mostly works
and is the approach used in Clang, but the problem is that whereas Clang
keeps track of leading spaces of tokens, CDT doesn't. This means with
such change that CDT would now allow #include <  iostream  > (notice the
white space). I think this is too big of a downside and also too big of
a change to introduce this handling of whitespace at the token level.

The approach used here is more conservative and isolated but also shares
less common logic with #include processing. The non-header token
(string, <, etc) are assembled into a header string only in the case of
a __has_include. So a downside will be that #include and __has_include
will be inconsistent in regards of leading/trailing space parsing but I
feel like this is better than making #include more permissive.

Change-Id: I5b9f5c616c8d999e0c916a85b41f96e20037b651
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2020-09-27 15:12:52 -04:00
Jonah Graham
7818f6e494 Bug 558809: Handle cases where Oomph corrupts \0 char in preference
Some CDT preferences use \0 as a separator in preferences. Somewhere
in the Oomph preference synchronizer stack there is, or was, a place
that failed to escape/unescape preferences with encoded \0 properly.

CDT would then fail to parse the preference and an exception would
be raised, causing code completions and the editor to be broken.

This patch hardens the CDT code to:
(1) Allow an escaped \0 to be used as a separator on
    read (Oomph uses ${0x0})
(2) Handle NumberFormatExceptions gracefully. In this case that means
    showing user a pop-up that their completion preferences
    are empty and offering to reset them, or edit them in preference
    page. This UI logic already existed, so all the new code
    has to do on failed parse is return a list of all disabled
    completions.

Change-Id: Ibf3b05c0855bb96c195ca43139a50c27a2a90c7e
2020-08-31 20:06:10 -04:00
Jonah Graham
0cb1f7482a Bug 566511: [releng] Add missing UTF-8 encoding for all CDT projects
Includes updates to code cleanliness script

Change-Id: Ic495124285e3e002993f34dc12be5ad7337fe13b
2020-08-30 20:02:41 -04:00
Torbjörn Svensson
f6016c5e0b Fixed "The value for X attribute is not externalized" warning
Change-Id: Ib2f0d85a0428a1f59cc7ccab6ebb8fd91ffa2a41
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
2020-08-28 21:32:18 +02:00
Jonah Graham
fd9382d8a9 Bug 562494: Update BREE to Java 11
Change-Id: I0c91aafc0cb1b179936acbd4c9df2d961899e3fa
2020-08-24 17:50:56 -04:00
Martin Weber
9e303185f9 Bug 564002: Restore the default pattern of the surefire-plugin
Sets the pattern to the default of upcoming tycho 2.0 in advance.

Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
Change-Id: I31b3fc733d0cb888fbf6f566995ce2043f6cd621
2020-08-13 14:18:47 -04:00
Marco Stornelli
f4bed34dd0 Bug 564273 - Fix format lambda expressions without parenthesis
Change-Id: I918ca05d75ca4e8cba7501e232d4e6b05e434f06
2020-06-15 00:58:12 -04:00
Jonah Graham
c0ffeb6474 Bug 563864: By default fail build on test failures when building CDT with maven
Change-Id: I9bd3db3850cc45abb0ea53f8885a331c7f327887
2020-06-02 15:26:57 -04:00
Marco Stornelli
0f1940afc5 Bug 487990 - Fix format of variadic functions
Change-Id: I802d032f733247178db46c8fe43fdb9350555509
2020-06-01 04:37:13 -04:00
Alexander Fedorov
73982472ee Bug 562997 - Switch CDT doxygen to use new Equinox preferences API
Switched from "org.eclipse.cdt.core.options" to
"org.eclipse.core.runtime.preferences"

Change-Id: Ie01d955079a7a54875270bb2d259c9232d30e7ea
Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
2020-05-09 11:42:57 -04:00
Marco Stornelli
1d38d997dc Bug 562896 - Fix qualified name in return type for implement method
Change-Id: Ie1ff2e401091655c6ecc2a7393dac19cea872a0e
2020-05-09 02:43:18 -04:00
Marco Stornelli
e730b264c5 Bug 562722 - Fix noexcept using implement method
Change-Id: I3ac99f916883fa4be55af29e51b63bc8aa40a63f
2020-05-04 19:26:16 +02:00