Repository navigation
test: update e2e expectations after version validation moved earlier - #14920
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Entire-Checkpoint: 01M5MNN7Y2AXYS6NX185PX2NJK
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
[Low impact] This test-only PR appears safe to merge. SummaryUpdates three end-to-end tests for version checks that now reject unsafe inputs earlier.
No actionable issues found. Review was based on code inspection; tests were not run. Reviews (1) · Last reviewed commit: "test: update e2e expectations after vers..." · Reviewed by Greptile |
Instruction counts
No instruction-count regression above 1%. Only instruction counts gate. Wall clock is shown for context — on identical hardware it moves 4-20% run to run. Measured by tak — instruction-counted CLI benchmarks, stored in this repository's git notes.
|
<!-- entire-trail-link-start --> https://entire.com/gh/jdx/-/trails/2718/changes/mise/998 <!-- entire-trail-link-end --> ### 🚀 Features - **(config)** expose mise_config_dir to templates by @jdx in [#14886](#14886) - **(lsp)** send semantic tokens for tasks, tools, env vars and templates by @jdx in [#14918](#14918) ### 🐛 Bug Fixes - **(lock)** rebuild lockfiles completely by default by @jdx in [#14893](#14893) - **(pipx)** list git+ssh github.com sources over ssh when GitHub can't see them by @jdx in [#14905](#14905) - **(python)** stop uv_venv_auto from fork-bombing through python shims by @jdx in [#14927](#14927) - **(task)** apply extended template usage to file tasks by @jdx in [#14888](#14888) - **(task)** quote and escape header values written by tasks add --file by @xucian in [#14925](#14925) - **(uninstall)** remove installs whose directories deny their owner writes by @HengYangDS in [#14883](#14883) - **(upgrade)** don't downgrade date-versioned tools with leading zeros by @jdx in [#14923](#14923) ### 📚 Documentation - tell agents not to edit the vendored aqua registry by @jdx in [#14910](#14910) ### 🧪 Testing - update e2e expectations after version validation moved earlier by @jdx in [#14920](#14920) - pin java relock e2e to a fully published Temurin line by @jdx in [#14940](#14940) ### 📦️ Dependency Updates - bump ctutils to 0.4.5 by @jdx in [#14887](#14887) - update aube to v2.8.2 by @renovate[bot] in [#14889](#14889) - update rust crate clx to v3.0.5 by @renovate[bot] in [#14890](#14890) - ignore RUSTSEC-2026-0387 in cargo-deny by @jdx in [#14939](#14939) ### Ci - retry snapcraft upload on transient store errors by @jdx in [#14909](#14909) ### Security - **(backend)** keep untrusted values out of subprocess arguments and the project directory by @jdx in [#14896](#14896) - **(backend)** keep archive contents and release asset names inside the install directory by @jdx in [#14895](#14895) - **(backend)** validate versions and names that become paths or URL segments by @jdx in [#14901](#14901) - **(backend)** tighten SLSA signer and GitHub attestation checks by @jdx in [#14904](#14904) - **(backend)** make SLSA, attestation and signed-checksum checks fail closed by @jdx in [#14908](#14908) - **(backend)** reject SLSA provenance built from another tag by @jdx in [#14924](#14924) - **(completion)** stop shell completion from running untrusted task code by @jdx in [#14898](#14898) - **(config)** tie trust to the right files for worktrees, symlinks and config dirs by @jdx in [#14902](#14902) - **(config)** close safe-mode gaps for lazy tools, deps, S3, bin_path and templates by @jdx in [#14900](#14900) - **(config)** stop treating help, shims, hooks and config writes as consent to trust by @jdx in [#14903](#14903) - **(config)** keep untrusted repo content from hanging or crashing hook-env by @jdx in [#14916](#14916) - **(github)** send forge tokens only to their API host and harden release caches by @jdx in [#14913](#14913) - **(hooks)** render hook commands once and keep templates out of written versions by @jdx in [#14897](#14897) - **(http)** bound response, download and archive sizes and slow response bodies by @jdx in [#14915](#14915) - **(install)** enforce pinned checksums and node signatures instead of falling back by @jdx in [#14899](#14899) - **(lockfile)** stop lockfiles, tool stubs and the task cache from reaching outside the repo by @jdx in [#14906](#14906) - **(packslip)** pin signers by repository ID and stop release-age backdating by @jdx in [#14912](#14912) - **(task)** close sandbox escapes in --allow-write, --deny-net and --deny-write, and OCI whiteouts by @jdx in [#14911](#14911) - keep credentials out of install paths, lockfiles, logs and redirects by @jdx in [#14917](#14917) ### New Contributors - @xucian made their first contribution in [#14925](#14925) - @HengYangDS made their first contribution in [#14883](#14883) ## 📦 Aqua Registry Updates ### New Packages (5) - [`Future-Element/pinset`](https://github.com/Future-Element/pinset) - [`bronto-community/bronto-cli`](https://github.com/bronto-community/bronto-cli) - [`faberlang/releases/faber`](https://github.com/faberlang/releases) - [`muvon/octomind`](https://github.com/muvon/octomind) - [`pratyay360/ensor`](https://github.com/pratyay360/ensor) ### Updated Packages (5) - [`anomalyco/opencode`](https://github.com/anomalyco/opencode) - [`duckdb/duckdb`](https://github.com/duckdb/duckdb) - [`grafana/gcx`](https://github.com/grafana/gcx) - [`grafana/mcp-grafana`](https://github.com/grafana/mcp-grafana) - [`magefile/mage`](https://github.com/magefile/mage)
https://entire.com/gh/jdx/mise/trails/1022
Three e2e tests on main fail since the security fixes landed together. #14901 now rejects a tool version that starts with
/, or that contains template or shell characters, while parsing arguments. Some assertions added by #14896 and #14897 expected each backend's own, later error for those same inputs. The inputs are still refused; only the message changed.This updates the tests so they keep proving the inputs are refused and have no side effects, and keeps each backend's own check covered:
test_npm_registry_version_spec: an absolute path accepts either refusal. A newnpm:left-pad@./payloadcase passes the general version check and still reaches the npm backend's "not a version, range or dist-tag" check. The test also asserts that nothing was installed.test_ruby_build_runs_outside_project: an absolute path accepts either refusal. A newruby@./jruby-9.4.5.0case, naming a file planted in the project, still gets ruby's "a build definition name cannot be a path" and never reaches ruby-build.test_upgrade_bump_template_version: theexec()version is now refused at install, before anything is written. The test checks thatmise.tomlis unchanged, that the payload never ran and that nothing was installed. A second tool offers2.0.0{{env.…}}, which has template syntax but no forbidden characters, so the config-write check is still what refuses it, for bothupgrade --bumpanduse --pin.These three tests, plus
test_resolved_version_path_safety, pass on this branch. No Rust code changed.AI-assisted — Tool: Claude Code; model: anthropic/claude-opus-5-5; version: 2.1.308.
🤖 Generated with Claude Code
Summary by CodeRabbit
ruby-build.