Commit Graph

88492 Commits

Author SHA1 Message Date
Dmitriy Dolovov cd11aeceac [Native][tests] Disable JVM C2 compiler at host machines with >4 CPU cores 2021-12-20 12:35:48 +03:00
Dmitriy Dolovov 37d866c95a [Native][tests] Fix parallel test execution 2021-12-20 12:35:48 +03:00
Dmitriy Dolovov f145076245 [Native][tests] Fail grouping Gradle tasks if they are launched with command-line test filters 2021-12-20 12:35:48 +03:00
Dmitriy Dolovov cb115a4088 [Build] Extract DefaultTestFilter.commandLineIncludePatterns as a property of Test 2021-12-20 12:35:48 +03:00
Dmitriy Dolovov 341e017261 [Native][tests] Don't treat any compiler test task as up-to-date
There are number of problems with up-to-date checks in tests, leading to
a test binary not being rebuilt or rerun when a developer expects it to.

Things became worse after updating to Gradle 7+:
test binary run tasks are considered up-to-date if the test data
has been changed, even after clean.

Even before Gradle 7+, we've observed other similar undesirable effects:
for example, if the compiler has been changed, tasks building
test binaries are still up-to-date.

So it was decided to workaround all possible similar problems by forcing
all test tasks in the :native:native.tests project to be not up-to-date.

