mirror of
https://github.com/ossrs/srs.git
synced 2026-10-24 09:59:20 +03:00
Improve test isolation and cross-platform testing, and update the AI skills. No SRS media server or proxy code changes; only tests, test tools and skills change. ## Test ports Every test layer gets its own port range below the Linux ephemeral range (32768+), so tests run in parallel, alongside a human SRS or Docker container, and a client socket never takes a port a test picked. - Each test script takes one optional `SRS_TEST_PORT_BASE` and defaults to its own 100-port slot: 11000-11700 for the eight proxy E2E scripts, 12100-12800 for the config-file, reload, GB28181 and RTC scripts. This replaces `SRS_E2E_PORT_OFFSET` and the per-port `SRS_GB_*`, `SRS_PLAIN_*` and `SRS_RTX_*` variables, so a Full tier sets no port variables. - The regression SRS runs on 13000+ through the `SRS_*_LISTEN` env, with its pid and log in `/tmp/srs-regression`. `srs_test` adds `-srs-rtmp-port`, `-srs-api-port` and `-srs-rtsp-port`, so it no longer needs 1935, 1985 or 8554. - Black-box tests allocate from 21000-25999 (`SRS_BLACKBOX_PORTS`), and the custom-port RTSP case now allocates its port too. C++ utests use 26000-29999 (`SRS_UTEST_PORTS`). - The Port Plan in `integration-tests.md` is the source of truth, with every range, its owner, and the ports bound and still free. ## State Threads on every OS - New `st-test.sh` detects the platforms and runs every ST test on each: the local OS first, then Linux in Docker and Windows x64 in parallel, with a summary per OS and the platforms not tested and why. `st-test-runner.sh` runs one build. - New `st-windows-test.sh`, opted in by `SRS_TEST_WINDOWS_HOST`, mirrors the local checkout on a Windows host over SSH. It syncs a commit by pushing to the branch's upstream, never `origin`. - `full-tier-lock.sh` takes `--product`, so ST runs hold their own lock and run in parallel with SRS tiers. ## Skills - `srs-autopilot`: `tasks/tracker.md` lists every task file and its state, and this skill's rows are owned by `SRS`. Each task gets its own worktree and branch in every repository it changes. Tests are reported by OS and CPU. - `srs-develop`: `testable-code.md` covers the test platforms and running tests in a subagent. New Step 5 verifies ST on Windows. Issue titles start with the owning component: `SRS:`, `Proxy:`, `ST:` or `Oryx:`. - `internal-codemap-for-srs` and `internal-docs-for-srs`: the C++ test map moves into `cpp-server.md`, `go-server.md` adds the Go proxy tests, and the docs list the native Windows x64 coroutine doc and `md_win64.asm`. --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
6.3 MiB
6.3 MiB