Commit Graph

262 Commits

Author SHA1 Message Date
Vyacheslav Gerasimov 4f4f6393f9 Build: Introduce kotlin.build.test.process.NativeMemoryTracking property
Used to set `-XX:NativeMemoryTracking` for test processes

 #KTI-1609
2024-03-15 11:18:20 +00:00
Alexander Shabalin adf5331ff0 [K/N] Remove more ext properties 2024-03-13 12:35:15 +00:00
Bogdan Mukvich c6aac835e5 Update SPDX gradle plugin
* fixes SPDX Gradle plugin to be used with configuration cache
* allows removing output workaround for multimodule builds

KTI-1427
2024-03-11 14:22:06 +00:00
Vyacheslav Gerasimov 0a60f2924f Build: Introduce limitTestTasksConcurrency build property
Is true by default. It can be used to disable the concurrency limit for
test tasks
2024-03-07 15:53:01 +00:00
Alexander Shabalin aee87468a6 [K/N][tests] Move stress tests into a separate project 2024-03-07 15:01:30 +00:00
Sebastian Sellmair b5b7e5f262 [aa-klib-reader] Implement 'analysis-api-klib-reader' for swift- and objc export
This new module gives the ability to resolve symbols
from provided klib KtLibraryModules withing a Analysis Session.

^KT-65327 Fixed
2024-03-07 09:23:37 +00:00
Vyacheslav Gerasimov 879aa33a9c Build: Apply ConcurrencyLimitService to all tests tasks in the project
Some project tasks are not created with projectTest helper, but all
tasks should be limited since we can't use `--no-parallel` on CI
2024-03-06 21:45:41 +01:00
Artem Kobzar 8d4948c3ee [K/Wasm] Generate .d.ts tests for K/Wasm in the same way as we do for K/JS ^KT-65778 Fixed 2024-03-05 15:33:56 +00:00
Vyacheslav Gerasimov c3ab87f52b Build: Use reservedCodeCacheSizeMb in test process heap size calculation
#KTI-1609
2024-03-04 22:12:24 +00:00
Vyacheslav Gerasimov 93e8b18cde Build: Limit default max metaspace for test processes
Some test proceses grow much bigger than max heap size. Metaspace also
should be limited to avoid OOM Killer events.

 #KTI-1609
2024-03-04 22:12:24 +00:00
Ilya Gorbunov 7cc2384485 Remove kotlin-stdlib-common exclusion
It's no longer a transitive dependency of kotlin-stdlib
2024-03-04 11:40:06 +00:00
Dmitriy Novozhilov 80f4994122 [Build] Exclude :native:objcexport-header-generator from JPS build 2024-03-01 12:18:11 +00:00
Dmitriy Novozhilov 80020a469e [Build] Exclude :kotlin-power-assert from JPS build 2024-03-01 12:18:11 +00:00
Pavel Punegov 3cc117336a [K/N][test] Eager test group creation based on test roots
This commit adds an option to make test grouping eagerly create larger
groups of tests. Each MetaGroup is created based on the test root the
test file is located in. Test compilation tries to compile all
compatible tests in the group into the final binary/executable.

This grouping strategy allows infrastructure to reduce the number of
produced artifacts, and along with running tests from the same binary,
reduce execution time.

This is a part of ^KT-58928 to implement running tests on iOS devices.
2024-03-01 12:15:22 +00:00
Sebastian Sellmair e377a98815 [ObjCExport] Fe10: Implement test with exported and non exported klib dependencies
KT-65670
2024-03-01 09:45:12 +00:00
Yahor Berdnikau 2f70478e67 [Gradle] Deprecate kotlinOptions DSL in KotlinCompile DSL
^KT-63419 In Progress
2024-02-28 21:20:18 +00:00
Andrey Yastrebov 28a305a826 KT-65928 Worker API for Swift Export 2024-02-26 12:44:22 +00:00
cristiangarcia 1847485d28 Make maven publishing CC compatible
Required for KTI-1553
2024-02-23 18:27:11 +00:00
Yahor Berdnikau 22e1e79c41 [Repo] Don't use kotlinOptions in buildSrc-compat
Exception is configuring klib relative path which should be fixed via
separate issue.

^KT-63419 In Progress
2024-02-22 14:48:10 +00:00
Bogdan Mukvich ff2fea390b Fix snapshot deployment maven params
^KT-65944
2024-02-21 17:13:29 +00:00
Ilya Gorbunov 0ecbbbf1ca [stdlib] Set AV to 2.0, LV to 1.9 for main compilations, build tests with K2 2024-02-21 16:28:12 +00:00
Yahor Berdnikau 7416d7271a [Gradle] Compile against Gradle API 8.6
^KT-64378 Fixed
2024-02-21 12:33:02 +00:00
Yahor Berdnikau 2a195062a8 [Gradle] Add plugin variant for Gradle 8.5
^KT-64355 In Progress
2024-02-21 10:20:19 +00:00
Ilya Gorbunov 98f23c0fba [build] Take artifacts from maven.zip when bootstrapping on a teamcity build 2024-02-20 19:51:09 +00:00
Kirill Rakhman 9eb6646576 [Infrastructure] Use Parallel GC for JPS tests and increase Xmx 2024-02-20 16:51:24 +00:00
Ilya Goncharov d86b26be15 Add binaryen to resolve dependencies 2024-02-19 15:28:27 +00:00
Andrey Yastrebov 60071cbb54 KT-65740 Create swift-export-embeddable module 2024-02-19 10:55:55 +00:00
Pavel Kunyavskiy 5ddc31e932 [Tests] Add handler to regenerate irText testData
It is disabled by default, can be enabled by code change.
It's useful when changes in dumper is done with significant
amount of tests changed.

