Commit Graph

68 Commits

Author SHA1 Message Date
Mikhael Bogdanov afc149d460 JvmDefault. Allow non default inheritance with special flag
#KT-47000
2021-11-01 13:30:57 +01:00
Dmitriy Novozhilov af0e40a0d2 [JS Test] Support RECOMPILE directive in js box tests in new infrastructure 2021-10-25 00:14:21 +03:00
Ivan Kylchik a2d2ace71a [JS TESTS] Rewrite js tests using new test infrastructure 2021-10-25 00:14:20 +03:00
Dmitriy Novozhilov e56c87a17a [Build] Move utils for generation JUnit 5 tests to :generators module 2021-10-12 17:26:18 +03:00
Dmitriy Novozhilov a68c4ec7be [Test] Add ability to specify main class in Box tests
Also slightly refactor some existing services to make them more idiomatic
2021-10-07 13:08:45 +03:00
Dmitriy Novozhilov de7fb9606a Migrate all JDK 9 related tests to JDK 11 2021-09-28 13:01:47 +03:00
Mikhail Glukhikh 007cf2ce7c Rename AnalysisFlags.useExperimental to optIn 2021-09-10 16:29:18 +03:00
Mikhail Glukhikh aedcec7715 Drop unused LanguageSettingsDirectives.EXPERIMENTAL 2021-09-10 16:29:17 +03:00
Mikhail Glukhikh fc6403679a Rename !USE_EXPERIMENTAL test directive to !OPT_IN 2021-09-10 16:29:16 +03:00
Ivan Kochurkin b5ff49c903 [FIR] Consider JVM_TARGET in tests 2021-09-10 00:48:58 +03:00
Alexander Udalov 75b8d44be5 Minor, fix some typos/errors in test-infrastructure ReadMe 2021-08-24 12:28:31 +02:00
Ivan Kochurkin c1afb6354b [FIR] Restore UPPER_BOUND_VIOLATED and TYPE_VARIANCE_CONFLICT as errors, fix TestStep.kt 2021-08-09 18:19:58 +03:00
Dmitriy Novozhilov 0ac96b4973 [Test] Remove redundant out variance from TestStep 2021-08-03 00:26:10 +03:00
Dmitriy Novozhilov ca40cbede5 [Test] Get rid of BackendKindExtractor 2021-08-02 20:07:49 +03:00
Dmitriy Novozhilov d43d0071a4 [Test] Add documentation to test infrastructure 2021-08-02 20:07:48 +03:00
Dmitriy Novozhilov a66f3d26fd [Test] Replace three fixed phases of tests with step system
Now each test is just a sequence of any number of different steps. There
  are two kinds of steps:
1. Run some facade
2. Run handlers of specific artifact kind

Through the test each module passed to each step (if it is compatible
  by kinds of artifacts)
2021-08-02 20:07:45 +03:00
Dmitriy Novozhilov ba48f80e53 [Test] Introduce single interface for all entities which provides directive containers and test services 2021-08-02 20:07:44 +03:00
Dmitriy Novozhilov ca214bef30 [Test] Add ability to run box test in separate jvm for common codegen tests 2021-08-01 22:23:36 +03:00
Steffi Stumpos 707e1c7f8d [Test] Add service to provide additional classpath to box tests 2021-07-27 14:05:51 +03:00
Dmitriy Novozhilov 85c7f386eb Add Kotlin 1.7 language version 2021-07-20 13:33:41 +03:00
Mikhail Glukhikh 113d2653aa Drop deprecated -Xexperimental flag from compiler and tests 2021-07-14 21:18:23 +03:00
Ilya Kirillov a9bb577154 FIR IDE: add ability to run multimodule tests 2021-07-08 18:25:39 +03:00
Victor Petukhov a82772f31a Depend on passed language version explicitly to compute nullability annotation settings 2021-07-06 09:54:29 +03:00
Ivan Kylchik c176d4d7b0 Rename createTempDirectory to getOrCreateTempDirectory
With cache this function can be used to get already created directory
by name.
2021-06-30 19:33:17 +03:00
Andrey Zinovyev 3572a96bb9 [FIR] Lookup in local sources in default imports based on the flag
Reuse ALLOW_KOTLIN_PACKAGE for that
2021-06-08 08:23:25 +00:00
Dmitriy Novozhilov 73a63359df [Test] Add new directive for specifying target platform for module 2021-05-19 00:52:28 +03:00
Dmitriy Novozhilov 06b2efe65f [Test] Introduce new syntax for dependsOn dependencies 2021-05-19 00:52:27 +03:00
Dmitriy Novozhilov 27f0d938c9 [Test] Add wrapping of failures from different parts of test pipeline 2021-05-19 00:52:22 +03:00
Victor Petukhov 1f0616439c Introduce special common directives for tests based on foreign annotation tests 2021-04-30 14:43:26 +03:00
Dmitriy Novozhilov e3b5cc491d [Test] Throw exception from compiler at a first place 2021-04-19 14:32:37 +03:00
Dmitriy Novozhilov 69ff45971f Suppress HIDDEN diagnostics from FIR to fix FIR bootstrap compilation 2021-04-14 18:30:56 +03:00
Ivan Kylchik dbf1f54c3f Add possibility to run callback lambda before dispose test project 2021-03-29 18:11:22 +03:00
Ilmir Usmanov b838ba8c62 Check whether backend is IR instead of distinct ones 2021-03-22 15:08:59 +00:00
Dmitriy Novozhilov 34f8c7a68b [TEST] Add ability to register compiler extensions in EnvironmentConfigurator 2021-03-18 14:00:38 +03:00
Ilmir Usmanov a90a5f6dd4 Check for backend when checking for suspend in fun interfaces 2021-03-16 22:37:44 +01:00
Alexander Udalov aaecb87d1b Tests: compute runtime classpath for JVM box tests manually
Taking just the `jvmClasspathRoots` is not correct because it also
contains stuff needed for resolve to work correctly, such as JDK (full
or mock), stdlib (full or mock), reflect. JDK is obviously not needed in
the classpath, and stdlib/reflect are available via the parent class
loader, which is specifically reused across all tests to make them run
faster.

