Implement Godot-in-the-loop test suite and fix debugger errors (#788)

Fixes for get variables issues
1. Same reference but different variable override fix, which resulted in variables being lost
** Now different GodotVariable instances are used for different variables with same reference
** const replacement = {value: rawObject, sub_values: sub_values } as GodotVariable;
2. 'Signal' type handling crash and string representation fix
** value.sub_values()?.map
3. Empty scopes return fix
** if (this.ongoing_inspections.length === 0  && stackVars.remaining == 0)
4. Various splice from findIndex fixes (where findIndex can return -1)
5. Added variables tests
**  updated vscode types to version 1.96 to use `onDidChangeActiveStackItem` for breakpoint hit detection in tests
1 & 3 should fix https://github.com/godotengine/godot-vscode-plugin/issues/779
This commit is contained in:
MichaelXt
2025-02-10 13:56:13 -08:00
committed by GitHub
parent 7c70ac2753
commit 2490d0cdad
30 changed files with 854 additions and 160 deletions

View File

@@ -5,6 +5,7 @@ jobs:
test:
name: Test
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
@@ -17,9 +18,35 @@ jobs:
with:
node-version: 16.x
- name: Install Godot (Ubuntu)
if: matrix.os == 'ubuntu-latest'
run: |
wget https://github.com/godotengine/godot/releases/download/4.3-stable/Godot_v4.3-stable_linux.x86_64.zip
unzip Godot_v4.3-stable_linux.x86_64.zip
sudo mv Godot_v4.3-stable_linux.x86_64 /usr/local/bin/godot
chmod +x /usr/local/bin/godot
- name: Install Godot (macOS)
if: matrix.os == 'macos-latest'
run: |
curl -L -o Godot.zip https://github.com/godotengine/godot/releases/download/4.3-stable/Godot_v4.3-stable_macos.universal.zip
unzip Godot.zip
sudo mv Godot.app /Applications/Godot.app
sudo ln -s /Applications/Godot.app/Contents/MacOS/Godot /usr/local/bin/godot
- name: Install Godot (Windows)
if: matrix.os == 'windows-latest'
run: |
Invoke-WebRequest -Uri "https://github.com/godotengine/godot/releases/download/4.3-stable/Godot_v4.3-stable_win64.exe.zip" -OutFile "Godot.zip"
Expand-Archive -Path "Godot.zip" -DestinationPath "C:\Godot43"
"C:\Godot43\Godot_v4.3-stable_win64.exe %*" | Out-File -Encoding ascii -FilePath ([Environment]::SystemDirectory+"\godot.cmd")
- name: Install dependencies
run: npm install
- name: Godot init project
run: godot --import test_projects/test-dap-project-godot4/project.godot --headless
- name: Run headless test
uses: coactions/setup-xvfb@v1
with: