lean4-htt/tests/lean/interactive/projects/test_single.sh
Marc Huisinga dfd3d18530
test: improve language server test coverage (#10574)
This PR significantly improves the test coverage of the language server,
providing at least a single basic test for every request that is used by
the client. It also implements infrastructure for testing all of these
requests, e.g. the ability to run interactive tests in a project context
and refactors the interactive test runner to be more maintainable.
Finally, it also fixes a small bug with the recently implemented unknown
identifier code actions for auto-implicits (#10442) that was discovered
in testing, where the "import all unambiguous unknown identifiers" code
action didn't work correctly on auto-implicit identifiers.
2025-09-30 11:15:03 +00:00

36 lines
756 B
Bash
Executable file

#!/usr/bin/env bash
source ../../../common.sh
find_parent_with_file() {
local dir="$1"
local target_file="$2"
while [[ "$dir" != "/" ]]; do
if [[ -e "$dir/$target_file" ]]; then
echo "$dir"
return 0
fi
dir="$(dirname "$dir")"
done
if [[ -e "/$target_file" ]]; then
echo "/"
return 0
fi
return 1
}
run_path="$(pwd)/run.lean"
cd "$(find_parent_with_file "$f" "lean-toolchain")"
lake build
# IO.Process.exit (used by the file worker) seems to be incompatible with LSAN
# TODO: investigate or work around
export ASAN_OPTIONS=detect_leaks=0
# these tests don't have to succeed
exec_capture lean -Dlinter.all=false --run $run_path -p "$f" || true
diff_produced