Also, don't try to create class loader for Java-only modules in
`JvmBoxRunner.processModule`. This happens, for example, for all tests
which were moved from `boxAgainstJava`.
2021-02-17 14:41:07 +01:00
Dmitriy Novozhilov 1216b33593 [Test] Move extracting JVM_TARGET to provideConfigurationKeys 2021-02-10 13:02:07 +03:00
Dmitriy Novozhilov 606ae45f5f [Test] Replace remaining KOTLIN_CONFIGURATION_FLAGS directives with specific ones 2021-02-10 13:02:06 +03:00
Dmitriy Novozhilov a932f69b8a [Test] Don't pass MockProject to environment configurators 2021-02-10 13:02:00 +03:00
Dmitriy Novozhilov dea3c954f1 [Test] Add ability to stop test pipeline if there was an exception in handler 2021-02-02 17:54:59 +03:00
Dmitriy Novozhilov 3a0eee64b8 [Test] Migrate all jvm tests runners for boxInline tests 2021-02-02 17:53:50 +03:00
Dmitriy Novozhilov e3ab3d6be3 [Test] Align lines in TestFile with lines in real testdata file 2021-02-02 17:50:07 +03:00
Dmitriy Novozhilov 13a778fd9c [Test] Add ability to freely transform module structure which was parsed from directive
Service ModuleStructureExtractor may break readabilty of test so it
  should be used very carefully

Originally it is created for box inline test where we have different
  runners on same testdata where one runner assumes that all files
  in test in same module and other that they in different ones
2021-02-02 17:50:06 +03:00
Dmitriy Novozhilov 9ba41c5b88 [Test] Improve error reporting if there are too many values passed to directive 2021-02-02 17:50:05 +03:00
Dmitriy Novozhilov 7d4adaba21 [Test] Add ability to simply declaring mapping between directives and configuration keys 2021-01-25 17:08:31 +03:00
Dmitriy Novozhilov 5490689fea [Test] Add ability to disable specific handler if there was an error from previous one 2021-01-25 17:08:31 +03:00
Dmitriy Novozhilov 42f9442728 [Test] Handle any Throwable from test instead of AssertionError 2021-01-25 17:08:31 +03:00
Dmitriy Novozhilov 5ae5f660f6 [Test] Add ability to explicitly declare default binary kind for test 2021-01-22 13:51:22 +03:00
Dmitriy Novozhilov acb6d2e196 [Test] Allow facades to return null which indicates that facade can't complete it's job
This is needed for cases when test pipeline assumes that some part of
  pipeline may be unavailable because of errors on previous stage.

For example, this may occur in some test which check something on IR
  but contains backend facade for compiling binary dependencies. In
  this case testdata with frontend errors is allowed if test has only
  one module which should not be compiled
2021-01-22 13:51:20 +03:00
Dmitriy Novozhilov 6a7cd0c811 [Test] Add ability to specify applicability of diagnostic to module or file 2021-01-22 13:51:19 +03:00