- Fix code coverage race condition: Each ProxySQL instance now writes
.gcda files to its own directory using GCOV_PREFIX, preventing
parallel groups from overwriting each other's coverage data
- Add TAP_USE_NOISE documentation for noise injection testing
- Replace random stagger delay with sequential delay (STAGGER_DELAY)
to guarantee proper spacing between group startups
- Update README with multi-group runner, coverage, and noise injection docs
For more details, see `test/tap/NOISE_TESTING.md`.
---
## 11. Troubleshooting
* **"Directory Not Empty"**: Run `./test/infra/control/stop-proxysql-isolated.bash` with the same `INFRA_ID` to cleanup, or manually delete the folder in `ci_infra_logs/`.
* **Permission Denied**: The system uses `sudo` for log directory management. Ensure your user has sudo privileges.
echo"[$(date '+%Y-%m-%d %H:%M:%S')] ${group}: Waiting ${delay}s to stagger startup (base=${base_delay}s + random=${random_delay}s)..."| tee -a "${log_file}"
sleep "${delay}"
# Each group starts STAGGER_DELAY seconds after the previous one
localSTAGGER_DELAY="${STAGGER_DELAY:-5}"
localdelay=$((group_index * STAGGER_DELAY))
if["${delay}" -gt 0];then
echo"[$(date '+%Y-%m-%d %H:%M:%S')] ${group}: Waiting ${delay}s to stagger startup (index=${group_index}, delay=${STAGGER_DELAY}s per group)..."| tee -a "${log_file}"
sleep "${delay}"
fi
start_time=$(date +%s)
echo"[$(date '+%Y-%m-%d %H:%M:%S')] STARTING: ${group} (INFRA_ID: ${infra_id})"| tee -a "${log_file}"