Commit Graph

20 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 986ab9cb54 Build: remove useless .as40 files 2020-11-28 14:25:54 +03:00
Vyacheslav Gerasimov 8620d26a8a Delete 193 bunch files 2020-11-11 14:28:53 +03:00
Nikolay Krasko 2df030f583 as42: Apply 201 <-> AS41 diff 2020-09-29 15:32:32 +03:00
Yunir Salimzyanov 27b2e16141 Cleanup as36 patchset files (KTI-315) 2020-08-19 19:40:00 +03:00
Nikolay Krasko 21fa2bf98c Switch to 201 platform 2020-06-30 19:53:18 +03:00
Yunir Salimzyanov 7ab7ca5ff0 Cleanup as35 extension files (KTI-240) 2020-06-01 18:43:10 +03:00
Vyacheslav Gerasimov af2dce0549 as41: Build against AS 4.1 C10 2020-05-27 18:46:57 +03:00
Konstantin Tskhovrebov e6f527f1d0 Update tests: disable tests run gutters for Object. 2020-04-23 14:16:22 +03:00
Nikolay Krasko 34fda45113 201: Update test data about test run markers under gradle 2020-03-12 03:02:30 +03:00
Dmitry Savvinov e6885323da Accept incorrect behaviour for run-config tests for AS
Short description.
It's a corner-case with old MPP plugins and AS, so we
don't care too much that it works incorrectly, but we'd like to avoid
muting it in order to keep track of this "known issue"

Long description.
In IDEA, KotlinJvmTestMethodGradleConfigurationProducer successfully
returns run configuration; in AS, it fails to do so.

This is becasuse it doesn't override 'forceGradleRunner', which means
that in 'setupConfigurationFromContext' we'll delegate to super-call,
which will pull 'GradleProjectSettings.getTestRunner()'.

In IDEA, it will return GRADLE, but in AS it will return PLATFORM,
because AS uses special instance of GradleProjectSettings which forces
runner to PLATFORM.

Note that KotlinMultiplatformJvmTestMethodGradleConfigurationProducer
does override 'forceGradleRunner' to true, that's why other tests work
successfully. However, this test uses old 1.2.X-MPP plugins, therefore
all new KotlinMultiplatform*ConfigurationProducers won't work here.\
2020-03-02 16:40:15 +03:00
Dmitry Savvinov baa2c56e2d Force-set path to exact project for MPP run configurations
Otherwise, path will be set to the root project. Given that we provide
task names in relative form rather than absolute, that will lead to
launching this task in all subprojects (e.g. task 'jvmTest'). This might
be a huge issue, because when we create run configuration for specific
test method/class, we pass test filter as well. This test filter will
execute in all projects with matched test tasks, so if some other
subproject has similarly-named test task, but doesn't have a suitable
tests for that filter, the whole build will fail.

Note that the ideal fix would involve using fully-qualified task names:
the current approach might lead to isses in advanced scenarious (e.g.
when user selects several test files from different modules -- then, we
won't be able to find one exact project path for the whole test run)

^KT-35038 Fixed
2020-02-17 20:05:50 +03:00
Dmitry Savvinov cc2884b8ae Add test on multiplatform run configurations in multiproject build
The current behaviour is undesired, see next commit for fix
2020-02-17 20:05:50 +03:00
Dmitry Savvinov 56286cd4dc Fix overly restrictive cast to allow running multiplatform tests for objects
^KT-35480 Fixed
2020-01-24 11:00:17 +03:00
Dmitry Savvinov 77a7ceaa55 Add test on object with tests in common module
^KT-35480 In Progress

(current behavior is undesired, see fix in next commit)
2020-01-24 11:00:17 +03:00
Dmitry Savvinov f78ea75431 Fix running tests from expect class by using FakeLightClasses
Unfortunately, IJ API requires us to return instances of
PsiClass/PsiMethod in order to proceed with run configuration creation.

In fact, those instances will be queried only by trivial requests, like
containingFile or name. Therefore, full-blown LightClasses are not
needed and even harmful, because for some declarations we can not build
proper light classes (like for expect declarations, for example)

Previously it mostly worked because most of declarations in common
indeed have corresponding Light-instances (because common source-set can
be seen from Java through JVM-part of a project).

^KT-34503 Fixed
2020-01-24 11:00:16 +03:00
Dmitry Savvinov cea612cba4 Add test on expect class with test methods inside
^KT-34503 In Progress

(current behaviour is undesired, see next commit for fix)
2020-01-24 11:00:16 +03:00
Dmitry Savvinov b34f091fa4 Introduce tests runner for run configurations + highlighting + Gradle
This allows us to check two things:
- presence of line markers (haven't been checked by old
  GradleTestRunConfigurationTests, though could've been checked by
  LineMarkerTests)
- some properties of run configurations which will be created from those
  line markers

Old GradleTestRunConfigurationTest have been renamed to
GradleTestRunConfigurationCustomTest and slightly modified to be able
to re-use the same testdata if necessary.
2020-01-24 11:00:16 +03:00
Nikolay Krasko ea8fa55f12 Rename kotlinJUnitSettings test data folder to fix tests 2019-12-17 15:09:50 +03:00
Yan Zhulanow 748cbd7eec Import Kotlin JUnit run configuration settings from Gradle 2019-12-11 20:04:03 +09:00
Yan Zhulanow 987307cf92 Prefer Kotlin Gradle test run configurations when possible (KT-33787) 2019-11-11 17:13:58 +09:00