@@ -134,25 +134,53 @@ jobs:
134134 shell : bash
135135 run : |
136136 set -x
137- # Find and test examples
137+ failed=false
138138 for exe in SimpleRoom SimpleRpc SimpleDataStream; do
139- if [[ -x "build/bin/${exe}" ]]; then
140- build/bin/${exe} --help || true
139+ exe_path="build/bin/${exe}"
140+ if [[ -x "${exe_path}" ]]; then
141+ echo "Testing ${exe}..."
142+ # Capture output to verify program actually runs
143+ output=$("${exe_path}" --help 2>&1) || true
144+ if [[ -z "${output}" ]]; then
145+ echo "ERROR: ${exe} produced no output - may have failed to start"
146+ failed=true
147+ else
148+ echo "${output}"
149+ echo "${exe} ran successfully"
150+ fi
151+ else
152+ echo "ERROR: ${exe_path} not found or not executable"
153+ failed=true
141154 fi
142155 done
156+ if [[ "$failed" == "true" ]]; then exit 1; fi
143157
144158 - name : Smoke test examples (Windows)
145159 if : runner.os == 'Windows'
146160 shell : pwsh
147161 run : |
148162 $examples = @('SimpleRoom', 'SimpleRpc', 'SimpleDataStream')
163+ $failed = $false
149164 foreach ($exe in $examples) {
150165 $exePath = "build/bin/Release/${exe}.exe"
151166 if (Test-Path $exePath) {
152167 Write-Host "Testing ${exe}..."
153- & $exePath --help
168+ # Capture output to verify program actually runs
169+ $output = & $exePath --help 2>&1
170+ # If there's no output, the program likely failed to start (e.g., missing DLL)
171+ if ([string]::IsNullOrWhiteSpace($output)) {
172+ Write-Host "ERROR: ${exe} produced no output - may have failed to start"
173+ $failed = $true
174+ } else {
175+ Write-Host $output
176+ Write-Host "${exe} ran successfully"
177+ }
178+ } else {
179+ Write-Host "ERROR: ${exePath} not found"
180+ $failed = $true
154181 }
155182 }
183+ if ($failed) { exit 1 }
156184
157185 - name : Upload build artifacts
158186 uses : actions/upload-artifact@v4
0 commit comments