This project should contain only test tasks, so this workaround
seems pretty natural -- it is just "tests aren't up-to-date".
2021-12-20 12:35:48 +03:00
Dmitriy Dolovov a707a7a65a [Native][tests] Use single instance of AbstractExternalNativeBlackBoxTest for consistent caching of source transformers
This also makes sense for all inner classes under AbstractExternalNativeBlackBoxTest.
2021-12-20 12:35:48 +03:00
Dmitriy Dolovov a440864de4 [Native][tests] Extract all external source-transformation logic into AbstractExternalNativeBlackBoxTest
This abstract class is used only for generated external codegen box tests that may have custom source transformers.
2021-12-20 12:35:47 +03:00
Dmitriy Dolovov 72bb38dc68 [Native][tests] Re-organize Gradle tasks and test suite classes 2021-12-20 12:35:47 +03:00
Dmitriy Dolovov 835de3083a [Native][tests] Don't fail Gradle tasks if there are failed tests 2021-12-20 12:35:47 +03:00
Dmitriy Dolovov eb371fa5e0 [Native][tests] Truncate large test output to avoid blowing up in logs 2021-12-20 12:35:47 +03:00
Dmitriy Dolovov 51a79c4592 [Native][tests] Move "samples" tests to infrastructure tests 2021-12-20 12:35:47 +03:00
Dmitriy Dolovov 8e98deb3b0 [Native][tests] Read stdout/stderr of test process in separate threads
Sometimes, the launched test process can't finish on Windows if stdout and stderr threads are not read completely. The proper approach here would be to spawn two threads for constantly reading stdout & stderr while the process in being executed.
2021-12-20 12:35:47 +03:00
Dmitriy Dolovov 50d766166b [Native][tests] Run stdlib tests with & without workers 2021-12-20 12:35:47 +03:00
Dmitriy Dolovov 3e54bb06ee [Native][tests] Add a directive to specify test runner type 2021-12-20 12:35:47 +03:00
Dmitriy Dolovov 580328ece7 [Native][tests] Fix: Avoid IO exceptions on Windows while expanding globs 2021-12-20 12:35:46 +03:00
Dmitriy Dolovov 49755e0aae [Native][tests] Fix: Location of OutputFilter test 2021-12-20 12:35:46 +03:00
Dmitriy Dolovov 83a7379cc4 [Native][tests] Fix: Provide correct path to K/N stdlib in compiled tests 2021-12-20 12:35:46 +03:00
Dmitriy Dolovov b78ff1d61a [Native][tests] Minor. Organize imports 2021-12-20 12:35:46 +03:00
Dmitriy Dolovov ab4f60b105 [Native][tests] Fix: Avoid unnecessary canonicalization of FS paths
This may lead to IO errors.
2021-12-20 12:35:46 +03:00
Dmitriy Dolovov 3d8fce4edb [Native][tests] Log environment variables and JVM properties 2021-12-20 12:35:46 +03:00
Dmitriy Dolovov a81c44301d [Native][tests] Separate Gradle tasks for different types of tests 2021-12-20 12:35:46 +03:00
Dmitriy Dolovov 3756634b84 [Native][tests] Add OutputFilter test 2021-12-20 12:35:46 +03:00
Dmitriy Dolovov 445ffa9970 [Native][tests] Add TestListing test 2021-12-20 12:35:46 +03:00
Dmitriy Dolovov 304d2ad768 [Native][tests] Add NamedEntities test 2021-12-20 12:35:46 +03:00
Dmitriy Dolovov cdbbc70116 [Native][tests] Drop TestFunction/FunctionName, introduce TestName instead 2021-12-20 12:35:45 +03:00
Dmitriy Dolovov 7abfe4d47b [Native][tests] Rework PackageName entity 2021-12-20 12:35:45 +03:00
Dmitriy Dolovov a98d1d2b11 [Native][tests] Minor. Rename test infra-related tests for easier distinguishing 2021-12-20 12:35:45 +03:00
Dmitriy Dolovov bb01c4cbbb [Native][tests] Filter test output to suppress TEAMCITY-related messages 2021-12-20 12:35:45 +03:00
Dmitriy Dolovov 09dbd43b97 [Native][tests] Use TEAMCITY test logger instead of GTEST one
That's because currently K/N tests do not report ignored tests with GTEST logger, but do so with TEAMCITY logger.
2021-12-20 12:35:45 +03:00
Dmitriy Dolovov 553ea22504 [Native][tests] Minor. Simplify assertion expression 2021-12-20 10:47:03 +03:00
Dmitriy Dolovov 7981cf8368 [Native][tests] Remove unnecesary common prefix in dynamic test names 2021-12-20 10:47:03 +03:00
Dmitriy Dolovov 4a4760dc4b [Native][tests] Run stdlib tests using new test infrastructure 2021-12-20 10:47:03 +03:00
Dmitriy Dolovov 179d324444 [Native][tests] Extract test function names from test executables 2021-12-20 10:47:03 +03:00
Dmitriy Dolovov 87873f9824 [Native][tests] Extract GTest report verification logic 2021-12-20 10:47:02 +03:00
Dmitriy Dolovov f73ab305e6 [Native][tests] Introduce TestCaseId and TestCaseGroupId 2021-12-20 10:47:02 +03:00
Dmitriy Dolovov b051d2f67d [Native][tests] Naive implementation of glob expansion 2021-12-20 10:47:02 +03:00
Dmitriy Dolovov 6d52d21631 [Native][tests] Refactoring: Rework Settings to add more flexibility 2021-12-20 10:47:02 +03:00
Dmitriy Dolovov 30e51452b4 [Native][tests] Refactoring: Rework Settings/GlobalSettings 2021-12-20 10:47:02 +03:00
Dmitriy Dolovov 3c47880eba [Native][tests] Refactoring: Rework @TestCaseGroupProviding 2021-12-20 10:47:01 +03:00
Dmitriy Dolovov 7e92e3c57f [Native][tests] Simplify condition in AbstractNativeBlackBoxTest.buildJUnitDynamicNodes() 2021-12-20 10:47:01 +03:00
Dmitriy Dolovov 2f2e340e63 [Native][tests] Workaround: Use planar structure of dynamic tests 2021-12-20 10:47:01 +03:00
Dmitriy Dolovov 96067b07d9 [Native][tests] Support JUnit5 dynamic tests 2021-12-20 10:47:01 +03:00
Margarita Bobova b5daf78f8d Add changelog for 1.6.10 2021-12-19 12:13:32 +07:00
Dmitry Petrov 976998b56c PSI2IR KT-49526 function reference type approximation hack 2021-12-17 21:06:24 +00:00
nataliya.valtman 9c0ea11c1b Try to figure out which metric collection cause timeout exception 2021-12-17 21:39:23 +03:00
Vyacheslav Gerasimov 5369813acc Fix "IdeaWin64.dll not found" error when running tests on Windows 2021-12-17 21:28:10 +03:00
nataliya.valtman 999d2051ac Add listener's metrics 2021-12-17 17:38:55 +00:00
Svyatoslav Scherbina 3fd4d90cca Native: remove harmful assertions from NaiveSourceBasedFileEntryImpl
These assertions checked that nobody requests line and column number
for the UNDEFINED_OFFSET.
But diagnostic and crash reporting tools might request line and column,
and crashing during crash reporting is not great.

So handle UNDEFINED_OFFSET gracefully instead, in a conventional manner.
2021-12-17 14:49:34 +00:00
Artem Kobzar ab7615adaf fix: fake override on interfaces. 2021-12-17 14:22:46 +00:00
konstantin.tskhovrebov 8423374343 Fix gradle task name clash for Xcode framework tasks. 2021-12-17 15:07:07 +03:00