erlang-language-platform/test_projects
Roberto Aloi 8d0c680127 Restore "Analyze Stacktrace" functionality
Summary:
# Context

The "Analyze Stacktrace" functionality was broken for a long time. A user attempted to use it and reported it was not able to extract a stacktrace.

# Solution

This diff restore the basic functionality by:

* Refactoring some private code so it's testable
* Adding a unit test for the stacktrace extraction
* Updating the regex that was used to identify stacktraces in the terminal
* Adding an E2E tests
* Making the opening mechanism more solid

Despite of this, the functionality is quite fragile. I am considering if we should drop it altogether, instead.

Reviewed By: alanz

Differential Revision: D69518411

fbshipit-source-id: d6270e1e41ae357f6cea4f18f277b35d255bf2d6
2025-02-12 08:46:20 -08:00
..
buck_tests Fix oncall s/whatsapp_developer_tools/vscode_erlang/g 2024-11-25 08:14:59 -08:00
buck_tests_2 Add a test project for elp bxl query 2024-05-17 03:53:47 -07:00
custom_build_tool Introduce build_info section in ELP config file 2024-05-16 06:45:10 -07:00
diagnostics Switch ELP from build_info to manifest plugin 2024-10-23 09:29:42 -07:00
end_to_end Restore "Analyze Stacktrace" functionality 2025-02-12 08:46:20 -08:00
eqwalizer/src Initial commit 2023-08-02 07:54:59 -07:00
eqwalizer_callers Switch ELP from build_info to manifest plugin 2024-10-23 09:29:42 -07:00
eqwalizer_tests Snapshot tests -- case type refinement 2025-01-20 07:15:38 -08:00
in_place_tests Switch ELP from build_info to manifest plugin 2024-10-23 09:29:42 -07:00
linter Switch ELP from build_info to manifest plugin 2024-10-23 09:29:42 -07:00
linter_bad_config Switch ELP from build_info to manifest plugin 2024-10-23 09:29:42 -07:00
parse_error Switch ELP from build_info to manifest plugin 2024-10-23 09:29:42 -07:00
standard Switch ELP from build_info to manifest plugin 2024-10-23 09:29:42 -07:00
.gitignore Initial commit 2023-08-02 07:54:59 -07:00
README.md Initial commit 2023-08-02 07:54:59 -07:00

Fixture erlang projects for e2e tests.

The key to confine ELP to a non-waserver project is to have:

  • rebar.config
  • .rebar.root
  • build_info plugin (for now copy-pasted from waserver)

From this directory, you can manually test:

% elp parse-all --project . --to ~/tmp

Automated tests live in crates/elp/bin/main.rs

See also //whatsapp/elp_test/README.md for additonal end-to-end LSP tests.