^KT-65460
2024-02-16 10:19:37 +00:00
Pavel Punegov 07422d4feb [K/N][test] Implement shared test execution of TestCases
Added the ability to execute multiple tests once and share the results.
With Test runner turned on tests are being compiled into the single
executable. Then they executed each one separately using --ktest_*
options. This commit makes test run executable once and the result goes
to the result handler.
2024-02-15 18:07:25 +00:00
Yahor Berdnikau e3b7366b10 [Gradle] Compile Gradle plugins against Gradle API 8.5
^KT-65819 Fixed
2024-02-15 18:04:59 +00:00
Leonid Startsev ed30221f42 Publish kotlin-metadata-jvm as a part of Kotlin distribution
and add a corresponding POM test.

#KT-63161 Fixed
2024-02-15 15:32:33 +00:00
cristiangarcia 85399bc969 Fake service to limit tests concurrency
Required for KTI-1553
2024-02-14 18:35:43 +00:00
cristiangarcia e876a42e3d checkRepositories is not configuration cache compatible
Required for KTI-1553
2024-02-13 19:29:47 +00:00
cristiangarcia 74193aefb4 Kotlin maven publication tasks are not compatible with Configuration Cache
Required for KTI-1553
2024-02-12 14:45:06 +00:00
Yahor Berdnikau cf1a1693b3 [Gradle] Remove exceptions for warnings-as-errors flag enable
^KT-56904 Fixed
2024-02-12 14:39:33 +00:00
cristiangarcia 545753ff4c Dokka is not compatible with ConfigurationCache
Required for KTI-1553
2024-02-12 12:13:59 +00:00
cristiangarcia a9d0e8574e Make artifacts-tests:test ConfigurationCache compatible
Required for KTI-1553
2024-02-12 12:06:12 +00:00
cristiangarcia cb0d78d443 singleOutputFile() method used Task.getProject() and that's not allowed with CC
Required for KTI-1553
2024-02-09 21:35:03 +00:00
Ilya Goncharov b4e1fa8569 [Gradle, Wasm] Standartize binaryen and d8 download instead of download task
^KT-65686 fixed
2024-02-09 11:18:37 +00:00
Brian Norman aa34282efb [PowerAssert] Integrate with build
^KT-63617 Fixed
2024-02-07 21:51:17 +00:00
Bogdan Mukvich 555e374a33 Ignore native bundle artifacts in ArtifactsTest
* kotlin-native not enabled by default in project
2024-02-07 09:51:56 +00:00
cristiangarcia 9f8ea3e2e5 Proguard 7.4.2 - ConfigurationCache compatible
Required for KTI-1553
2024-02-06 20:16:22 +00:00
Ilya Gorbunov 58c03e021b Update transitive dependencies of JVM test frameworks in kotlin-test KT-65242, KT-63397 2024-02-06 11:06:12 +00:00
Bogdan Mukvich 55a87f301b Ignore native bundle artifacts in ArtifactsTest
* kotlin-native not enabled by default in project
2024-02-05 17:16:35 +00:00
Alexander Shabalin 5525a6829a [ObjCExport][tests] Ignore AA test failures both locally and on CI
To run AA tests normally, use kif.loca gradle property.


Merge-request: KT-MR-14129
Merged-by: Alexander Shabalin <alexander.shabalin@ashabalin.me>
2024-02-02 13:43:30 +00:00
Bogdan Mukvich cb8228d6ec Add testRuntimeClasspath to resolveDependencies task 2024-02-02 13:26:57 +00:00
Sebastian Sellmair 0db8931026 [ObjCExport] Implement 'TodoAnalysisApi' annotation and run AA based tests as part of ':native:objcexport-header-generator:check'
^KT-65281 Fixed
^KT-65108 Fixed
2024-01-26 16:19:20 +00:00
cristiangarcia c53ac2e91f Update Proguard to 7.4.1 2024-01-25 11:36:31 +00:00
Yahor Berdnikau 0e98eb5bb4 [Gradle] Add test checking '.attribute(key, attr)' method is not used
We want to prevent usages of 'AttributeContainer.attribute(key, attr)'
method in our codebase.

^KT-60664 Verification Pending
2024-01-19 14:58:23 +00:00
Pavel Punegov 6b409d87f5 [K/N][test] Support library for running Kotlin/Native tests with XCTest
This change adds a library with cinterop that has XCTest wrapper around
Kotlin/Native tests (that are @kotlin.test.Test marked methods).
This library can be compiled with either test code using the option
`-produce test_bundle` to make a loadable test bundle or used inside
the existing ObjC/Swift tests if compiled to a framework.

The basic idea is to make XCTest be able to resolve separate test cases
and correctly show them in test reports. This was achieved by wrapping
test cases with dynamically created invocation methods. Test listeners
are integrated with XCTest Observation to make it possible to have 
the same ability to report with GTest or TeamCity logging.

Gradle build files use MPP Gradle plugin and use a bootstrap version
of K/N. Property `kotlin.native.home` was moved to the kotlin-native
subproject to not override this project's K/N distribution, that is
being used by the KGP with the same property.

This is a part of ^KT-58928


Merge-request: KT-MR-13268
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2024-01-18 15:04:37 +00:00