Alexey Tsvetkov
d7edbb8dfc
Track changes in inline function when friend paths are disabled in JS
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
a4d122478b
Replace testCancelLongKotlinCompilation with less flaky test
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
ee94a64718
Explicitly request rebuild when untracked java file is removed
...
Previously a rebuild was happenning because FileNotFoundException
was thrown when getting psiFile of removed file.
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
50bf74b909
Turn off class redeclaration test for JS IC temporarily
...
So the tests could be run on TC.
Turn on after KT-19846 is fixed.
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
0fee7883ed
Recompile only files from last iteration after compile error
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
ff2e3ecfc4
Add JS specific IC build log in test
...
JS IC compares proto using a source file path as a key,
so moving file causes recompilation of its usages
unlike JVM IC that uses a class file path as a key.
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
7712044146
Fix IC test build log diverged from JPS
...
JPS marks dirty direct usages of removed classes since 172.* before a build.
Generic IC also marks dirty all subclasses and their usages.
That is necessary because a method from a removed class could be used
through a subclass.
JPS and generic IC logs diverged in 172 branch, but non-JPS tests
were not run on CI.
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
a31f503fa5
Recompile all subclasses of removed classes
2017-12-22 16:12:19 +03:00
Alexey Tsvetkov
fec2d08d22
Compile actual and expected declarations together
...
#KT-20840 fixed
2017-12-22 16:12:19 +03:00
Alexey Tsvetkov
3f082346ae
Do not set api version to language version when language version is null
...
#KT-21852 fixed
#KT-21574 fixed
2017-12-18 16:22:07 +03:00
Denis Zharkov
df533053f9
Record special name lookup when trying use interface as a SAM
...
It was already working in JPS, because it see our synthetic classes
as subclasses for SAM's, but with non-JPS build we have to manually
tracking places that should be recompiled after SAM members are changed
2017-12-12 16:17:58 +03:00
Denis Zharkov
ae6421476d
Refine dirty files computation in case of Java source changes
...
#KT-17621 In Progress
2017-12-12 16:17:58 +03:00
Nikolay Krasko
f46a8e0b16
Restore iml files for jps tests
2017-11-30 13:24:08 +03:00
Alexey Tsvetkov
913a997f24
Rebuild when language/api version is changed (JPS)
...
#KT-20757 fixed
2017-11-23 14:46:23 +03:00
Alexey Tsvetkov
18261838b6
Avoid deserializing .kotlin_module as class proto
...
#KT-20184 fixed
2017-11-16 14:47:59 +03:00
Alexey Andreev
2fbecfdd9c
Support generation of relative path in JS source maps in JPS builder
...
See KT-20820
2017-10-23 17:19:50 +03:00
Anton Bannykh
b2e53644a5
JPS JS: fix friend path detection in projects imported from Gradle (KT-18963 fixed)
2017-10-20 19:16:14 +03:00
Denis Zharkov
b77cc54122
Update lookupTracker testData
...
Just the order of lookups has been changed
2017-09-28 14:01:30 +03:00
Alexey Tsvetkov
1c7b8ec938
Change test data so IC and non IC warnings count match
...
When IC is on and new Kotlin class is referencing
new Java class, new Kotlin file is compiled twice,
because JPS thinks new Kotlin class is affected by
new Java class (see https://youtrack.jetbrains.com/issue/KT-20318 ).
This does not happen when IC is off, and KotlinBuilder
requests chunk rebuild (see previous commit).
I decided to remove the reference, because the issue
is now known, and the reference is non critical for the test.
2017-09-26 16:35:24 +03:00
Alexey Tsvetkov
7a5e0e1107
Request CHUNK_REBUILD when IC is off and there are dirty Kotlin files
...
Otherwise unexpected compile error might happen,
when there are Groovy files, but they are not dirty,
so Groovy builder does not generate source stubs,
and Kotlin builder is filtering out output directory
from classpath (because it may contain outdated Java classes).
Previously the issue was not detected,
because it was not possible to turn off the IC completely (in JPS),
only switch to the legacy IC.
#KT-20138
2017-09-26 16:35:24 +03:00
Alexey Tsvetkov
cb1ffdccd7
Add test where unused file is removed
2017-08-29 04:28:10 +03:00
Alexey Tsvetkov
cf72b14b34
Fix typo in test name
2017-08-29 04:28:08 +03:00
Alexey Tsvetkov
141c889a84
Make test case more useful
2017-08-29 04:28:08 +03:00
Alexey Tsvetkov
5f9bad5905
Add JS specific build logs to inline properties IC tests
...
Unlike the JVM target platform, the JS back-end does
not track getters' and setters' usages separately,
so when either accessor of some property is changed,
all usages of that property will be rebuilt.
2017-08-29 04:28:07 +03:00
Alexey Tsvetkov
73b63bb343
Refactor inline properties tests
2017-08-29 04:28:07 +03:00
Alexey Tsvetkov
b73d5cbe1f
Mock constant search in JPS tests
2017-08-29 04:28:06 +03:00
Alexey Tsvetkov
2312013c41
Move JVM specific IC tests to separate dir
2017-08-29 04:28:06 +03:00
Alexey Tsvetkov
556c43ae00
Update lookup tracker test "classifierMembers"
...
Before the change, the initial build has been failing,
so lookups from deserialized descriptors were not tested.
2017-08-29 04:28:06 +03:00
Alexey Tsvetkov
1c4ada2008
Fix searching serialized classes package contains multiple fragments
2017-08-29 04:28:03 +03:00
Alexey Tsvetkov
0a5fe3ef7c
Move JVM specific IC tests with class hierarchy changes
2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
e16c5ddb97
Avoid using JVM only APIs in IC tests to reuse with JS
2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
23bc907d3f
Move multi-module IC tests to separate dir
...
At the moment they are used only with JPS
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
166883d847
Move JVM specific IC test data to separate dir
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
7810da7018
Add IC compiler tests with Java
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
239943867b
Add JS specific proto comparison test
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
0d3b882852
Add proto comparison tests where members annotations are changed
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
6354d9d54f
Treat SEALED_SUBCLASS_FQ_NAME_LIST change as a class signature change
...
#KT-19580
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
856276328e
Treat JS class annotation list change as class signature change
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
e0ef08cf18
Add raw ProtoCompareGenerated output to proto comparison test data
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
642c5414a3
Minor: rename js.result.out->result-js.out
...
This way result.out and result-js.out are closer in
a list of files (e.g. in Intellij project view).
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
82c977f2d2
Add JS lookup tracker tests
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
6cfd090b20
Extract JVM lookup tracker tests
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
f3f7ca4b95
Show in lookup tracker log if there is no lookups in file
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
485e2345a9
Decouple lookup tracker tests from JPS
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
a4c7dbd693
Remove .touch actions for lookup test cases that fail to compile
...
It is useless to touch and recompile, because the first compilation
has failed anyway
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
61b3c1c429
Do not print NONE changes in proto tests
...
otherwise MainKt: NONE is added in all js tests
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
ed5b6e07aa
Implement JS proto comparison
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
8ffd141d17
Minor tweak to proto test data format
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
cc24b9f4ad
Always print class id in proto comparison test
...
A name of class file was used for added and removed classes
before the change.
The change is required for reusing the test data in js proto comparison
tests (there is no classfiles in js, so it is hard to
emulate jvm classfiles names for inner/nested classes).
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
5dd4e4cdd4
Move JVM specific proto comparison tests to separate dir
2017-08-10 21:19:41 +03:00