Vladislav Rassokhin
1811181dc1
[test framework] remove @HardwareAgentRequired annotation: drop unused properties
...
GitOrigin-RevId: bdb107d1783beb7a9ce6fc95f5bd012e818df736
2024-10-11 13:54:44 +00:00
Nikolay Chashnikov
d6465aa0e8
[test framework] API cleanup: mark deprecated unused API for removal (IJPL-156972)
...
GitOrigin-RevId: d17044a10b5c8e7d7f4641a6584a6bb13c60a1a0
2024-10-10 23:55:42 +00:00
Nikolay Chashnikov
4f8bcd9161
[platform] API cleanup: remove unused deprecated API (IJPL-156972)
...
GitOrigin-RevId: 183acaca734cbf2e053be244cd4292acc8d24991
2024-10-04 17:48:37 +00:00
Vladimir Krivosheev
ae227d128d
IJPL-159596 add junit 4 and 5 libs
...
GitOrigin-RevId: eeea1638a9de7f2af40a4c029a86e4a967a95c5f
2024-10-03 19:51:50 +00:00
Vladislav Rassokhin
3cb79430a7
[test framework] Fix test classes duration bucketing when bucketing single package into several buckets (IJI-727)
...
GitOrigin-RevId: 99f728a1920c86d00195542cb8f89bca027a32d7
2024-09-28 20:54:10 +00:00
Vladimir Krivosheev
a9e7930abe
bazel - build lang-impl
...
GitOrigin-RevId: c4c4dce20bd6e4046644f95f6e7b3f437c51668d
2024-09-27 13:47:17 +00:00
Daniil Ovchinnikov
577a3338e3
IJPL-453 report logged errors as separate test failures
...
GitOrigin-RevId: 427e5e77a493457d90060c236c114ea92be247b5
2024-09-25 19:42:36 +00:00
Daniil Ovchinnikov
fec8c0f7ad
IJPL-453 add and use assertErrorLogged because assertThrows does not work anymore
...
GitOrigin-RevId: 958cc887d7fee9ed3fd19eff7655ca30b75ee6eb
2024-09-25 19:42:36 +00:00
Daniil Ovchinnikov
f35d2c1c62
IJPL-453 add and use the ability to re-throw logged errors in particular tests
...
GitOrigin-RevId: 9707406b5a2290b81e28cb1f64bf4d3891f757ef
2024-09-25 19:42:36 +00:00
Daniil Ovchinnikov
daecd9da97
IJPL-453 re-throw logged errors from the test thread right after the test
...
Before the change, `Logger.error` calls threw errors.
After this change, errors, which are reported in the thread running the test,
are collected and then re-thrown right after the test.
Errors, which are reported on other threads, are re-thrown as usual.
This is the first step towards making `Logger.error` non-throwing.
GitOrigin-RevId: aeb24b48a29f2349f6c03c91117df05aaa43a9ff
2024-09-25 19:42:36 +00:00
Vladimir Krivosheev
a1210118c0
bazel - fix JPMS, exports and internal
...
GitOrigin-RevId: 3dc80a9ee01e1900c0cebc24b2d08f04f93ddeff
2024-09-25 19:05:37 +00:00
Vladimir Krivosheev
4eb9b78b78
use bazel to build platform-impl
...
GitOrigin-RevId: b5bbc75323a08c7674777e512dcfd988ceb4461f
2024-09-22 17:01:28 +00:00
Vladimir Krivosheev
834bd75254
run jps-to-bazel by Bazel, compile platform using Bazel
...
GitOrigin-RevId: 3774d5adc404b02036f70b7cc35c9e60fdb5d84c
2024-09-21 00:54:17 +00:00
Vladimir Krivosheev
8455df53ca
build build-scripts using Bazel
...
GitOrigin-RevId: f6ab74d791f866f567297e20266a7620cddfafae
2024-09-20 01:52:02 +00:00
Maxim.Kolmakov
c6d31a553c
Remove @HardwareAgentRequired annotation
...
All Perf Unit tests are run on the hardware agents to ensure stability of the metrics.
So the annotation is not needed anymore and it doesn't work on JUnit5 tests so the same test is run twice and since test execution time depends on the bucketing, metrics are jumping.
GitOrigin-RevId: fc83a368447d09d6ad1b269c88fe4f6c79067a91
2024-09-13 15:28:16 +00:00
Daniil Ovchinnikov
ae920bdaa6
test framework: implement TestLoggerExtension for JUnit 5
...
GitOrigin-RevId: 2ad65209c5aedc65b345ed258453dc9ef23dbd89
2024-09-06 19:53:34 +00:00
Aleksey Pivovarov
9145c41eca
platform: add tests on error propagation in MessageBus
...
GitOrigin-RevId: 04dd93dcdcafb994b5dca76d2b77ebb117749039
2024-09-04 23:27:07 +00:00
Nikolay Chashnikov
3c7d243d50
[test framework] cleanup: remove useless @NotNull annotation from primitive type in TestLoggerFactory
...
GitOrigin-RevId: de229a41a05ffe4b3aef7f68a2ae7986e84debc8
2024-08-21 08:05:49 +00:00
Vladimir Krivosheev
a8d3822f44
IJPL-159596 descriptors for some platform modules and test libs required for running Rider tests on production classpath
...
GitOrigin-RevId: d202ec6be7b832a7dbea981e62064102dcea180e
2024-08-02 19:06:31 +00:00
Vladimir Krivosheev
2b2d91a414
IJPL-159134 JUnit5 should be in pom.xml for testFramework
...
GitOrigin-RevId: be12eb803c9a13f850039eb12edfad3336a890c3
2024-08-01 20:32:26 +00:00
Nikolay Chashnikov
d146b00d1c
[test framework] provide API to publish additional artifacts if a test fails
...
TestLoggerFactory.publishArtifactIfTestFails is added which published a file as an artifact on TeamCity if the test fails, similarly as debug-level logs are included in the output if the test fails.
This is needed to investigate IJPL-115184.
GitOrigin-RevId: 770cf3c303b57510a6c635c4bc190a39dbd6f23d
2024-07-17 17:57:46 +00:00
Vladislav Rassokhin
5f6ca5238e
[test framework] nullability annotations in TeamCityLogger
...
GitOrigin-RevId: 5c2640cdc646c837fe83ed7dd6381c3e4ad45312
2024-07-06 11:10:27 +00:00
Sergei Vorobyov
83747d2ce4
IJPL-155979 [TestFramework] new: use file content in the FileComparisonFailedError.FileInfo.toString
...
It allows showing the comparison text in the non-IDEA test result views
GitOrigin-RevId: f3540192e246a11fda8721c3fccdcdb084380e7a
2024-06-10 19:31:23 +00:00
Nikolay Chashnikov
e11ba28e68
[test framework] API cleanup: remove unused deprecated API (IJPL-503)
...
GitOrigin-RevId: 9cc5e9d7da51a33071ffd8c57a40e2ed09c712dd
2024-05-16 18:01:38 +00:00
Nikolay Chashnikov
8e3073b7ba
[test framework] API cleanup: remove unused deprecated Bombed annotation (IJPL-503)
...
GitOrigin-RevId: 20fa818c195da89a5c7ea2760dd40122e2ef7bcc
2024-05-15 23:26:10 +00:00
Vladislav Rassokhin
191f523dfd
[test framework] IJI-1676 Run tests on compilation output jars which are under intellij.test.jars.location
...
GitOrigin-RevId: 1bb785400195ce2c6ada92b681903a3082fba2ef
2024-04-22 15:20:02 +00:00
Vladislav Rassokhin
d0a1dab701
[test framework] IJI-1676 Run tests on compilation output jars: support in ClassFinder
...
GitOrigin-RevId: a5d155cd71fc2ac728ce331ca51cdcc87e326758
2024-04-22 15:20:01 +00:00
Artem.Chuguev
4252e03730
Replaced deprecated FileComparisonFailure to FileComparisonFailedError
...
GitOrigin-RevId: 1cff5cd27c4729849289f85529c6da194d12063b
2024-04-15 17:41:09 +00:00
Vladislav Rassokhin
be9ddbb56c
[test framework] IJI-1588 Run every test class or package in a dedicated runtime
...
For now, without retries.
First pass collects all test classes without executing them.
Then they run either one by one, or grouped by package.
GitOrigin-RevId: cbdea0a64313cdc1dd0bbc6a281b9cd679c2a512
2024-03-27 15:30:47 +00:00
Roman Shevchenko
5537a1b987
Cleanup (simpler logging configuration)
...
GitOrigin-RevId: 653a26d53fb70d6aeea84bc34a15da59633168f8
2024-03-13 18:20:20 +00:00
Alexey Merkulov
3a021a5349
[debugger] Check that there are no errors in the log for execution tests
...
Also mute the check for several tests
IJ-MR-122344
GitOrigin-RevId: e264e52b4d514c2da6fb08c0035f611629f4ebaf
2024-02-28 19:12:26 +00:00
Vladislav Rassokhin
d4beae55c1
[test framework] TestAll: generate suite file to reproduce the same suite locally
...
GitOrigin-RevId: 0b0c99e7165c82c17ee717ab44e4fefda03beb8b
2024-02-17 16:17:06 +00:00
Vladislav Rassokhin
487a4ae367
[test framework] Prevent NPE when building TestCaseLoader with default values
...
GitOrigin-RevId: e854990eb4fcb9c3c2a91d9b282e566f66b2c025
2024-02-10 10:06:56 +01:00
Nikolaj Schumacher
20fbd37177
[test framework] Prevent NPE when building TestCaseLoader with default values
...
GitOrigin-RevId: 38b4196f64f6c6f8d3ea45048918b987b9354c33
2024-02-09 18:57:39 +00:00
Nikita Kudrin
d7d24acdee
[unit perf tests] AT-726 Print metrics of perf tests during local run
...
GitOrigin-RevId: f792ced838390c181186f095cda6fc3125d14b79
2024-02-08 11:21:51 +00:00
Max Medvedev
a4cf21904a
IDEA-311941 Employ SimpleMergingQueue for ProjectStructureDaemonAnalyzer
...
ProjectStructureDaemonAnalyzer often gets all modules of the current project
for update at once. If there are quite a lot of them (e.g., 5k), MergingUpdateQueue
wastes a huge amount of time trying to merge them one by one with complicated rules,
though the rules are extremely simple in our case: it's enough to just check updates
for equality. A simple hash map works great for this task.
So, I added SimpleMergingQueue.
This fix helps to reduce queueing tasks for intellij monorepo from ~6sec to less than
0.1sec.
GitOrigin-RevId: 33eaf1e7ccc66a1edb28addf7bbaedd00444a30b
2024-01-31 13:05:42 +00:00
Vladislav Rassokhin
338dd74ef1
[test framework] Use bucketing based on test classes execution duration (IJI-727)
...
Group classes by packages, split packages if they're too big for one bucket.
Duration data is stored in simple csv files under `/tests/classes-duration/` directory.
Each line has two values: class name and duration in milliseconds.
Files named the same way as test groups in `testGroups.properties`.
GitOrigin-RevId: 9bbd34007e4c975384988ea82f0038e7e6e8b191
2024-01-25 22:43:56 +00:00
Vladislav Rassokhin
cef9b45008
[test framework] TestCaseLoader: refactor usages, reuse test classes filters
...
Tests should not rely on modifying system properties to adjust TestCaseLoader behavior, so `Builder` is introduced.
To not traverse filesystem several times, we cache common test class filters in lazy variables.
Also added check that no `fillClasses` called after `getClasses`.
GitOrigin-RevId: 0fc188b494a7e638d66ffa4ec87764b81cd574d6
2024-01-25 22:43:56 +00:00
Vladislav Rassokhin
c3572cf358
[test framework] refactor bucketing in TestCaseLoader
...
* don't instantiate NastradamusClient if it's not used.
* don't initialize 'fair buckets' if it's not used
GitOrigin-RevId: 27dbdc88bf8d057158f3437bab6af360254280ec
2024-01-25 22:43:56 +00:00
Vladislav Rassokhin
fb239b1228
[test framework] speedup TestCaseLoader.isClassNameIncluded a bit
...
No need to remove package from class FQN to only check for `endsWith("Test")` in `ClassFinder.isSuitableTestClassName`
GitOrigin-RevId: aa3c0c3421f0e5eef6cf736421b8f4655fc0f99e
2024-01-13 02:21:42 +00:00
Sergei Vorobyov
bce369891f
[Core|TestFramework] fix: use actual value wrapper for getActualStringPresentation method
...
GitOrigin-RevId: 05b82dcf345417e9f71aecd460888a4004ca6b5b
2023-12-18 19:22:20 +00:00
Vladislav Rassokhin
e2038ed288
[test framework] in TestAll suite don't run anything if there is only First/LastInSuiteTest, but no real tests
...
GitOrigin-RevId: bc16b28cabcde44f451e59af1a51f07808bb4eff
2023-12-09 21:27:00 +00:00
Vladislav Rassokhin
a0e9ef105f
[test framework] fix for check for unconventionally named tests in JUnit 5
...
GitOrigin-RevId: fd8b9813733446a3cc3d6202a94ed6955296c4fc
2023-12-09 16:10:04 +00:00
Vladislav Rassokhin
829213a62e
[test framework] Speedup GroupBasedTestClassFilter a bit: precalculate set of currently selected groups
...
GitOrigin-RevId: d5ac33bbb846b622f361f73b18e47abcc13c6c12
2023-12-08 19:06:13 +00:00
Vladislav Rassokhin
8f523c2d77
[test framework] use PostDiscoveryFilter for JUnit5 tests to not check bucketing for whole classpath: bring nested tests back
...
GitOrigin-RevId: 716397e46da08ca3baa24c48d24041a0c086dba8
2023-12-07 19:11:54 +00:00
Vladislav Rassokhin
e2f90e68da
[test framework] check for unconventionally named tests in JUnit 5 the same way as in JUnit 3&4
...
GitOrigin-RevId: 66c5512bde991ceefe67b039b98b9ec567366bb4
2023-12-07 13:27:12 +00:00
Vladislav Rassokhin
f230ce333e
[test framework] improve TeamCityLogger.isUnderTC
...
GitOrigin-RevId: aaf9baf9e9033a351dfbe332aed22fe7b84c1f8a
2023-12-07 13:27:10 +00:00
Vladislav Rassokhin
71cd418438
[test framework] replace Modifier constants usages with static methods
...
GitOrigin-RevId: ddc314031a71d31e9aa2fdbef60430aa5b48434e
2023-12-05 16:25:26 +00:00
Vladislav Rassokhin
a3171b396f
[test framework] fast skipping non-relevant classes in TestCaseLoader, without loading them
...
GitOrigin-RevId: 6134a579d3a1d68c5d93005635692b517d7136af
2023-12-05 16:25:22 +00:00
Vladislav Rassokhin
edfffd49fd
[test framework] use PostDiscoveryFilter for JUnit5 tests to not check bucketing for whole classpath
...
Also use MethodHandler
GitOrigin-RevId: 852e9441d8a7534748a5eb59479d020d3849b748
2023-12-05 16:25:19 +00:00