Commit Graph

163 Commits

Author SHA1 Message Date
Denis Zharkov 4b9e20ab8c Rethrow boxError in case of test failure 2017-02-07 12:48:06 +03:00
Alexander Udalov 85e55810a7 Merge light-analysis tests into black box codegen tests
#KT-15382 Fixed
2017-02-06 19:41:29 +03:00
Alexander Udalov 5bd1a35eb1 Refactor bytecode listing & light analysis tests
Simplify AbstractLightAnalysisModeCodegenTest so that its logic can be merged
with black box codegen tests
2017-02-06 19:41:20 +03:00
Alexander Udalov e5680565b3 JS: drop "-kjsm" flag, merge logic with "-meta-info"
#KT-16049 Fixed
2017-01-30 11:31:03 +03:00
Denis Zharkov 8fa8ba7055 Move coroutine-related runtime parts to kotlin.coroutines.experimental package
#KT-15975 Fixed
2017-01-27 23:24:13 +03:00
Zalim Bashorov 4a72404ac2 Support a larger set of symbols as module name in "MODULE" directive 2017-01-27 23:15:43 +03:00
Mikhael Bogdanov 0006a04b01 Report warning on hided override by delegation when compile to 1.0 version 2017-01-26 14:32:33 +01:00
Dmitry Petrov b9f9894310 KT-15677 KT-15775
Update parser & descriptor renderer to handle parenthesized types and function types properly.
Resolve annotations in parenthesized types.

AnnotationsImpl.isEmpty() returned false for targeted annotations only
(e.g., 'fun @receiver:Ann C?.foo()').
Properly keep track of targeted annotations.
2017-01-19 09:53:17 +03:00
Mikhael Bogdanov 7a27a9d51f Propagate 'CompilerConfiguration' to frontend checkers 2017-01-18 10:23:40 +01:00
Denis Zharkov 6a1ad3a279 Get rid of unnecessary additional declarations in tests 2017-01-14 13:24:53 +03:00
Roman Elizarov 8d6a913cee CoroutineContext and ContinuationInterceptor (instead of dispatcher) 2017-01-14 13:24:53 +03:00
Mikhael Bogdanov e5b8943d41 Added 'languageVersion' parameter to DiagnosticTestLanguageVersionSettings 2017-01-13 18:01:05 +01:00
Mikhail Glukhikh c09a71b178 Multi-platform refactoring: get rid of PlatformKind (replace with MultiTargetPlatform) 2017-01-12 18:58:13 +03:00
Alexander Udalov 5556c59fc9 Render platform name in multiplatform diagnostic tests
Prepend the platform name to the diagnostic in a common module, which is
reported when sources of that common module are analyzed as a part of the
platform source set: "<!JVM:...!> ... <!>". Fix some existing tests, mostly by
adding "impl" to implementations
2016-12-26 17:06:15 +03:00
Alexander Udalov 7d3628b9be CheckerTestUtil: introduce ActualDiagnostic to encapsulate Diagnostic 2016-12-26 17:01:20 +03:00
Alexander Udalov 6cfc42666c Refactor CheckerTestUtil
Simplify code somewhat, prepare for a larger refactoring
2016-12-26 16:49:58 +03:00
Alexander Udalov 5402d50ea3 Light analysis tests: do not render empty lines between classes and in the beginning 2016-12-23 22:30:48 +03:00
Alexander Udalov 7146a6db74 Minor, drop unused DiagnosedRange#file 2016-12-23 22:30:16 +03:00
Alexander Udalov 0e11615780 J2K diagnostic tests: prettify 2016-12-23 22:30:06 +03:00
Alexander Udalov 8c0be58f56 J2K diagnostic tests: convert to Kotlin 2016-12-23 22:30:01 +03:00
Alexander Udalov 4e4f9312bb J2K diagnostics tests: rename .java -> .kt 2016-12-23 22:29:57 +03:00
Alexey Andreev e2d969d8b0 JS: implement new coroutine convention 2016-12-15 23:58:20 +03:00
Denis Zharkov 845e116aa9 Update bytecodeText and bytecodeListing tests on coroutines 2016-12-15 23:58:00 +03:00
Denis Zharkov 8387d04425 Revert "Add special tests for interceptRun support"
This reverts commit 01c21e218a.
2016-12-15 23:57:59 +03:00
Stanislav Erokhin e014fb7181 Added coroutine import to back-end test. 2016-12-15 23:57:52 +03:00
Denis Zharkov 6649f64e9f Support new coroutine convention in JVM backend 2016-12-15 23:57:40 +03:00
Dmitry Petrov 1866a33781 Check classpath version consistency.
Add 'Kotlin-version' attribute to kotlin-runtime and kotlin-reflect JARs.
2016-12-13 21:08:59 +03:00
Mikhail Glukhikh 57da92b862 Infrastructure change: module descriptor now knows its platform kind & its sources kind 2016-12-13 18:53:55 +03:00
Stanislav Erokhin 59efedf610 Rename platform to header. 2016-12-13 18:00:00 +03:00
Yan Zhulanow cbef0250aa Allow to turn the first parameter of a SAM-converted lambda into the receiver (KT-12848) 2016-12-09 20:01:21 +03:00
Ilya Gorbunov 84a7e3c032 Add tests for enhanced java signatures based on AbstractResolvedCallsTest.
Refactor AbstractResolvedCallsTest to support multiple carets (multiple methods being tested  for resolve) in testdata file.
2016-12-08 20:22:17 +03:00
Alexander Udalov 414daef001 Rename KotlinVersion->KotlinCompilerVersion, move to module util.runtime
Rename to avoid confusion with the recently added kotlin.KotlinVersion
2016-12-07 21:11:15 +03:00
Mikhail Zarechenskiy bd14c24592 Allow LANGUAGE_VERSION directive in codegen tests 2016-12-05 22:10:08 +03:00
Yan Zhulanow 92282072fc Enable light class analysis mode for AbstractLightAnalysisModeCodegenTest. See also the previous commit.
Note that no test data files are changed, it means that light classes with the light analysis mode enabled are the same as with the full analysis.
2016-12-05 19:57:48 +03:00
Yan Zhulanow 328286ab14 Use box tests to check if the light analysis mode (without analyzing bodies when possible) produces the same result as the complete analysis. See also the next commit in which light analysis mode is applied. Note that no tests were changed. 2016-12-05 19:57:47 +03:00
Mikhail Zarechenskiy 160d43fe2e Introduce new feature: division by zero in constant expressions 2016-12-02 17:42:56 +03:00
Alexander Udalov 8d3f6f1ce7 Check platform<->impl declaration compatibility
For each platform declaration, there must be at least one impl declaration in
the module with the compatible signature; similarly, for each impl declaration,
there must be at least one platform declaration with the compatible signature.

