Dmitriy Dolovov
a3bfe58415
[KLIB tool] Fix failing test on dumping c-interop signatures
2023-11-02 18:44:14 +00:00
Dmitriy Dolovov
e18a2d0a2e
[KLIB tool] Add tests for dumping metadata signatures
2023-10-27 09:28:00 +00:00
Dmitriy Dolovov
88a297b022
[KLIB tool] Run tests for 'dump-metadata' with & without signatures
2023-10-27 09:28:00 +00:00
Dmitriy Dolovov
aa9b901926
[KLIB tool] Migrate 'dump-metadata' tests to K/N test infra
2023-10-27 09:28:00 +00:00
Dmitriy Dolovov
57e004e2b0
[KLIB tool] Respect '-signature-version' in 'dump-metadata' and 'dump-ir' commands
2023-10-27 09:28:00 +00:00
Dmitriy Dolovov
c34e334550
[KLIB tool] Rename "signatures" to "dump-metadata-signatures"
...
To make KLIB tool command names more uniform.
2023-10-27 09:28:00 +00:00
Dmitriy Dolovov
8f141e5dc6
[KLIB tool] Minor. Update usage info
2023-10-27 09:28:00 +00:00
Dmitriy Dolovov
93506bcb95
[KLIB tool] Add tests for dumping IR signatures
...
^KT-62341
2023-10-27 09:27:59 +00:00
Dmitriy Dolovov
a49723e35c
[KLIB tool] Minor. Rename ir() to dumpIr()
2023-10-27 09:27:59 +00:00
Dmitriy Dolovov
02f52371c1
[KLIB tool] Rename "contents" to "dump-metadata"
...
To make KLIB tool command names more uniform.
2023-10-27 09:27:59 +00:00
Dmitriy Dolovov
d8d95fdf4b
[KLIB tool] Deprecate usage of KLIB repositories
...
^KT-61098
2023-10-27 09:27:59 +00:00
Dmitriy Dolovov
5961710db3
[KLIB tool] Don't print stack trace on trivial errors
...
1. Don't need to print stack trace on trivial errors such as invalid
CLI argument or incompatible library version.
2. Re-organization of `logWarning()` & `logError()` calls inside
the klib tool.
2023-10-27 09:27:59 +00:00
Dmitriy Dolovov
8ca62ad656
[KLIB tool] Fail with an adequate error message on IR-less KLIBs
...
^KT-62341
2023-10-27 09:27:59 +00:00
Dmitriy Dolovov
f276fe6506
[KLIB] Add a reliable mechanism to check if KLIB has IR inside
...
^KT-62341
2023-10-27 09:27:59 +00:00
Dmitriy Dolovov
4b2776e126
[KLIB tool] Introduce new command: dump-ir-signatures
...
^KT-62341
2023-10-27 09:27:59 +00:00
Dmitriy Dolovov
447b0eddac
[KLIB tool] Drop useless arg: -target
2023-10-27 09:27:59 +00:00
Dmitriy Dolovov
b0c1cbff32
[KLIB tool] Minor. Reformat usage info
2023-10-27 09:27:59 +00:00
Dmitriy Dolovov
e8853fd40b
[IR] Drop obsolete o.j.k.backend.common.serialization.signature.IdSignatureSerializer
...
It has been renamed to IdSignatureFactory. We have to keep
IdSignatureSerializer as a typealias for a while to keep the source
compatibility with the Compose compiler plugin.
2023-10-02 22:37:54 +00:00
Dmitriy Dolovov
78a962f6d2
[KLIB] Deprecate -Xexpect-actual-linker CLI argument
...
This argument has been finally superseded by `-Xmetadata-klib`.
^KT-61136
2023-10-02 16:21:17 +00:00
Dmitriy Dolovov
620c9434ca
[Gradle] Use -Xmetadata-klib CLI arg to produce metadate KLIBs
...
The `-Xexpect-actual-linker` CLI argument is deprecated and replaced by
`-Xmetadata-klib` CLI argument.
^KT-61136
2023-10-02 16:21:17 +00:00
Dmitriy Dolovov
4d80e0f08d
[Native] Respect local.properties in build config
2023-10-02 16:14:59 +00:00
Dmitriy Dolovov
6c1711c52a
Bump Kotlin/Native version in KGP to 2.0.0-dev-3904
2023-09-22 12:51:02 +00:00
Dmitriy Dolovov
fa34021a04
[Native][tests] Fix KLIB contents tests
2023-09-22 05:56:22 +00:00
Dmitriy Dolovov
38a67f3d30
[KLIB] Use -Xmetadata-klib to produce metadata KLIBs
...
With this change a new `-Xmetadata-klib` CLI flag becomes the
preferable way to instruct K2MetadataCompiler to produce metadata
KLIBs. The old `-Xexpect-actual-linker` flag still works for
K2MetadataCompiler, but that would last just for a short transition
period until the necessary changes are made in the Gradle plugin.
The K2NativeCompiler does not work anymore with `-Xexpect-actual-linker`
and respects only the `-Xmetadata-klib` flag. This is not an
issue since the Gradle plugin anyway supplies both flags for Native
metadata compilations.
^KT-61136
2023-09-20 22:26:36 +00:00
Dmitriy Dolovov
848c88b1a5
[KLIB] Lift up -Xmetadata-klib CLI key from Native to Common args
...
This is a precondition for obsoleting and finally removing
`-Xexpect-actual-linker` CLI key, which became useless since
the removal of ExpectActualTable.
^KT-61136
2023-09-20 22:26:36 +00:00
Dmitriy Dolovov
c4da53475e
[JS][tests] Drop obsolete EXPECT_ACTUAL_LINKER test directive
...
This directive was earlier used in KMP tests that were rewritten
and do not require this directive anymore.
^KT-61136
2023-09-20 07:54:36 +00:00
Dmitriy Dolovov
70d12b271d
[Native][tests] Drop obsolete EXPECT_ACTUAL_LINKER test directive
...
This directive was earlier used in KMP tests that were rewritten
and do not require this directive anymore.
^KT-61136
2023-09-20 07:54:36 +00:00
Dmitriy Dolovov
249106b23f
[KLIB] Drop obsolete tests on serialization of expect IR declarations
...
These tests are muted for all KLIB-oriented platforms for a long time
and are no more relevant since the removal of ExpectActualTable.
^KT-61136
2023-09-20 07:54:36 +00:00
Dmitriy Dolovov
a2e148173d
[JS] Don't produce metadata-only (IR-less) KLIBs in JS
...
The scenario when JS source code is shared between a few JS common
source sets is not supported in Kotlin Multiplatform.
^KT-61136
2023-09-18 17:58:43 +00:00
Dmitriy Dolovov
b3cb8870e0
[IR][JS] Always drop expect declarations prior IR serialization
...
^KT-61136
2023-09-14 09:13:39 +00:00
Dmitriy Dolovov
98b3bdb175
[K1] Rename analysis flag expectActualLinker
...
Rename analysis flag `expectActualLinker` to `skipExpectedActualDeclarationChecker`
to better reflect its semantics. This flag isn't used on IDE plugin side, so no
additional changes in `intellij` repo are needed.
^KT-61136
2023-09-14 07:32:18 +00:00
Dmitriy Dolovov
033bb385b9
[IR] Drop expectDescriptorToSymbol completely
...
^KT-61136
2023-08-16 19:17:17 +00:00
Dmitriy Dolovov
9eb5b41ed8
[IR] Drop skipExpects & expectDescriptorToSymbol in IrFileSerializer
...
^KT-61136
2023-08-16 19:17:17 +00:00
Dmitriy Dolovov
d691ab61d7
[KLIB] Keep "API for KLIB ABI" test data under "compiler/testData/klib/" dir
...
The test data is used both in ":kotlin-util-klib-abi" and
":native:native.tests" modules. It's better to keep it together with
the test data for other KLIB tests which are also used in more than one
module, i.e. in "compiler/testData/klib/" dir.
2023-08-16 19:11:35 +00:00
Dmitriy Dolovov
cb92990ed6
[KLIB][tests] Reorganize "klib dump-metadata" tests
...
- Keep the test data under "native/native.tests/testData/klib/" dir
- Rename tests from "klib contents" to "klib dump-metadata"
2023-08-16 19:11:35 +00:00
Dmitriy Dolovov
ec9370c30b
[KLIB][tests] Reorganize "klib dump-ir" tests
...
- Keep the test data under "native/native.tests/testData/klib/" dir
- Rename tests from "klib ir" to "klib dump-ir"
2023-08-16 19:11:35 +00:00
Dmitriy Dolovov
a8034b6baa
[CODEOWNERS] Make K/N Team to be responsible for "compiler/testData/klib/" dir
2023-08-16 19:11:35 +00:00
Dmitriy Dolovov
60b950b9bd
[KLIB][tests] Keep "klib evolution" test data under "testData/klib/" dir
2023-08-16 19:11:34 +00:00
Dmitriy Dolovov
d7e9fcea04
[PL][JS] Add missing PL test to the IDEA run configuration
2023-08-16 19:11:34 +00:00
Dmitriy Dolovov
5c3e63e19a
[PL][tests] Keep PL test data under "testData/klib/" dir
2023-08-16 19:11:34 +00:00
Dmitriy Dolovov
7be877ce74
[IR][JVM] Drop JvmIrSerializerSession.skipExpects parameter
...
^KT-61136
2023-08-14 15:21:04 +00:00
Dmitriy Dolovov
6c12556c41
[IR][JVM] Drop JvmIrSerializerSession.expectDescriptorToSymbol parameter
...
^KT-61136
2023-08-14 15:21:04 +00:00
Dmitriy Dolovov
b7211c171f
[IR][JS] Drop JsIrFileSerializer.expectDescriptorToSymbol parameter
...
^KT-61136
2023-08-14 15:20:28 +00:00
Dmitriy Dolovov
5991364028
[IR][JS] Drop JsIrFileSerializer.skipExpects parameter
...
^KT-61136
2023-08-14 15:20:28 +00:00
Dmitriy Dolovov
b37bb0be16
[IR][Native] Drop KonanIrFileSerializer.expectDescriptorToSymbol parameter
...
^KT-61136
2023-08-14 15:13:44 +00:00
Dmitriy Dolovov
f3c58bcfb3
[IR][Native] Drop KonanIrFileSerializer.skipExpects parameter
...
^KT-61136
2023-08-14 15:13:44 +00:00
Dmitriy Dolovov
7dbfe4bfb1
[IR][tests] Fix MPP IR dump tests to not fail on missing expect declarations
...
Expect declarations do not survive serialization to KLIB. So they need to be explicitly filtered in order for tests that compare dumped IR before and after serialization to pass successfully.
^KT-61136
2023-08-12 07:03:29 +00:00
Dmitriy Dolovov
6e648ac374
[IR] Drop IR expect/actual table
...
^KT-61136
2023-08-12 07:03:29 +00:00
Dmitriy Dolovov
8be98da1d3
[PL] Halt compilation when there are linkage issues logged with the ERROR severity
...
^KT-61097
2023-08-10 13:21:34 +00:00
Dmitriy Dolovov
da2e6d93ff
[Native][tests] Don't use trove4j in K/N new test infra
2023-08-09 12:15:39 +00:00
Dmitriy Dolovov
3b626ea97c
[Commonizer] Replace ResettableClockMark by TimeSource.Monotonic
2023-08-08 09:40:18 +00:00
Dmitriy Dolovov
00fb927624
[KLIB] ABI reader: Update ReadMe.md
...
^KT-54402
2023-08-04 10:56:21 +00:00
Dmitriy Dolovov
18f9ada676
[KLIB] ABI reader: More verbose KDocs
...
^KT-54402
2023-08-04 10:56:21 +00:00
Dmitriy Dolovov
748eb2f9ee
[KLIB] ABI reader: Tests for classes inherited from classes produced by Native interop tool
...
^KT-54402
2023-07-31 20:22:21 +00:00
Dmitriy Dolovov
32e4b7a76f
[KLIB] ABI reader: Show fake overrides for classes inherited from classes produced by Native interop tool
...
^KT-54402
2023-07-31 20:22:20 +00:00
Dmitriy Dolovov
18668539e9
[KLIB] ABI reader: Tests for DNN & dynamic types
...
^KT-54402
2023-07-31 20:22:20 +00:00
Dmitriy Dolovov
a95f963ad3
[KLIB] ABI reader: Refactor manifest reading test
...
^KT-54402
2023-07-31 20:22:20 +00:00
Dmitriy Dolovov
ac3c000ab1
[KLIB] Native K1 & K2 tests for dumping KLIB ABI
...
^KT-54402
2023-07-31 20:22:20 +00:00
Dmitriy Dolovov
ab9b91180f
[KLIB] ABI reader: Expose supported AbiSignatureVersions
...
^KT-54402
2023-07-31 20:22:20 +00:00
Dmitriy Dolovov
ca00c38fca
[Native][tests] Use common test tag "klib" for all KLIB-related tests
2023-07-31 20:22:20 +00:00
Dmitriy Dolovov
76e24e5093
[KLIB] JS K1 & K2 tests for API for dumping KLIB ABI
...
^KT-54402
2023-07-31 20:22:20 +00:00
Dmitriy Dolovov
064600d351
[KLIB] API4ABI: Avoid CCE in HashMap.computeIfAbsent()
...
^KT-54402
2023-07-31 20:22:20 +00:00
Dmitriy Dolovov
5171d92fb9
[KLIB] API for dumping KLIB ABI
...
^KT-54402
2023-07-28 09:52:18 +00:00
Dmitriy Dolovov
8d9954c0b4
[CODEOWNERS] Assign Native Team as owner of new 'util-klib-abi' module
2023-07-28 09:52:18 +00:00
Dmitriy Dolovov
ce815968cf
[Native][tests] Use convention fun generatedTestDir() in build.gradle.kts
2023-07-17 21:09:40 +00:00
Dmitriy Dolovov
938146749d
[PL][tests] K/JS: Avoid any unexpected warnings to appear in tests
2023-07-17 21:09:40 +00:00
Dmitriy Dolovov
715aba3d18
[PL][tests] K/JS: Run compiler through CLI interface
2023-07-17 21:09:40 +00:00
Dmitriy Dolovov
19c6208cc0
[PL][tests] K/N: Avoid any unexpected warnings to appear in tests
2023-07-17 21:09:40 +00:00
Dmitriy Dolovov
b7bd078a31
[PL] Lower the default PL engine messages log level down to INFO
...
^KT-59136
2023-07-11 11:37:35 +00:00
Dmitriy Dolovov
8aacdb471b
[K/N] Fix: Ignore bridge functions in FunctionReferenceLowering
...
^KT-59858
2023-07-06 12:39:46 +00:00
Dmitriy Dolovov
f2f935846c
[JS] Fix IC tests to reflect changes in signature rendering
...
^KT-59486
2023-06-26 15:59:31 +00:00
Dmitriy Dolovov
a17ce79088
[Native] Rename o.j.k.cli.klib.IdSignatureRenderer to avoid name clash with o.j.k.ir.util.IdSignatureRenderer
...
^KT-59486
2023-06-26 15:59:31 +00:00
Dmitriy Dolovov
4c0583e415
[IR] Two modes of signature rendering
...
^KT-59486
2023-06-26 15:59:31 +00:00
Dmitriy Dolovov
2e43fa7cd0
[PL][tests] Adapt tests for K/N to the conditions when static cache is used w/o lazy IR
2023-06-22 08:10:11 +00:00
Dmitriy Dolovov
56bebeaf92
[KLIB] Extract "ir_provider" manifest property name as a const val, p.2
2023-06-17 01:00:04 +00:00
Dmitriy Dolovov
72525a22a6
[KLIB] Extract "ir_provider" manifest property name as a const val
2023-06-15 11:07:30 +00:00
Dmitriy Dolovov
cf9aa6a360
[Native][tests] Clean-up in c-interop tests
2023-06-05 12:47:56 +00:00
Dmitriy Dolovov
502cbe8b17
[PL][tests] W/a for broken @Deprecated annotations in existing c-interop KLIBs
...
^KT-59030
2023-06-05 12:47:56 +00:00
Dmitriy Dolovov
280caf003f
[PL] W/a for broken @Deprecated annotations in existing c-interop KLIBs
...
^KT-59030
2023-06-05 12:47:56 +00:00
Dmitriy Dolovov
161fe1d2ca
[IR] Don't produce gaps for skipped IR declarations during serialization
2023-05-30 10:14:08 +00:00
Dmitriy Dolovov
a01a6b64ad
[PL] Fix: Don't use locations in compiler messages
...
^KT-58837
2023-05-26 14:03:33 +00:00
Dmitriy Dolovov
69a1514b14
[PL] Unmute FIR-based tests that pass now
2023-05-23 16:23:41 +00:00
Dmitriy Dolovov
650a3c467d
[PL] Fix: Use stable order of return targets in 'illegalNonLocalReturn' case
2023-05-23 16:23:41 +00:00
Dmitriy Dolovov
1536bca1bb
[PL] Handle illegal fun interface SAM conversions
...
^KT-53967
2023-05-23 16:23:41 +00:00
Dmitriy Dolovov
7f4d9ddde5
[PL] Optimization: Avoid excessive type checks in IR type operators
2023-05-23 16:23:41 +00:00
Dmitriy Dolovov
2b913d7c47
[Native] Don't produce broken @Deprecated annotations in c-interop
...
#KT-58651
2023-05-16 08:30:29 +00:00
Dmitriy Dolovov
706a4e9919
[PL] Fix: Remove annotations containing unlinked arguments
...
Both explicitly specified and default argument expressions are considered.
In case an argument expression is considered as 'unlinked' the whole annotation
is removed from the declaration. An appropriate compiler warning logged for each
such case.
2023-05-16 08:30:29 +00:00
Dmitriy Dolovov
42a8b28337
[Native][tests] Don't track used memory when running in TeamCity
2023-05-12 13:58:18 +00:00
Dmitriy Dolovov
6f249ab615
[Native][tests] Minor. Fix condition for generating intermediate build dir
2023-05-12 13:58:18 +00:00
Dmitriy Dolovov
bb5c1eea90
[Native][tests] Minor. Use "default" module name in AbstractNativeObjCExportTest
2023-05-12 13:58:18 +00:00
Dmitriy Dolovov
82984d782a
[Native][tests] Unify work with build directories across BB & Simple tests
...
* Drop 'SimpleTestDirectories' in favor of 'Binaries'
* Make 'Binaries' lazy
2023-05-12 13:58:18 +00:00
Dmitriy Dolovov
f7848133a6
[Native][tests] Fix generated framework log file name
...
$frameworkName.log -> $frameworkName.framework.log
2023-05-12 13:58:18 +00:00
Dmitriy Dolovov
5beec6b543
[Native][tests] Avoid failing with IO exceptions when the process under test is intentionally killed
2023-05-04 23:17:58 +00:00
Dmitriy Dolovov
57ba28ae3d
[K/N][tests] Drop obsolete test tags
...
The obsolete tags that are no more used and are dropped by this commit:
* 'stdlibK2'
* 'kotlin-testK2'
* 'codegenK2'
* 'k2libContents'
* 'firInfrastructure'
2023-05-04 10:35:08 +00:00
Dmitriy Dolovov
0de06757ca
[K/N][tests] Rework tags for K/N tests
...
Use plain combinations of tags, examples:
* codegen/box w/o FIR: 'codegen & !frontend-fir'
* codegen/box with FIR: 'codegen & frontend-fir'
Avoid using tags with multiple aspects in their names, examples:
* 'codegenK1'
* 'firCodegen'
The obsolete tags to be removed but still used in TeamCity configurations:
* 'stdlibK2'
* 'kotlin-testK2'
* 'codegenK2'
* 'k2libContents'
* 'firInfrastructure'
2023-05-03 11:49:43 +00:00
Dmitriy Dolovov
f2b6cbeee8
[K/N][tests] Merge tags: noPartialLinkage() + noPartialLinkageMayBeSkipped()
2023-05-03 11:49:43 +00:00
Dmitriy Dolovov
cdf84a019d
[K/N][tests] Rename tags: hostOnly() -> forceHostTarget()
2023-05-03 11:49:43 +00:00
Dmitriy Dolovov
d998ccedc2
[K/N][tests] Rename tags: debugOnly() -> forceDebugMode()
2023-05-03 11:49:43 +00:00
Dmitriy Dolovov
38a777fa94
[PL][tests] Mute K/N codegen/box tests failing in K1/one-stage mode
...
For details, see #KT-57747.
2023-05-02 10:58:38 +00:00
Dmitriy Dolovov
9d4db72d72
[PL] Fix: Don't raise an error when external interface inherits from external class
...
^KT-57378
2023-04-25 08:00:14 +00:00