With this annotation we can configure specific tests for
running on different platforms on TC and locally.
`supportedOn` shows the platform where the test should pass.
`enabledOnCI` configures on which platform test should be run on CI.
New tests `testHmppLibAndConsumer` and `testMultiModulesHmpp` were added
The first is a test with MPP library and its consumers, it checks import
and also highlighting before and after the library was published
The second is a project which contains three multiplatform modules and
two platform modules and checks import and highlighting.
Original commit: https://jetbrains.team/p/ij/repositories/intellij/revision/15582b03530eba4fa0e3d0b512bb0a4c1fa3aa4c
By this commit:
- Used `isTeamcityBuild` flag for a separating local run of the tests from CI
For local run by default uses master version of gradle-plugin and
LATEST_SUPPORTED_GRADLE_VERSION of the Gradle.
But you can specify versions for local run by overriding sysenv
`IMPORTING_TESTS_LOCAL_RUN_PARAMS`.
For example: export IMPORTING_TESTS_LOCAL_RUN_PARAMS=6.7.1:1.4.30
- Moved main logic from `GradleImportingTestCase` to
`MultiplePluginVersionGradleImportingTestCase` for removing the first one later
- Removed `AbstractModelBuilderTest` as useless only
`DistributionLocator` left from this class.
Started as a result of postponed jdk dispose
71e7449
CodeInsightTestFixtureImpl assertPointersAreDisposed is invoked before
actually removing pointers.
com.intellij.openapi.util.TraceableDisposable$DisposalException: 1708093728
at com.intellij.openapi.util.TraceableDisposable.getStackTrace(TraceableDisposable.java:121)
at com.intellij.openapi.vfs.impl.VirtualFilePointerTracker.assertPointersAreDisposed(VirtualFilePointerTracker.java:86)
at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl.lambda$tearDown$38(CodeInsightTestFixtureImpl.java:1281)
at com.intellij.testFramework.RunAll.collectExceptions(RunAll.java:57)
at com.intellij.testFramework.RunAll.runAll(RunAll.java:35)
at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl.tearDown(CodeInsightTestFixtureImpl.java:1234)
at org.jetbrains.kotlin.idea.codeInsight.gradle.GradleQuickFixTest.tearDownFixtures(GradleQuickFixTest.kt:41)
at org.jetbrains.kotlin.idea.codeInsight.gradle.ExternalSystemTestCase.lambda$null$5(ExternalSystemTestCase.java:185)
Basically, the former uses an old quickly-scrapped infrastructure,
which were not applicable for HMPP, so the latter tests were written.
So, both check for one and the same thing (highlighting in MPP projects),
but MultiplatformAnalysisTest is more modern,
and has a lot of inconvenient stuff in MultiplatformHighlighting fixed
^KT-43116 Fixed
The tests need to be able to parse and render CodeMetaInfo for different
platforms. For example, we must draw a run gutter a MAC application on
OSX, but for a Win application, the gutter should not be drawn at the
same time. This commit allows to do such checks. In order to indicate
on which platform it should be rendered, it is necessary to specify the
platform for a specific CodeMetaInfo in the test data in the format
{OSX,Unix,Win}, if the block with platforms is missing, this means
that it should be rendered on each platform.
<!LINE_MARKER{OSX}(...)!> - should only be on OSX
<!LINE_MARKER(...)!> - should be on any platform
The current test framework has a number of shortcomings, such as
different markups for different kinds, those formats can not be
mixed in one test file, lacks composability, re-use of it is complicated
This commit contains the first version of the new test runner
to which tests will be migrated in the future.
Also error "Could not find org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable"
was fixed by adding ":native:kotlin-klib-commonizer-embeddable:install"
in dependencies for the kotlin-plugin install
After updating version of gradle-plugin this tests started to fail on
the old version of IDE. After discussion we decided just mute it in
the old bunches
When 6.5.1 Gradle version was added, more tests have began to fail
because of legacy gradle-plugin versions (1.1., 1.2.) which are not
compatible with the new version of Gradle. This commit updates the used
version of the Gradle plugin to the latest stable (1.3.72) and makes it
configurable from tests.
Starting from version 1.3.60, unnecessary dependencies with runtime
scopes have been added for modules jvmTest and jsTest. After updating
the plugin version in tests from 1.3.50 to 1.3.72 and master,
tests began to fail because of this. In order not to stop other checks
in tests, they were redone for the current behavior with unnecessary
dependencies.
After fixing bug KT-40551, the old behavior in tests will be returned.
In the master version of plugin dependencies on stdlibs are enabled
by default. It is not expected for some tests.
Flag kotlin.stdlib.default.dependency=false fixed it.
Defined 4.0 and 1.3.0 as default versions of Gradle and plugin for PluginTargetVersions
Use `{{kotlin_plugin_repositories}}` template in testData of ImportTests
Update "mute" databases for new tests
Add `kotlin.stdlib.default.dependency=false` to some testData
You can configure smoke test suites and get critical test results faster
This doesn't replace rr/* builds, but complements them for a faster round trip.
Also test tasks and patterns were added for KMM team.
#KMM-265