registry: use inline table for test definitions#8056
Conversation
Change test format from positional array to named fields:
Before: test = ["bat --version", "bat {{version}}"]
After: test = { cmd = "bat --version", expected = "bat {{version}}" }
This makes the test definitions self-documenting since each field
is explicitly named rather than relying on array position.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary of ChangesHello @jdx, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request aims to improve the clarity and maintainability of test definitions within the registry by standardizing their format. By transitioning from an implicit positional array to an explicit named inline table structure for the Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Pull request overview
Updates registry test definitions from positional arrays to named inline tables, and adjusts the Rust registry codegen to parse the new format.
Changes:
- Convert
test = ["cmd", "expected"]totest = { cmd = "...", expected = "..." }across registry TOML files - Update
build.rsregistry parsing to readtest.cmd/test.expectedfrom TOML tables
Reviewed changes
Copilot reviewed 300 out of 512 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| registry/kubeseal.toml | Convert test to inline table with cmd/expected keys |
| registry/kubeone.toml | Convert test to inline table with cmd/expected keys |
| registry/kubent.toml | Convert test to inline table with cmd/expected keys |
| registry/kubefedctl.toml | Convert test to inline table with cmd/expected keys |
| registry/kubectl.toml | Convert test to inline table with cmd/expected keys |
| registry/kubectl-kuttl.toml | Convert test to inline table with cmd/expected keys |
| registry/kubectl-kots.toml | Convert test to inline table with cmd/expected keys |
| registry/kubecolor.toml | Convert test to inline table with cmd/expected keys |
| registry/kscript.toml | Convert test to inline table with cmd/expected keys |
| registry/krab.toml | Convert test to inline table with cmd/expected keys |
| registry/kpack.toml | Convert test to inline table with cmd/expected keys |
| registry/kopia.toml | Convert test to inline table with cmd/expected keys |
| registry/kompose.toml | Convert test to inline table with cmd/expected keys |
| registry/ko.toml | Convert test to inline table with cmd/expected keys |
| registry/kn.toml | Convert test to inline table with cmd/expected keys |
| registry/kind.toml | Convert test to inline table with cmd/expected keys |
| registry/killport.toml | Convert test to inline table with cmd/expected keys |
| registry/ki.toml | Convert test to inline table with cmd/expected keys |
| registry/kcl.toml | Convert test to inline table with cmd/expected keys |
| registry/k6.toml | Convert test to inline table with cmd/expected keys |
| registry/k3s.toml | Convert test to inline table with cmd/expected keys |
| registry/k3kcli.toml | Convert test to inline table with cmd/expected keys |
| registry/k3d.toml | Convert test to inline table with cmd/expected keys |
| registry/k2tf.toml | Convert test to inline table with cmd/expected keys |
| registry/k0sctl.toml | Convert test to inline table with cmd/expected keys |
| registry/jwt.toml | Convert test to inline table with cmd/expected keys |
| registry/just.toml | Convert test to inline table with cmd/expected keys |
| registry/julia.toml | Convert test to inline table with cmd/expected keys |
| registry/jules.toml | Convert test to inline table with cmd/expected keys |
| registry/jsonschema.toml | Convert test to inline table with cmd/expected keys |
| registry/jsonnet-bundler.toml | Convert test to inline table with cmd/expected keys |
| registry/json5.toml | Convert test to inline table with cmd/expected keys |
| registry/jq.toml | Convert test to inline table with cmd/expected keys |
| registry/jmespath.toml | Convert test to inline table with cmd/expected keys |
| registry/jjui.toml | Convert test to inline table with cmd/expected keys |
| registry/jib.toml | Convert test to inline table with cmd/expected keys |
| registry/jd.toml | Convert test to inline table with cmd/expected keys |
| registry/jc.toml | Convert test to inline table with cmd/expected keys |
| registry/jaq.toml | Convert test to inline table with cmd/expected keys |
| registry/istioctl.toml | Convert test to inline table with cmd/expected keys |
| registry/infisical.toml | Convert test to inline table with cmd/expected keys |
| registry/iam-policy-json-to-terraform.toml | Convert test to inline table with cmd/expected keys |
| registry/hwatch.toml | Convert test to inline table with cmd/expected keys |
| registry/httpie-go.toml | Convert test to inline table with cmd/expected keys |
| registry/htmlq.toml | Convert test to inline table with cmd/expected keys |
| registry/hk.toml | Convert test to inline table with cmd/expected keys |
| registry/hivemind.toml | Convert test to inline table with cmd/expected keys |
| registry/hexyl.toml | Convert test to inline table with cmd/expected keys |
| registry/heroku.toml | Convert test to inline table with cmd/expected keys |
| registry/helmwave.toml | Convert test to inline table with cmd/expected keys |
| registry/helmfile.toml | Convert test to inline table with cmd/expected keys |
| registry/helm-ls.toml | Convert test to inline table with cmd/expected keys |
| registry/helm-diff.toml | Convert test to inline table with cmd/expected keys |
| registry/helix.toml | Convert test to inline table with cmd/expected keys |
| registry/haxe.toml | Convert test to inline table with cmd/expected keys |
| registry/hatch.toml | Convert test to inline table with cmd/expected keys |
| registry/has.toml | Convert test to inline table with cmd/expected keys |
| registry/harper-ls.toml | Convert test to inline table with cmd/expected keys |
| registry/harper-cli.toml | Convert test to inline table with cmd/expected keys |
| registry/hadolint.toml | Convert test to inline table with cmd/expected keys |
| registry/gup.toml | Convert test to inline table with cmd/expected keys |
| registry/grype.toml | Convert test to inline table with cmd/expected keys |
| registry/grpc-health-probe.toml | Convert test to inline table with cmd/expected keys |
| registry/gron.toml | Convert test to inline table with cmd/expected keys |
| registry/grex.toml | Convert test to inline table with cmd/expected keys |
| registry/graphite.toml | Convert test to inline table with cmd/expected keys |
| registry/grain.toml | Convert test to inline table with cmd/expected keys |
| registry/gradle.toml | Convert test to inline table with cmd/expected keys |
| registry/gping.toml | Convert test to inline table with cmd/expected keys |
| registry/gomigrate.toml | Convert test to inline table with cmd/expected keys |
| registry/golines.toml | Convert test to inline table with cmd/expected keys |
| registry/golangci-lint-langserver.toml | Convert test to inline table with cmd/expected keys |
| registry/gokey.toml | Convert test to inline table with cmd/expected keys |
| registry/gojq.toml | Convert test to inline table with cmd/expected keys |
| registry/gofumpt.toml | Convert test to inline table with cmd/expected keys |
| registry/godot.toml | Convert test to inline table with cmd/expected keys |
| registry/go-swagger.toml | Convert test to inline table with cmd/expected keys |
| registry/go-junit-report.toml | Convert test to inline table with cmd/expected keys |
| registry/go-getter.toml | Convert test to inline table with cmd/expected keys |
| registry/glen.toml | Convert test to inline table with cmd/expected keys |
| registry/gleam.toml | Convert test to inline table with cmd/expected keys |
| registry/glab.toml | Convert test to inline table with cmd/expected keys |
| registry/gitsign.toml | Convert test to inline table with cmd/expected keys |
| registry/gitleaks.toml | Convert test to inline table with cmd/expected keys |
| registry/github-markdown-toc.toml | Convert test to inline table with cmd/expected keys |
| registry/github-cli.toml | Convert test to inline table with cmd/expected keys |
| registry/gitconfig.toml | Convert test to inline table with cmd/expected keys |
| registry/git-lfs.toml | Convert test to inline table with cmd/expected keys |
| registry/git-cliff.toml | Convert test to inline table with cmd/expected keys |
| registry/ginkgo.toml | Convert test to inline table with cmd/expected keys |
| registry/ghcup.toml | Convert test to inline table with cmd/expected keys |
| registry/ghc.toml | Convert test to inline table with cmd/expected keys |
| registry/ghalint.toml | Convert test to inline table with cmd/expected keys |
| registry/ggshield.toml | Convert test to inline table with cmd/expected keys |
| registry/getenvoy.toml | Convert test to inline table with cmd/expected keys |
| registry/gemini-cli.toml | Convert test to inline table with cmd/expected keys |
| registry/gcloud.toml | Convert test to inline table with cmd/expected keys |
| registry/gator.toml | Convert test to inline table with cmd/expected keys |
| registry/fzf.toml | Convert test to inline table with cmd/expected keys |
| registry/furyctl.toml | Convert test to inline table with cmd/expected keys |
| registry/func-e.toml | Convert test to inline table with cmd/expected keys |
| registry/foundry.toml | Convert test to inline table with cmd/expected keys |
| registry/fnox.toml | Convert test to inline table with cmd/expected keys |
| registry/flyway.toml | Convert test to inline table with cmd/expected keys |
| registry/flux2.toml | Convert test to inline table with cmd/expected keys |
| registry/fluttergen.toml | Convert test to inline table with cmd/expected keys |
| registry/flatc.toml | Convert test to inline table with cmd/expected keys |
| registry/flamingo.toml | Convert test to inline table with cmd/expected keys |
| registry/figma-export.toml | Convert test to inline table with cmd/expected keys |
| registry/fd.toml | Convert test to inline table with cmd/expected keys |
| registry/fastfetch.toml | Convert test to inline table with cmd/expected keys |
| registry/eza.toml | Convert test to inline table with cmd/expected keys |
| registry/etcd.toml | Convert test to inline table with cmd/expected keys |
| registry/esy.toml | Convert test to inline table with cmd/expected keys |
| registry/esc.toml | Convert test to inline table with cmd/expected keys |
| registry/envcli.toml | Convert test to inline table with cmd/expected keys |
| registry/elm.toml | Convert test to inline table with cmd/expected keys |
| registry/editorconfig-checker.toml | Convert test to inline table with cmd/expected keys |
| registry/dvc.toml | Convert test to inline table with cmd/expected keys |
| registry/dust.toml | Convert test to inline table with cmd/expected keys |
| registry/duckdb.toml | Convert test to inline table with cmd/expected keys |
| registry/dua.toml | Convert test to inline table with cmd/expected keys |
| registry/drone.toml | Convert test to inline table with cmd/expected keys |
| registry/dotslash.toml | Convert test to inline table with cmd/expected keys |
| registry/dotenvx.toml | Convert test to inline table with cmd/expected keys |
| registry/dotenv-linter.toml | Convert test to inline table with cmd/expected keys |
| registry/doppler.toml | Convert test to inline table with cmd/expected keys |
| registry/doggo.toml | Convert test to inline table with cmd/expected keys |
| registry/docuum.toml | Convert test to inline table with cmd/expected keys |
| registry/doctl.toml | Convert test to inline table with cmd/expected keys |
| registry/docker-slim.toml | Convert test to inline table with cmd/expected keys |
| registry/docker-compose.toml | Convert test to inline table with cmd/expected keys |
| registry/docker-cli.toml | Convert test to inline table with cmd/expected keys |
| registry/djinni.toml | Convert test to inline table with cmd/expected keys |
| registry/dive.toml | Convert test to inline table with cmd/expected keys |
| registry/difftastic.toml | Convert test to inline table with cmd/expected keys |
| registry/diffoci.toml | Convert test to inline table with cmd/expected keys |
| registry/dhall.toml | Convert test to inline table with cmd/expected keys |
| registry/devcontainer-cli.toml | Convert test to inline table with cmd/expected keys |
| registry/desk.toml | Convert test to inline table with cmd/expected keys |
| registry/depot.toml | Convert test to inline table with cmd/expected keys |
| registry/delta.toml | Convert test to inline table with cmd/expected keys |
| registry/daytona.toml | Convert test to inline table with cmd/expected keys |
| registry/databricks-cli.toml | Convert test to inline table with cmd/expected keys |
| registry/dapr.toml | Convert test to inline table with cmd/expected keys |
| registry/dagu.toml | Convert test to inline table with cmd/expected keys |
| registry/d2.toml | Convert test to inline table with cmd/expected keys |
| registry/curlie.toml | Convert test to inline table with cmd/expected keys |
| registry/ctop.toml | Convert test to inline table with cmd/expected keys |
| registry/cspell.toml | Convert test to inline table with cmd/expected keys |
| registry/crush.toml | Convert test to inline table with cmd/expected keys |
| registry/croc.toml | Convert test to inline table with cmd/expected keys |
| registry/credhub.toml | Convert test to inline table with cmd/expected keys |
| registry/crane.toml | Convert test to inline table with cmd/expected keys |
| registry/cpz.toml | Convert test to inline table with cmd/expected keys |
| registry/cosign.toml | Convert test to inline table with cmd/expected keys |
| registry/coreutils.toml | Convert test to inline table with cmd/expected keys |
| registry/coredns.toml | Convert test to inline table with cmd/expected keys |
| registry/copper.toml | Convert test to inline table with cmd/expected keys |
| registry/copier.toml | Convert test to inline table with cmd/expected keys |
| registry/container.toml | Convert test to inline table with cmd/expected keys |
| registry/container-use.toml | Convert test to inline table with cmd/expected keys |
| registry/conform.toml | Convert test to inline table with cmd/expected keys |
| registry/conduit.toml | Convert test to inline table with cmd/expected keys |
| registry/conan.toml | Convert test to inline table with cmd/expected keys |
| registry/colima.toml | Convert test to inline table with cmd/expected keys |
| registry/codex.toml | Convert test to inline table with cmd/expected keys |
| registry/codeql.toml | Convert test to inline table with cmd/expected keys |
| registry/code.toml | Convert test to inline table with cmd/expected keys |
| registry/cocogitto.toml | Convert test to inline table with cmd/expected keys |
| registry/cocoapods.toml | Convert test to inline table with cmd/expected keys |
| registry/cockroach.toml | Convert test to inline table with cmd/expected keys |
| registry/cmdx.toml | Convert test to inline table with cmd/expected keys |
| registry/cmake.toml | Convert test to inline table with cmd/expected keys (multiline expected) |
| registry/clusterctl.toml | Convert test to inline table with cmd/expected keys |
| registry/clusterawsadm.toml | Convert test to inline table with cmd/expected keys |
| registry/cloudflared.toml | Convert test to inline table with cmd/expected keys |
| registry/cljstyle.toml | Convert test to inline table with cmd/expected keys |
| registry/clj-kondo.toml | Convert test to inline table with cmd/expected keys |
| registry/clickhouse.toml | Convert test to inline table with cmd/expected keys |
| registry/cli53.toml | Convert test to inline table with cmd/expected keys |
| registry/claude.toml | Convert test to inline table with cmd/expected keys |
| registry/claude-squad.toml | Convert test to inline table with cmd/expected keys (multiline expected) |
| registry/claude-powerline.toml | Convert test to inline table with cmd/expected keys |
| registry/clarinet.toml | Convert test to inline table with cmd/expected keys |
| registry/circleci.toml | Convert test to inline table with cmd/expected keys |
| registry/cilium-hubble.toml | Convert test to inline table with cmd/expected keys |
| registry/cilium-cli.toml | Convert test to inline table with cmd/expected keys |
| registry/cidrchk.toml | Convert test to inline table with cmd/expected keys |
| registry/cidr-merger.toml | Convert test to inline table with cmd/expected keys |
| registry/chromedriver.toml | Convert test to inline table with cmd/expected keys |
| registry/choose.toml | Convert test to inline table with cmd/expected keys |
| registry/chisel.toml | Convert test to inline table with cmd/expected keys |
| registry/chicken.toml | Convert test to inline table with cmd/expected keys |
| registry/chezmoi.toml | Convert test to inline table with cmd/expected keys |
| registry/checkov.toml | Convert test to inline table with cmd/expected keys |
| registry/checkmake.toml | Convert test to inline table with cmd/expected keys |
| registry/changie.toml | Convert test to inline table with cmd/expected keys |
| registry/chamber.toml | Convert test to inline table with cmd/expected keys |
| registry/cfssljson.toml | Convert test to inline table with cmd/expected keys |
| registry/cf.toml | Convert test to inline table with cmd/expected keys |
| registry/certstrap.toml | Convert test to inline table with cmd/expected keys |
| registry/ccache.toml | Convert test to inline table with cmd/expected keys |
| registry/carp.toml | Convert test to inline table with cmd/expected keys |
| registry/cargo-make.toml | Convert test to inline table with cmd/expected keys |
| registry/cargo-insta.toml | Convert test to inline table with cmd/expected keys |
| registry/cargo-binstall.toml | Convert test to inline table with cmd/expected keys |
| registry/carapace.toml | Convert test to inline table with cmd/expected keys |
| registry/calicoctl.toml | Convert test to inline table with cmd/expected keys |
| registry/calendarsync.toml | Convert test to inline table with cmd/expected keys |
| registry/caddy.toml | Convert test to inline table with cmd/expected keys |
| registry/cabal.toml | Convert test to inline table with cmd/expected keys |
| registry/bun.toml | Convert test to inline table with cmd/expected keys |
| registry/buildpack.toml | Convert test to inline table with cmd/expected keys |
| registry/buildifier.toml | Convert test to inline table with cmd/expected keys |
| registry/buf.toml | Convert test to inline table with cmd/expected keys |
| registry/btrace.toml | Convert test to inline table with cmd/expected keys |
| registry/btop.toml | Convert test to inline table with cmd/expected keys (complex quoting) |
| registry/brig.toml | Convert test to inline table with cmd/expected keys |
| registry/bpkg.toml | Convert test to inline table with cmd/expected keys |
| registry/boundary.toml | Convert test to inline table with cmd/expected keys |
| registry/bottom.toml | Convert test to inline table with cmd/expected keys |
| registry/bosh.toml | Convert test to inline table with cmd/expected keys |
| registry/bosh-backup-and-restore.toml | Convert test to inline table with cmd/expected keys |
| registry/borg.toml | Convert test to inline table with cmd/expected keys |
| registry/bombardier.toml | Convert test to inline table with cmd/expected keys |
| registry/boilerplate.toml | Convert test to inline table with cmd/expected keys |
| registry/bob.toml | Convert test to inline table with cmd/expected keys |
| registry/blender.toml | Convert test to inline table with cmd/expected keys |
| registry/black.toml | Convert test to inline table with cmd/expected keys |
| registry/bitwarden.toml | Convert test to inline table with cmd/expected keys |
| registry/bitwarden-secrets-manager.toml | Convert test to inline table with cmd/expected keys |
| registry/biome.toml | Convert test to inline table with cmd/expected keys |
| registry/binnacle.toml | Convert test to inline table with cmd/expected keys |
| registry/bibtex-tidy.toml | Convert test to inline table with cmd/expected keys |
| registry/bfs.toml | Convert test to inline table with cmd/expected keys |
| registry/bazelisk.toml | Convert test to inline table with cmd/expected keys |
| registry/bazel.toml | Convert test to inline table with cmd/expected keys |
| registry/bazel-watcher.toml | Convert test to inline table with cmd/expected keys |
| registry/bats.toml | Convert test to inline table with cmd/expected keys |
| registry/bat.toml | Convert test to inline table with cmd/expected keys |
| registry/bat-extras.toml | Convert test to inline table with cmd/expected keys |
| registry/bashbot.toml | Convert test to inline table with cmd/expected keys |
| registry/balena.toml | Convert test to inline table with cmd/expected keys |
| registry/babashka.toml | Convert test to inline table with cmd/expected keys |
| registry/azure.toml | Convert test to inline table with cmd/expected keys |
| registry/azure-kubelogin.toml | Convert test to inline table with cmd/expected keys |
| registry/awsweeper.toml | Convert test to inline table with cmd/expected keys |
| registry/awsrm.toml | Convert test to inline table with cmd/expected keys |
| registry/awsls.toml | Convert test to inline table with cmd/expected keys |
| registry/awsebcli.toml | Convert test to inline table with cmd/expected keys |
| registry/awscli-local.toml | Convert test to inline table with cmd/expected keys |
| registry/aws-sso.toml | Convert test to inline table with cmd/expected keys |
| registry/aws-sam.toml | Convert test to inline table with cmd/expected keys |
| registry/aws-nuke.toml | Convert test to inline table with cmd/expected keys |
| registry/aws-iam-authenticator.toml | Convert test to inline table with cmd/expected keys |
| registry/aws-copilot.toml | Convert test to inline table with cmd/expected keys |
| registry/aws-cli.toml | Convert test to inline table with cmd/expected keys |
| registry/auto-doc.toml | Convert test to inline table with cmd/expected keys |
| registry/atuin.toml | Convert test to inline table with cmd/expected keys |
| registry/atmos.toml | Convert test to inline table with cmd/expected keys |
| registry/atlas.toml | Convert test to inline table with cmd/expected keys |
| registry/atlas-community.toml | Convert test to inline table with cmd/expected keys |
| registry/astro.toml | Convert test to inline table with cmd/expected keys |
| registry/ast-grep.toml | Convert test to inline table with cmd/expected keys |
| registry/assh.toml | Convert test to inline table with cmd/expected keys |
| registry/asciidoctorj.toml | Convert test to inline table with cmd/expected keys |
| registry/argocd.toml | Convert test to inline table with cmd/expected keys |
| registry/argo.toml | Convert test to inline table with cmd/expected keys |
| registry/argo-rollouts.toml | Convert test to inline table with cmd/expected keys |
| registry/argc.toml | Convert test to inline table with cmd/expected keys |
| registry/arduino.toml | Convert test to inline table with cmd/expected keys |
| registry/aqua.toml | Convert test to inline table with cmd/expected keys |
| registry/apollo-rover.toml | Convert test to inline table with cmd/expected keys |
| registry/apollo-router.toml | Convert test to inline table with cmd/expected keys |
| registry/apko.toml | Convert test to inline table with cmd/expected keys |
| registry/ant.toml | Convert test to inline table with cmd/expected keys |
| registry/ansible.toml | Convert test to inline table with cmd/expected keys |
| registry/ansible-core.toml | Convert test to inline table with cmd/expected keys |
| registry/android-sdk.toml | Convert test to inline table with cmd/expected keys |
| registry/amp.toml | Convert test to inline table with cmd/expected keys |
| registry/amazon-ecs-cli.toml | Convert test to inline table with cmd/expected keys |
| registry/amazon-ecr-credential-helper.toml | Convert test to inline table with cmd/expected keys |
| registry/amass.toml | Convert test to inline table with cmd/expected keys |
| registry/alp.toml | Convert test to inline table with cmd/expected keys |
| registry/allurectl.toml | Convert test to inline table with cmd/expected keys |
| registry/allure.toml | Convert test to inline table with cmd/expected keys |
| registry/aks-engine.toml | Convert test to inline table with cmd/expected keys |
| registry/air.toml | Convert test to inline table with cmd/expected keys |
| registry/aichat.toml | Convert test to inline table with cmd/expected keys |
| registry/agebox.toml | Convert test to inline table with cmd/expected keys |
| registry/age.toml | Convert test to inline table with cmd/expected keys |
| registry/age-plugin-yubikey.toml | Convert test to inline table with cmd/expected keys |
| registry/adr-tools.toml | Convert test to inline table with cmd/expected keys |
| registry/actionlint.toml | Convert test to inline table with cmd/expected keys |
| registry/action-validator.toml | Convert test to inline table with cmd/expected keys |
| registry/act.toml | Convert test to inline table with cmd/expected keys |
| registry/aapt2.toml | Convert test to inline table with cmd/expected keys |
| registry/1password.toml | Convert test to inline table with cmd/expected keys |
| build.rs | Update registry parser to read test as a TOML table with cmd/expected keys |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
build.rs
Outdated
| let t = t.as_table().unwrap(); | ||
| ( | ||
| t[0].as_str().unwrap().to_string(), | ||
| t[1].as_str().unwrap().to_string(), | ||
| t["cmd"].as_str().unwrap().to_string(), | ||
| t["expected"].as_str().unwrap().to_string(), |
There was a problem hiding this comment.
unwrap() / table indexing here will panic with very little context if a registry entry has malformed test data. Prefer using get(..) plus expect(..) (or equivalent) with a message that includes the tool name/path and the missing field (e.g., "registry/<tool>.toml: test.cmd must be a string"), so failures are actionable.
| test = { cmd = "cmake --version", expected = """ | ||
| cmake version {{version}} | ||
|
|
||
| CMake suite maintained and supported by Kitware (kitware.com/cmake)."""] | ||
| CMake suite maintained and supported by Kitware (kitware.com/cmake).""" } |
There was a problem hiding this comment.
This uses an inline table for test but embeds a multiline string for expected, which is harder to read/maintain and can be problematic with tools that assume inline tables are single-line. Consider switching just this case to a normal table form (e.g., [test] / test.cmd + test.expected) while keeping inline tables for the simple one-liners.
| '''btop --version | sed -e 's/\x1b\[[0-9;]*m//g'''', | ||
| "btop version: {{version}}", | ||
| ] | ||
| test = { cmd = '''btop --version | sed -e 's/\x1b\[[0-9;]*m//g'''', expected = "btop version: {{version}}" } |
There was a problem hiding this comment.
The cmd value’s quoting looks unbalanced ('''' at the end), which is likely invalid TOML (multi-line literal strings should close with '''). Please fix the quoting so it parses unambiguously (e.g., use a basic string with escaping, or ensure the literal string delimiter is exactly ''' ... ''').
There was a problem hiding this comment.
Code Review
This pull request is a great improvement, refactoring the test definitions in the registry from positional arrays to more descriptive inline tables. This significantly enhances the readability and maintainability of the tool definitions. The changes are applied consistently across the many registry files, and the build script is updated to match. I have one suggestion for build.rs to make the parsing logic more robust with better error messages, which will aid future maintenance and debugging.
build.rs
Outdated
| let t = t.as_table().unwrap(); | ||
| ( | ||
| t[0].as_str().unwrap().to_string(), | ||
| t[1].as_str().unwrap().to_string(), | ||
| t["cmd"].as_str().unwrap().to_string(), | ||
| t["expected"].as_str().unwrap().to_string(), | ||
| ) |
There was a problem hiding this comment.
The use of unwrap() and direct key indexing (t["cmd"]) can cause the build to panic with generic error messages if a test definition in a TOML file is malformed (e.g., missing keys or incorrect value types). This can make it difficult to identify the problematic file.
Using get() and and_then() with unwrap_or_else provides more descriptive panic messages, including the tool name, which will make debugging issues with registry files much easier in the future.
let t = t.as_table().unwrap_or_else(|| panic!("[{short}] 'test' field must be a table"));
let cmd = t
.get("cmd")
.and_then(|v| v.as_str())
.unwrap_or_else(|| panic!("[{short}] 'test.cmd' must be a string"))
.to_string();
let expected = t
.get("expected")
.and_then(|v| v.as_str())
.unwrap_or_else(|| panic!("[{short}] 'test.expected' must be a string"))
.to_string();
(cmd, expected)Use unwrap_or_else with descriptive panic messages including the tool name instead of bare unwrap() calls, making it easier to identify which registry file has a malformed test definition. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Hyperfine Performance
|
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.2.7 x -- echo |
21.9 ± 0.3 | 21.0 | 23.3 | 1.00 |
mise x -- echo |
22.8 ± 2.1 | 21.6 | 65.4 | 1.04 ± 0.09 |
mise env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.2.7 env |
21.4 ± 0.3 | 20.4 | 24.6 | 1.00 |
mise env |
22.0 ± 0.3 | 21.0 | 22.7 | 1.03 ± 0.02 |
mise hook-env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.2.7 hook-env |
22.3 ± 0.3 | 21.4 | 26.2 | 1.00 |
mise hook-env |
22.8 ± 0.3 | 21.7 | 24.2 | 1.02 ± 0.02 |
mise ls
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.2.7 ls |
20.2 ± 1.2 | 19.2 | 34.2 | 1.00 |
mise ls |
20.5 ± 0.3 | 19.4 | 21.9 | 1.02 ± 0.06 |
xtasks/test/perf
| Command | mise-2026.2.7 | mise | Variance |
|---|---|---|---|
| install (cached) | 122ms | 124ms | -1% |
| ls (cached) | 73ms | 74ms | -1% |
| bin-paths (cached) | 78ms | 78ms | +0% |
| task-ls (cached) | 543ms | 545ms | +0% |
### 🚀 Features - **(node)** support package.json as idiomatic version file by @jdx in [#8059](#8059) - **(ruby)** graduate precompiled ruby from experimental (gradual rollout) by @jdx in [#8052](#8052) - add --dry-run-code flag to exit non-zero when there is work to do by @jdx in [#8063](#8063) ### 🐛 Bug Fixes - **(core)** respect MISE_ARCH override in bun and erlang plugins by @jdx in [#8062](#8062) - **(hooks)** resolve 12 community-reported hooks issues by @jdx in [#8058](#8058) - accept key=value format in set/add subcommands by @jdx in [#8053](#8053) ### 📚 Documentation - bump action versions in GitHub Actions examples by @muzimuzhi in [#8065](#8065) - add opengraph meta tags by @jdx in [#8066](#8066) ### 📦️ Dependency Updates - upgrade toml to 0.9 and toml_edit to 0.24 (TOML 1.1) by @jdx in [#8057](#8057) ### 📦 Registry - add quicktype (npm:quicktype) by @zdunecki in [#8054](#8054) - use inline table for test definitions by @jdx in [#8056](#8056)
## Summary
- Changes registry test format from positional array to named inline
table fields
- Before: `test = ["bat --version", "bat {{version}}"]`
- After: `test = { cmd = "bat --version", expected = "bat {{version}}"
}`
- Updates `build.rs` to parse the new table format
- Updates `schema/mise-registry-tool.json` to match
## Test plan
- [x] All 510 registry TOML files validated with Python `tomllib`
- [x] `cargo check` passes
- [x] All pre-commit lints pass (taplo, cargo-check, etc.)
- [x] CI passes
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Medium Risk**
> Large-scale data-format change across many registry entries; any
missed conversion or downstream expectation of the old array shape could
break registry validation or generated code.
>
> **Overview**
> Standardizes registry `test` definitions by migrating from positional
arrays (e.g. `[cmd, expected]`) to an inline TOML table `{ cmd = ...,
expected = ... }` across the registry files.
>
> Updates `build.rs` registry code generation to parse the new table
format, and updates `schema/mise-registry-tool.json` to validate the new
`test` object shape (required `cmd`/`expected`, no extra fields).
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
64d6cb5. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
### 🚀 Features - **(node)** support package.json as idiomatic version file by @jdx in [jdx#8059](jdx#8059) - **(ruby)** graduate precompiled ruby from experimental (gradual rollout) by @jdx in [jdx#8052](jdx#8052) - add --dry-run-code flag to exit non-zero when there is work to do by @jdx in [jdx#8063](jdx#8063) ### 🐛 Bug Fixes - **(core)** respect MISE_ARCH override in bun and erlang plugins by @jdx in [jdx#8062](jdx#8062) - **(hooks)** resolve 12 community-reported hooks issues by @jdx in [jdx#8058](jdx#8058) - accept key=value format in set/add subcommands by @jdx in [jdx#8053](jdx#8053) ### 📚 Documentation - bump action versions in GitHub Actions examples by @muzimuzhi in [jdx#8065](jdx#8065) - add opengraph meta tags by @jdx in [jdx#8066](jdx#8066) ### 📦️ Dependency Updates - upgrade toml to 0.9 and toml_edit to 0.24 (TOML 1.1) by @jdx in [jdx#8057](jdx#8057) ### 📦 Registry - add quicktype (npm:quicktype) by @zdunecki in [jdx#8054](jdx#8054) - use inline table for test definitions by @jdx in [jdx#8056](jdx#8056)
Summary
test = ["bat --version", "bat {{version}}"]test = { cmd = "bat --version", expected = "bat {{version}}" }build.rsto parse the new table formatschema/mise-registry-tool.jsonto matchTest plan
tomllibcargo checkpasses🤖 Generated with Claude Code
Note
Medium Risk
Touches build-time registry code generation and changes the on-disk registry schema; any missed migration or parsing edge case could break registry validation or generated output.
Overview
Switches registry
testmetadata from a positional array ([cmd, expected]) to a named inline table ({ cmd, expected }) across the registry TOML entries.Updates
build.rsregistry codegen to parse the newtesttable shape with clearer validation errors, and updatesschema/mise-registry-tool.jsonto enforce the new object format (requiredcmd/expected, no extra fields).Written by Cursor Bugbot for commit f6e16b8. This will update automatically on new commits. Configure here.