Tests of the plugin are passing, but the AppMap task is still failing for unknown reasons.
Especially with 2024.2 and GitHub Actions, the tests of the finding manager were unstable.
This was caused by too many async change requests of findings launched in the background.
The tests only wait for one of these changes and then continue to work with findings data. At this point, other queued async changes to findings could still be processed and change the findings data in unexpected ways.
This PR
batches changes to findings and debounces the processing. Findings are processed 5s after the last change to findings was recorded.
avoids spawning a cancellable ReadAction to all findings from an existing ReadAction.
When processing findings, each project has its own set of pending changes now to avoid mixing data of different project.
Executes findings tests with temp files located on the local filesystem and non in memory. FindingsManager only works with files on the local filesystem. Finding files must also be located in a content root of the project to be processed.
Adds a new base class for tests to simplify the setup with local temp files: AppMapLocalTempFilesTest
Closes https://github.com/getappmap/appmap-intellij-plugin/issues/770
Tests of the plugin are passing, but the AppMap task is still failing for unknown reasons.
Especially with 2024.2 and GitHub Actions, the tests of the finding manager were unstable. This was caused by too many async change requests of findings launched in the background. The tests only wait for one of these changes and then continue to work with findings data. At this point, other queued async changes to findings could still be processed and change the findings data in unexpected ways.
This PR
AppMapLocalTempFilesTest
https://github.com/getappmap/appmap-intellij-plugin/pull/771/commits/0bc206908f9945989200ab88afdb20cab2a9970b hopefully fixes another unstable test which prevented CI of this PR to run successfully.