Build(deps): bump mockable from 0.3.0 to 3.0.0#401
Conversation
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
38368b8 to
34e3e8f
Compare
|
@dependabot recreate |
Bumps mockable from 0.3.0 to 3.0.0. --- updated-dependencies: - dependency-name: mockable dependency-version: 3.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
34e3e8f to
54f45a2
Compare
|
@coderabbitai Please investigate the cause of the following issue using codegraph exploration and research, identify a fix and provide an AI coding agent prompt for the fix: |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' '== Relevant repository files =='
fd -a '^(Cargo\.toml|Cargo\.lock|env_path_tests\.rs)$' .
printf '%s\n' '== Rust code map =='
ast-grep outline tests/env_path_tests.rs --items all 2>/dev/null || true
ast-grep outline . --type function,struct,trait --match 'Env|MockEnv|Path' 2>/dev/null || true
printf '%s\n' '== Test and manifest excerpts =='
for f in $(fd -a '^(Cargo\.toml|env_path_tests\.rs)$' .); do
echo "--- $f"
cat -n "$f"
done
printf '%s\n' '== Lockfile packages and dependency edges for mockable =='
python3 - <<'PY'
from pathlib import Path
import re
text = Path("Cargo.lock").read_text()
for block in re.split(r'\n(?=\[\[package\]\])', text):
if re.search(r'^name = "(?:mockable|[^"]+)"$', block, re.M) and 'mockable' in block:
print(block.strip())
print()
PY
printf '%s\n' '== All relevant source references =='
rg -n -C 4 '\b(mockable|MockEnv|Env|\.raw\s*\()' -g '*.rs' -g 'Cargo.toml' -g 'Cargo.lock' .Length of output: 177341 🤖 web_search executed:
Length of output: 12240 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' '== Local test-support manifest and environment helper =='
cat -n test_support/Cargo.toml
sed -n '1,330p' test_support/src/env.rs
sed -n '1,110p' tests/env_path_tests.rs
sed -n '1,100p' tests/ninja_env_tests.rs
printf '%s\n' '== Exact Cargo.lock reverse dependencies for mockable =='
python3 - <<'PY'
from pathlib import Path
import tomllib
lock = tomllib.loads(Path("Cargo.lock").read_text())
packages = lock["package"]
for target in ("0.3.0", "3.0.0"):
print(f"\nmockable {target}:")
for package in packages:
if package["name"] == "mockable" and package["version"] == target:
print(" resolved:", package)
print(" required by:")
for package in packages:
matches = [
dep for dep in package.get("dependencies", [])
if dep == "mockable" or dep.startswith(f"mockable {target}")
]
if matches:
print(f" {package['name']} {package['version']}: {matches}")
PY
printf '%s\n' '== All mockable imports and MockEnv factory/use sites =='
rg -n -C 3 '^\s*use\s+mockable::|mockable::(?:Env|MockEnv)|\bmocked_path_env\s*\(|\bMockEnv::new\s*\(' \
-g '*.rs' -g 'Cargo.toml' .
printf '%s\n' '== Pull request file changes =='
gh pr view 401 --repo leynos/netsuke --json files --jq '.files[] | "\(.path): +\(.additions) -\(.deletions)"'Length of output: 17626
Update Fix both affected integration-test paths, not only the reported Line 15 call:
Use this coding-agent prompt: |
The mockable 3.0 bump updated only the workspace manifest, leaving test_support pinned to 0.3. The lockfile then resolved two mockable versions, so `test_support::EnvMut` was implemented for the 0.3 `MockEnv` while tests supplied the 3.0 `MockEnv` — a distinct type — yielding unsatisfied-trait-bound and missing-`raw` errors. Bump test_support to mockable 3.0 so the whole workspace shares one version. mockable 3.0 also makes `DefaultEnv` a unit struct without a `new` constructor, so add a `system_env()` helper and route the `SystemEnv::new()` call sites through it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bumps mockable from 0.3.0 to 3.0.0.