lldb: refactor plugin and test scripts
This commit is contained in:
@@ -2,6 +2,54 @@
|
||||
|
||||
set -e
|
||||
|
||||
go run ./cmd/llgo build -o ./cl/_testdata/debug/out -dbg ./cl/_testdata/debug/
|
||||
# Source common functions and variables
|
||||
source "$(dirname "$0")/common.sh"
|
||||
|
||||
/opt/homebrew/bin/lldb -S _lldb/runtest.lldb
|
||||
# Parse command-line arguments
|
||||
package_path="$DEFAULT_PACKAGE_PATH"
|
||||
verbose=False
|
||||
interactive=False
|
||||
plugin_path=None
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
-v|--verbose)
|
||||
verbose=True
|
||||
shift
|
||||
;;
|
||||
-i|--interactive)
|
||||
interactive=True
|
||||
shift
|
||||
;;
|
||||
-p|--plugin)
|
||||
plugin_path="\"$2\""
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
package_path="$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Build the project
|
||||
build_project "$package_path"
|
||||
|
||||
# Prepare LLDB commands
|
||||
lldb_commands=(
|
||||
"command script import _lldb/test.py"
|
||||
"script test.run_tests(\\\"${package_path}/out\\\", [\\\"${package_path}/in.go\\\"], ${verbose}, ${interactive}, ${plugin_path})"
|
||||
)
|
||||
|
||||
# Add quit command if not in interactive mode
|
||||
if [ "$interactive" = False ]; then
|
||||
lldb_commands+=("quit")
|
||||
fi
|
||||
|
||||
# Run LLDB with prepared commands
|
||||
lldb_command_string=""
|
||||
for cmd in "${lldb_commands[@]}"; do
|
||||
lldb_command_string+=" -O \"$cmd\""
|
||||
done
|
||||
|
||||
eval "$LLDB_PATH $lldb_command_string"
|
||||
|
||||
Reference in New Issue
Block a user