Repository navigation
merge queue: checking main (8684911) and #209 together - #211
Closed
mergify[bot] wants to merge 8 commits into
Closed
mergify[bot] wants to merge 8 commits into
mergify[bot] wants to merge 8 commits into
Conversation
Add three boolean shorthands for the most common reverse-engineering tag filters: --imports (import), --exports (export), --symbols (demangled symbols). Each is behaviorally equivalent to the corresponding --only-tags value, conflicts with --only-tags and --raw at parse time, and composes with --no-tags via a resolved include set (Cli::resolved_include_tags). The runtime include/exclude overlap check and its error message are generalized to cover the resolved include set, not just --only-tags. Closes #208. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
Move the resolved include-tag vec into with_include_tags instead of cloning it (the earlier overlap borrow is dead under NLL), and drop the inline comment that restated the helper's doc comment. No behavior change. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
Move the --imports/--exports/--symbols tests into a dedicated integration_cli_convenience_flags.rs (keeps integration_cli.rs under the 500-line guideline). Run equivalence tests against test_binary_elf, which has non-zero import (81) and export (9) rows -- the previous PE fixture had zero exports, making the export/union assertions vacuous. Guard --symbols against aliasing --imports/--exports (no fixture has demangled rows), assert non-empty output where tags exist, and cover all six flag/conflict pairs. Sync the mdBook CLI reference with the three new flags. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
Add fixture-independent unit tests for Cli::resolved_include_tags() so the --symbols -> DemangledSymbol mapping (and the three-flag union) is falsifiable even though no fixture yields demangled-tagged rows. Strengthen the --help test to assert each flag's --only-tags shorthand line, and parameterize the --no-tags compatibility test across all three flags. Document --raw's full conflict set (now including the convenience flags) in AGENTS.md and the mdBook CLI reference, and clarify the resolved_include_tags doc that the convenience mechanism may combine several flags into a union. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
User-facing messages rendered tags with Debug (`Import`) instead of the CLI form users type (`import`): the --no-tags overlap error and the TTY summary's Top-tags line. Make Tag a clap ValueEnum so the canonical names live once in #[value(name = ...)] attributes; route FromStr through ValueEnum (single source) and add a Display impl that renders the canonical name via PossibleValue. Switch both Debug display sites to Display, and collapse the duplicate 25-arm tag_to_display_string helper (identical output) onto Display so the table, summary, error message, and parser all share one mapping. The arg parsers keep value_parser = <Tag as FromStr>::from_str, so --help and parsing behavior are unchanged; JSON serde serialization is untouched. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
- main.rs: switch --only-tags/--no-tags to clap value_enum now that Tag derives ValueEnum (matches --enc); removes the hand-rolled from_str value_parser and the manual long_help tag list (clap now generates possible values). (CodeRabbit) - main.rs: sort + dedup the overlap error's tag list so repeated --only-tags values produce a stable message. (Copilot) - integration_flows_6_7.rs: tighten the TTY summary assertion to 'url:' so it can't match unrelated text. (Copilot) - AGENTS.md, docs/src/cli.md: qualify the --no-tags compatibility note -- the convenience flags still fail when an excluded tag overlaps the include set; document the overlap check on the --no-tags row. (CodeRabbit) - GOTCHAS.md: update the stale value_parser/from_str notes for value_enum. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
- main.rs: collect the overlapping tag names into a BTreeSet<String> so they are sorted and de-duplicated in one pass, dropping the mutable Vec plus the separate sort()/dedup() calls. (CodeRabbit) Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
3 of 15 tasks
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎉 This pull request has been checked successfully and will be merged soon. 🎉
Branch main (8684911) and #209 are queued together for merge.
This pull request has been created by Mergify to check the mergeability of #209.
You don't need to do anything. Mergify will close this pull request automatically when it is complete.
Required conditions of queue rule
defaultfor merge:check-success = coveragecheck-success = msrv (stable minus 1 releases)check-success = msrv (stable minus 2 releases)check-success = msrv (stable minus 3 releases)check-success = msrv (stable minus 4 releases)check-success = msrv (stable)check-success = qualitycheck-success = testcheck-success = test-cross-platform (macos-latest, macOS)check-success = test-cross-platform (ubuntu-latest, Linux)check-success = test-cross-platform (windows-latest, Windows)github-code-owner-review-satisfied[🛡 GitHub repository ruleset rulemain]github-code-owner-review-satisfied[🛡 GitHub repository ruleset ruleossf_best_practices]github-review-approved[🛡 GitHub repository ruleset rulemain]github-review-approved[🛡 GitHub repository ruleset ruleossf_best_practices]Do not merge outdated PRs]:#commits-behind <= 10Enforce conventional commit]:title ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert)(?:\(.+\))?:Full CI must pass]:check-success = coveragecheck-success = msrv (stable minus 1 releases)check-success = msrv (stable minus 2 releases)check-success = msrv (stable minus 3 releases)check-success = msrv (stable minus 4 releases)check-success = msrv (stable)check-success = qualitycheck-success = testcheck-success = test-cross-platform (macos-latest, macOS)check-success = test-cross-platform (ubuntu-latest, Linux)check-success = test-cross-platform (windows-latest, Windows)main]:check-neutral = @mergify/Mergify Merge Protectionscheck-skipped = @mergify/Mergify Merge Protectionscheck-success = @mergify/Mergify Merge ProtectionsRequired conditions to stay in the queue:
github-code-owner-review-satisfied[🛡 GitHub repository ruleset rulemain]github-code-owner-review-satisfied[🛡 GitHub repository ruleset ruleossf_best_practices]github-review-approved[🛡 GitHub repository ruleset rulemain]github-review-approved[🛡 GitHub repository ruleset ruleossf_best_practices]Do not merge outdated PRs]:#commits-behind <= 10Enforce conventional commit]:title ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert)(?:\(.+\))?:Full CI must pass]:check-success = coveragecheck-success = msrv (stable minus 1 releases)check-success = msrv (stable minus 2 releases)check-success = msrv (stable minus 3 releases)check-success = msrv (stable minus 4 releases)check-success = msrv (stable)check-success = qualitycheck-success = testcheck-success = test-cross-platform (macos-latest, macOS)check-success = test-cross-platform (ubuntu-latest, Linux)check-success = test-cross-platform (windows-latest, Windows)main]:check-success = @mergify/Mergify Merge Protectionscheck-neutral = @mergify/Mergify Merge Protectionscheck-skipped = @mergify/Mergify Merge Protections