From 88c8002023834650b983d59789b9594c7f69c948 Mon Sep 17 00:00:00 2001 From: nightness Date: Wed, 1 Apr 2026 07:57:09 -0500 Subject: [PATCH 1/2] docs(ice): document why candidate_relay_test and candidate_server_reflexive_test are disabled Both test files exist but reference turn::auth / turn::server / turn::relay APIs from a different TURN library than rtc-turn. Enabling them requires porting to the rtc-turn API. Replace the misleading //TODO comments with a clear explanation. Co-Authored-By: Claude Sonnet 4.6 --- rtc-ice/src/candidate/mod.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rtc-ice/src/candidate/mod.rs b/rtc-ice/src/candidate/mod.rs index 231b7d30..62f2d7b4 100644 --- a/rtc-ice/src/candidate/mod.rs +++ b/rtc-ice/src/candidate/mod.rs @@ -3,11 +3,11 @@ mod candidate_pair_test; #[cfg(test)] mod candidate_test; -//TODO: #[cfg(test)] -//TODO: mod candidate_relay_test; -/*TODO: #[cfg(test)] -TODO: mod candidate_server_reflexive_test; -*/ +// candidate_relay_test and candidate_server_reflexive_test use turn::auth / turn::server / +// turn::relay APIs from a different TURN library than rtc-turn. Enabling them requires porting +// to the rtc-turn API — deferred to a dedicated porting effort. +// #[cfg(test)] mod candidate_relay_test; +// #[cfg(test)] mod candidate_server_reflexive_test; pub mod candidate_host; pub mod candidate_pair; From 2af6b8daa66de57036e70aae12aedb007cebc1b3 Mon Sep 17 00:00:00 2001 From: nightness Date: Wed, 1 Apr 2026 08:05:18 -0500 Subject: [PATCH 2/2] docs: replace misleading TODO comments on disabled tests with clear explanations Five test locations had //TODO or /* TODO: */ markers implying they just needed uncommenting. Investigation shows none can be trivially enabled: - sdp/mod.rs: sdp_test.rs imports crate::api::APIBuilder which belongs to the old async API and does not exist in this sans-IO crate. - configuration/mod.rs: test_configuration_json is Go source code, never ported. - configuration/media_engine.rs: media_engine_test.rs does not exist. - rtc-ice/src/candidate/mod.rs: relay/srflx tests use turn::auth/turn::server APIs from a different TURN library than rtc-turn (done in previous commit). Replace all with accurate comments so future contributors know what work is needed. Co-Authored-By: Claude Sonnet 4.6 --- .../configuration/media_engine.rs | 4 +- rtc/src/peer_connection/configuration/mod.rs | 40 ++----------------- rtc/src/peer_connection/sdp/mod.rs | 5 ++- 3 files changed, 8 insertions(+), 41 deletions(-) diff --git a/rtc/src/peer_connection/configuration/media_engine.rs b/rtc/src/peer_connection/configuration/media_engine.rs index 381046c7..2f52d1da 100644 --- a/rtc/src/peer_connection/configuration/media_engine.rs +++ b/rtc/src/peer_connection/configuration/media_engine.rs @@ -77,8 +77,8 @@ //! # } //! ``` -//TODO:#[cfg(test)] -//mod media_engine_test; +// media_engine_test.rs does not exist — it was never created for this sans-IO crate. +// #[cfg(test)] mod media_engine_test; use crate::peer_connection::sdp::{ codecs_from_media_description, rtp_extensions_from_media_description, diff --git a/rtc/src/peer_connection/configuration/mod.rs b/rtc/src/peer_connection/configuration/mod.rs index cef0dd67..0346932b 100644 --- a/rtc/src/peer_connection/configuration/mod.rs +++ b/rtc/src/peer_connection/configuration/mod.rs @@ -749,41 +749,7 @@ mod test { } } - /*TODO:#[test] fn test_configuration_json() { - - let j = r#" - { - "iceServers": [{"URLs": ["turn:turn.example.org"], - "username": "jch", - "credential": "topsecret" - }], - "iceTransportPolicy": "relay", - "bundlePolicy": "balanced", - "rtcpMuxPolicy": "require" - }"#; - - conf := Configuration{ - ICEServers: []ICEServer{ - { - URLs: []string{"turn:turn.example.org"}, - Username: "jch", - Credential: "topsecret", - }, - }, - ICETransportPolicy: ICETransportPolicyRelay, - BundlePolicy: BundlePolicyBalanced, - RTCPMuxPolicy: RTCPMuxPolicyRequire, - } - - var conf2 Configuration - assert.NoError(t, json.Unmarshal([]byte(j), &conf2)) - assert.Equal(t, conf, conf2) - - j2, err := json.Marshal(conf2) - assert.NoError(t, err) - - var conf3 Configuration - assert.NoError(t, json.Unmarshal(j2, &conf3)) - assert.Equal(t, conf2, conf3) - }*/ + // test_configuration_json was Go code that was never ported to Rust. + // A Rust equivalent would deserialize RTCConfiguration from JSON and round-trip it. + // This can be added as a proper #[test] if JSON serialization is a desired feature. } diff --git a/rtc/src/peer_connection/sdp/mod.rs b/rtc/src/peer_connection/sdp/mod.rs index 7ee23f1d..548d472b 100644 --- a/rtc/src/peer_connection/sdp/mod.rs +++ b/rtc/src/peer_connection/sdp/mod.rs @@ -144,8 +144,9 @@ //! [RFC 8829]: https://datatracker.ietf.org/doc/html/rfc8829 //! [W3C WebRTC Specification]: https://w3c.github.io/webrtc-pc/#session-description-model -//TODO: #[cfg(test)] -//TODO: mod sdp_test; +// sdp_test.rs imports crate::api::APIBuilder which belongs to the old async API and does not +// exist in this sans-IO crate. Enabling it requires porting the test file to the new API. +// #[cfg(test)] mod sdp_test; pub(crate) mod sdp_type; pub(crate) mod session_description;