Implement native WebRtcTest validation (#96)
Some checks failed
Native code generation / deterministic (push) Failing after 2m5s
Imaging and meshing gate / native (push) Failing after 5m37s
JPEG 2000 feature / linux (push) Successful in 2m49s
Native Rust workspace compile / compile (push) Failing after 17m32s
Skia feature / linux (push) Successful in 31m32s
Some checks failed
Native code generation / deterministic (push) Failing after 2m5s
Imaging and meshing gate / native (push) Failing after 5m37s
JPEG 2000 feature / linux (push) Successful in 2m49s
Native Rust workspace compile / compile (push) Failing after 17m32s
Skia feature / linux (push) Successful in 31m32s
This commit is contained in:
@@ -15,7 +15,43 @@ here so a source entry is never mistaken for a completed port.
|
||||
| `irc-gateway` | IRCGateway | Implemented with live IRC/grid transports and deterministic offline scripts |
|
||||
| `test-client` | TestClient | All non-voice command groups implemented with live and deterministic fake-grid backends; voice adapters tracked by #95 and #96 |
|
||||
| `vivox-test` | VivoxTest | Implemented with gated live validation and a scripted fake TCP/control service |
|
||||
| `webrtc-test` | WebRtcTest | Pending milestone 11 issue #96 |
|
||||
| `webrtc-test` | WebRtcTest | Implemented with gated live WebRTC and a deterministic secure loopback peer |
|
||||
|
||||
## WebRtcTest
|
||||
|
||||
`webrtc-test` uses the native `libremetaverse-voice-webrtc` adapter. Its
|
||||
`str0m` peer performs ICE, DTLS, SRTP, ordered SCTP `SLData`, SDP offer/answer,
|
||||
Opus RTP, peer mute/gain/position messages, WAV microphone playback, diagnostics,
|
||||
and joined teardown. It does not invoke the CLR or upstream C# program.
|
||||
|
||||
The hardware-independent gate is:
|
||||
|
||||
```sh
|
||||
webrtc-test --fake --timeout-seconds 10
|
||||
```
|
||||
|
||||
This creates two native peers on IPv4 loopback, exchanges an actual encrypted
|
||||
WebRTC session, sends and decodes native-libopus audio, validates peer maps and
|
||||
controls, and proves both peer/audio task counts return to zero. `--list-devices`
|
||||
always reports the virtual endpoints. A build with `--features real-audio`
|
||||
also reports CPAL endpoints and `--input-device`/`--output-device` opens the
|
||||
selected hardware streams; capture and playback are converted to/from 48 kHz
|
||||
mono without changing the WebRTC protocol.
|
||||
|
||||
Live login requires `--allow-live-login --confirm-live-login LOGIN`. It only
|
||||
checks the redacted voice capabilities unless `--allow-session-audio` is also
|
||||
present. It reads `GRID_USER="First Last"`, `GRID_PASSWORD`, and
|
||||
`GRID_LOGIN_URL` from the environment or workspace `.env`; positional values
|
||||
and `GRID_FIRST_NAME`/`GRID_LAST_NAME` remain supported. See `docs/webrtc.md`
|
||||
for native prerequisites and the full command/gate matrix.
|
||||
|
||||
Run the isolated checks with:
|
||||
|
||||
```sh
|
||||
cargo test -p libremetaverse-voice-webrtc --lib native::tests
|
||||
cargo test -p libremetaverse-programs --test webrtc_test_cli
|
||||
cargo test --manifest-path tests/compat/Cargo.toml --test webrtc_protocol_semantics
|
||||
```
|
||||
|
||||
## VivoxTest
|
||||
|
||||
|
||||
Reference in New Issue
Block a user