Implement native VivoxTest validation (#95)
Some checks failed
Native code generation / deterministic (push) Failing after 2m19s
Imaging and meshing gate / native (push) Failing after 4m24s
JPEG 2000 feature / linux (push) Successful in 2m50s
Native Rust workspace compile / compile (push) Failing after 15m31s
Skia feature / linux (push) Successful in 31m51s
Some checks failed
Native code generation / deterministic (push) Failing after 2m19s
Imaging and meshing gate / native (push) Failing after 4m24s
JPEG 2000 feature / linux (push) Successful in 2m50s
Native Rust workspace compile / compile (push) Failing after 15m31s
Skia feature / linux (push) Successful in 31m51s
This commit is contained in:
@@ -14,9 +14,48 @@ here so a source entry is never mistaken for a completed port.
|
||||
| `inventory-explorer` | InventoryExplorer | Implemented with live inventory and deterministic AIS fixtures |
|
||||
| `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 | Pending milestone 11 issue #95 |
|
||||
| `vivox-test` | VivoxTest | Implemented with gated live validation and a scripted fake TCP/control service |
|
||||
| `webrtc-test` | WebRtcTest | Pending milestone 11 issue #96 |
|
||||
|
||||
## VivoxTest
|
||||
|
||||
`vivox-test` is a native async client of the Vivox SDK XML control protocol. It
|
||||
connects to an already-running service; it does not bundle, locate, start, or
|
||||
invoke the proprietary Vivox daemon, an SDK binary, a CLR, or the upstream C#
|
||||
program. Connector, provisional-account login, session, participant-volume,
|
||||
termination, account logout, connector shutdown, device enumeration, request
|
||||
correlation, and daemon events all use the public
|
||||
`libremetaverse-voice-vivox::VivoxControlClient` API.
|
||||
|
||||
Live validation is credential-safe and explicitly gated:
|
||||
|
||||
```text
|
||||
GRID_FIRST_NAME=... GRID_LAST_NAME=... GRID_PASSWORD=... \
|
||||
vivox-test --allow-live-login --confirm-live-login LOGIN
|
||||
```
|
||||
|
||||
The service endpoint defaults to `127.0.0.1:44124` and may be changed with
|
||||
`--daemon-endpoint IP:PORT`. The daemon and its proprietary SDK prerequisites
|
||||
must be installed and started separately. Capability URLs, provisioned account
|
||||
credentials, connector/account/session handles, and voice URIs never appear in
|
||||
diagnostics. Live parcel audio is a separate operation and is skipped unless
|
||||
`--allow-session-audio` is supplied.
|
||||
|
||||
Offline CI uses `--fake-script FILE`. The bounded, tab-separated file provides
|
||||
`capture-device`, `current-capture`, `render-device`, `current-render`,
|
||||
`provision`, `parcel`, and `participant` directives. An optional `reject`
|
||||
directive scripts a daemon failure. Fake mode binds an ephemeral IPv4 loopback
|
||||
port and performs the complete ten-request control flow over TCP before awaiting
|
||||
the service task and proving that no pipes, sessions, or tasks remain.
|
||||
|
||||
Run the issue-focused validation with:
|
||||
|
||||
```sh
|
||||
cargo test -p libremetaverse-voice-vivox
|
||||
cargo test -p libremetaverse-programs --test vivox_test_cli
|
||||
cargo test --manifest-path tests/compat/Cargo.toml --test vivox_protocol_semantics
|
||||
```
|
||||
|
||||
## OSDInspector
|
||||
|
||||
`osd-inspector` is a bounded, offline command-line client of the public native
|
||||
|
||||
Reference in New Issue
Block a user