This commit is contained in:
James Peter
2025-11-16 10:50:50 +10:00
parent 280a0032a1
commit 36b2287c32
3 changed files with 72 additions and 6 deletions
+65
View File
@@ -323,6 +323,21 @@ dependencies = [
"serde_json",
]
[[package]]
name = "assert_cmd"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bcbb6924530aa9e0432442af08bbcafdad182db80d2e560da42a6d442535bf85"
dependencies = [
"anstyle",
"bstr",
"libc",
"predicates",
"predicates-core",
"predicates-tree",
"wait-timeout",
]
[[package]]
name = "async-broadcast"
version = "0.7.2"
@@ -604,6 +619,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4"
dependencies = [
"memchr",
"regex-automata",
"serde",
]
@@ -1126,6 +1142,7 @@ dependencies = [
"agent-client-protocol",
"anyhow",
"askama",
"assert_cmd",
"async-channel",
"async-trait",
"base64 0.22.1",
@@ -1995,6 +2012,12 @@ version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
[[package]]
name = "difflib"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
[[package]]
name = "diffy"
version = "0.4.2"
@@ -4547,6 +4570,33 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
[[package]]
name = "predicates"
version = "3.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573"
dependencies = [
"anstyle",
"difflib",
"predicates-core",
]
[[package]]
name = "predicates-core"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa"
[[package]]
name = "predicates-tree"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c"
dependencies = [
"predicates-core",
"termtree",
]
[[package]]
name = "pretty_assertions"
version = "1.4.1"
@@ -6260,6 +6310,12 @@ dependencies = [
"windows-sys 0.60.2",
]
[[package]]
name = "termtree"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683"
[[package]]
name = "textwrap"
version = "0.11.0"
@@ -7090,6 +7146,15 @@ dependencies = [
"quote",
]
[[package]]
name = "wait-timeout"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11"
dependencies = [
"libc",
]
[[package]]
name = "walkdir"
version = "2.5.0"
+1
View File
@@ -107,6 +107,7 @@ windows-sys = { version = "0.61.2", features = [
] }
[dev-dependencies]
assert_cmd = { workspace = true }
filetime = { workspace = true }
maplit = { workspace = true }
serial_test = "3.2.0"
+6 -6
View File
@@ -22,7 +22,7 @@ These tests exist in `codex-rs/` but not in `code-rs/`:
| Test File | Coverage Area | Code-rs Replacement | Gap Status |
|-----------|---------------|---------------------|------------|
| `model_tools.rs` | Model tool selection, SSE tool identifiers | ❌ No replacement | **COVERAGE GAP** - Critical |
| `model_tools.rs` | Model tool selection, SSE tool identifiers | ✅ `code-rs/core/tests/tool_selection.rs` | Coverage restored – ready to delete upstream |
| `read_file.rs` | File reading tool functionality | ❌ No replacement | **COVERAGE GAP** - High |
| `tool_harness.rs` | Tool execution framework | ❌ No replacement | **COVERAGE GAP** - High |
| `tools.rs` | General tool integration tests | ❌ No replacement | **COVERAGE GAP** - High |
@@ -106,7 +106,7 @@ The following test files exist in both trees with equivalent coverage:
- ⚠️ Fork uses different tool router (hybrid approach per migration status)
**Prerequisites for Deletion:**
1. Create `code-rs/core/tests/suite/tool_selection.rs` for model tool tests
1. Create `code-rs/core/tests/tool_selection.rs` for model tool tests
2. Create `code-rs/core/tests/suite/tool_execution.rs` for harness/tools tests
3. Create `code-rs/core/tests/suite/file_tools.rs` for read_file/view_image tests
4. Verify coverage with: `cargo test -p code-core tool`
@@ -211,7 +211,7 @@ cargo run -p code-cli -- chat "show me the image at docs/logo.png"
**Owner:** Core runtime pod
- [ ] **BLOCKED** - Create tool coverage tests in `code-rs/core/tests/suite/`
- [ ] Port `model_tools.rs` → `tool_selection.rs`
- [x] Port `model_tools.rs` → `tool_selection.rs`
- [ ] Port `tool_harness.rs` + `tools.rs` → `tool_execution.rs`
- [ ] Port `read_file.rs` + `view_image.rs` → `file_tools.rs`
- [ ] Port `unified_exec.rs` → enhance `exec.rs` and `exec_stream_events.rs`
@@ -412,7 +412,7 @@ Track these metrics throughout retirement:
- **Functions tested:** 4 tests
- **Key scenarios:** SSE tool completion, model-specific tool selection
- **Dependencies:** Mock SSE server, tool identifier parsing
- **Replacement status:** ❌ Not yet ported
- **Replacement status:** ✅ Ported as `code-rs/core/tests/tool_selection.rs` (2025-11-16)
#### `codex-rs/core/tests/suite/unified_exec.rs`
- **Functions tested:** 2 tests
@@ -435,6 +435,6 @@ Track these metrics throughout retirement:
---
**Last Updated:** 2025-10-05
**Next Review:** 2025-10-20 (Phase 1 kickoff)
**Last Updated:** 2025-11-16
**Next Review:** 2025-11-23 (Phase 1 status check)
**Playbook Status:** 🟡 IN PROGRESS - Awaiting test porting