mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-10-18 11:33:23 +03:00
- Add safe POSIX no-overwrite publication with explicit cleanup errors. - Use short temporary basenames for atomic writes and copies. - Document wrapped-zero InfoZIP rejection and add a 65,536-entry fixture. - Add publication race, cleanup failure and long filename regressions. - Replace suitable VFS string concatenation with String::format/formatTo. - Pass SIGUSR1 through GDB so the interrupted-join test can finish.
32 lines
904 B
Bash
Executable File
32 lines
904 B
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
CANONPATH=$(readlink -f "$0")
|
|
DIRPATH="$(dirname "$CANONPATH")"
|
|
|
|
cd ../../bin/unit_tests
|
|
|
|
echo "=== Running eepp unit tests under GDB (xvfb) ==="
|
|
|
|
# Process.joinRetriesInterruptedWaits sends SIGUSR1 to interrupt waitpid(). Deliver it to
|
|
# the installed test handler without stopping the batch debugger before the suite finishes.
|
|
sh "$DIRPATH/xvfb-run-eepp" \
|
|
gdb --batch --quiet --return-child-result \
|
|
-ex "set confirm off" \
|
|
-ex "set print thread-events off" \
|
|
-ex "handle SIGUSR1 nostop noprint pass" \
|
|
-ex "run" \
|
|
-ex "bt full" \
|
|
-ex "thread apply all bt full" \
|
|
-ex "info registers" \
|
|
-ex "quit" \
|
|
--args ./eepp-unit_tests "$@"
|
|
|
|
GDB_STATUS=$?
|
|
|
|
if [ $GDB_STATUS -ne 0 ] && [ $GDB_STATUS -ne 139 ]; then
|
|
echo "❌ GDB exited with unexpected code: $GDB_STATUS"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Unit tests completed (GDB status: $GDB_STATUS)"
|