Note that currently the presence of the 'impl' modifier is not checked yet.

Also, the sad fact is that if you have platform and impl declarations which are
not compatible, you get two errors: on the platform delcaration and on the impl
declaration. This needs to be addressed as well
2016-11-25 20:50:26 +03:00
Alexander Udalov 926b81fb35 Use DefaultAnalyzerFacade for common code in diagnostic tests
Because of incomplete infrastructure, introduce a few dirty hacks to make
diagnostic tests analyze the common code via DefaultAnalyzerFacade, and also
add common module sources to analysis of platform-specific modules.

Also do not render 'platform' declarations from platform-specific modules to
the .txt file, since they are very likely to be exact copies of the same
declaration in the common module (see RecursiveDescriptorComparator)
2016-11-25 20:50:23 +03:00
Alexander Udalov c1eebacd55 Do not render declarations from other modules in diagnostic tests
Because PackageViewDescriptor may consist of several package fragments from
different modules (see LazyPackageViewDescriptorImpl#fragments), we now filter
out fragments from irrelevant modules before rendering them into the .txt
2016-11-25 20:50:21 +03:00
Denis Zharkov 01c21e218a Add special tests for interceptRun support
Basically they're built upon basic coroutine tests, but for each of them
different interceptResume implementation are injected
(currently there are 12 of them).

It might be more simple just to generated additional testData, but I see this
more problematic in a sense of further maintenance

Note that all tests add idempotent 'interceptRun' operators,
which just execute given lambda in the current thread

 #KT-14891 Fixed
2016-11-22 14:33:40 +03:00
Anton Bannykh 2bec54924f Android tests: use directives from tests-common to determine if the test is supposed to pass on JVM (adds support for IGNORE_BACKEND and IGNORE_BACKEND_WItHOUT_CHECK" directives). 2016-11-21 14:06:29 +03:00
Dmitry Jemerov 5a533a521b Don't consider a directory to be a package if there's a .java or .class file with the same name in its parent directory
#KT-12664 Fixed
2016-11-18 14:00:44 +01:00
Ilya Gorbunov 8f3e6f38ed Select runtime with directive in test data file instead of test name in PsiChecker tests 2016-11-16 18:47:42 +03:00
Dmitry Jemerov 978b70e50b Add test for KT-14751 2016-11-11 18:15:24 +01:00
Zalim Bashorov 5500f80d0b Support ignoring by target backend for single generated classes 2016-11-09 21:41:12 +03:00
Zalim Bashorov af4ec9815b Add ability to ignore test for backend w/o checks
It used for the tests from this commit becouse they was failing during setup.
2016-11-09 21:41:12 +03:00
Zalim Bashorov 8e480e275b Ignore files with incompatible target when check that all test are presented 2016-11-09 21:41:12 +03:00
Zalim Bashorov 0ecb13b150 Move TargetBackend to tests-common module 2016-11-09 21:41:12 +03:00
Denis Zharkov e54b466010 Make fields representing variables in coroutines non-volatile
#KT-14636 Fixed
2016-11-09 12:25:31 +03:00
Ilya Gorbunov a6783534f0 Add required *.kotlin_builtins to classpath for stdlib tests 2016-10-26 21:41:54 +03:00