@@ -246,27 +246,65 @@ jobs:
246246 $env:PYTHONIOENCODING = "utf-8"
247247 $env:WINDOWS_PLATFORM = "true"
248248
249+ # Additional Windows-specific environment variables for headless Isaac Sim
250+ $env:CARB_APP_PATH = ""
251+ $env:OMNI_KIT_FORCE_HEADLESS = "1"
252+
253+ Write-Host "=== Isaac Sim Installation Info ==="
249254 python -m pip show isaacsim
250255
256+ Write-Host "`n=== Testing Isaac Sim Import ==="
257+ $importTest = python -c "import sys; print('Python version:', sys.version); print('Python path:', sys.executable); import isaacsim; print('Isaac Sim imported successfully')" 2>&1
258+ Write-Host $importTest
259+
260+ if ($LASTEXITCODE -ne 0) {
261+ Write-Host "ERROR: Isaac Sim import failed with exit code: $LASTEXITCODE"
262+ Write-Host "This indicates Isaac Sim is not properly installed or configured."
263+ }
264+
251265 # Set environment variables for test filtering
252266 $env:TEST_RESULT_FILE = "general-tests-windows-report.xml"
253267 $env:TEST_EXCLUDE_PATTERN = "isaaclab_tasks"
254268
269+ Write-Host "`n=== Starting Test Execution ==="
255270 # Run tests using conftest.py which handles Windows-specific execution
256271 & python -m pytest tools `
257272 -v
258273
259274 $testExitCode = $LASTEXITCODE
260275 Write-Host "Tests completed with exit code: $testExitCode"
261276
277+ # Decode common Windows error codes
278+ if ($testExitCode -eq 3221225477) {
279+ Write-Host "ERROR: Exit code 0xC0000005 (STATUS_ACCESS_VIOLATION) - Isaac Sim crashed during initialization"
280+ Write-Host "This typically indicates:"
281+ Write-Host " - GPU/Graphics driver issue"
282+ Write-Host " - Missing or incompatible DLLs"
283+ Write-Host " - Headless mode not properly configured"
284+ } elseif ($testExitCode -eq -1073741819) {
285+ Write-Host "ERROR: Exit code 0xC0000005 (alternative representation) - Access violation"
286+ }
287+
262288 # Check if report was generated
263- if (Test-Path "reports/general-tests-windows-report.xml") {
264- Write-Host "Test report generated successfully"
289+ $reportPath = "tests\$env:TEST_RESULT_FILE"
290+ if (Test-Path $reportPath) {
291+ Write-Host "Test report generated successfully at: $reportPath"
292+ # Copy to reports directory
293+ New-Item -ItemType Directory -Force -Path "reports" | Out-Null
294+ Copy-Item $reportPath "reports\" -Force
265295 } else {
266- Write-Host "Warning: Test report not found"
267- # Create a fallback report
268- $fallbackReport = '<?xml version="1.0" encoding="utf-8"?><testsuite name="windows-general-tests" tests="0" failures="0" errors="1" time="0"><testcase classname="setup" name="no_results_found"><error message="No test results found">Tests may have failed to generate results</error></testcase></testsuite>'
269- Set-Content -Path "reports/general-tests-windows-report.xml" -Value $fallbackReport
296+ Write-Host "Warning: Test report not found at $reportPath"
297+ Write-Host "Creating reports directory and fallback report..."
298+ New-Item -ItemType Directory -Force -Path "reports" | Out-Null
299+
300+ # Create a fallback report with more detailed error info
301+ $errorMessage = "Tests crashed with exit code $testExitCode"
302+ if ($testExitCode -eq 3221225477) {
303+ $errorMessage = "Tests crashed with ACCESS_VIOLATION (0xC0000005). Isaac Sim failed to initialize on Windows. This may be due to GPU/driver issues or headless configuration problems."
304+ }
305+
306+ $fallbackReport = "<?xml version=`"1.0`" encoding=`"utf-8`"?><testsuite name=`"windows-general-tests`" tests=`"0`" failures=`"0`" errors=`"1`" time=`"0`"><testcase classname=`"setup`" name=`"test_execution_failed`"><error message=`"Test execution failed`">$errorMessage</error></testcase></testsuite>"
307+ Set-Content -Path "reports\general-tests-windows-report.xml" -Value $fallbackReport
270308 }
271309
272310 - name : Upload Windows General Test Results
0 commit comments