Skip to content

Support multiple cargo pgrx test filters#2345

Open
eeeebbbbrrrr wants to merge 1 commit into
developfrom
cargo-pgrx-test-multi
Open

Support multiple cargo pgrx test filters#2345
eeeebbbbrrrr wants to merge 1 commit into
developfrom
cargo-pgrx-test-multi

Conversation

@eeeebbbbrrrr

Copy link
Copy Markdown
Contributor

Allow cargo pgrx test to accept multiple trailing test-name filters, matching the way agents and users naturally invoke commands like:

    cargo pgrx test --package xyz pg18 test_a test_b test_n

Previously clap accepted only one TESTNAME positional, so additional filters failed during CLI parsing with an unexpected argument error before cargo-pgrx could run tests.

This changes the test command to collect TESTNAME... positionals, preserve the existing optional leading pgXX/all selector behavior, and forward filters to libtest after -- as substring filters:

    cargo test ... -- test_a test_b test_n

That keeps a single cargo test invocation per selected PostgreSQL version and uses libtest's native multi-filter support instead of fanning out repeated cargo invocations or treating the filters as a regex.

The README help snippet now documents TESTNAME..., and focused unit coverage verifies parsing, non-version shorthand handling, pg selector handling, and the generated cargo test argv shape.

Allow cargo pgrx test to accept multiple trailing test-name filters, matching the way agents and users naturally invoke commands like:

    cargo pgrx test --package xyz pg18 test_a test_b test_n

Previously clap accepted only one TESTNAME positional, so additional filters failed during CLI parsing with an unexpected argument error before cargo-pgrx could run tests.

This changes the test command to collect TESTNAME... positionals, preserve the existing optional leading pgXX/all selector behavior, and forward filters to libtest after -- as substring filters:

    cargo test ... -- test_a test_b test_n

That keeps a single cargo test invocation per selected PostgreSQL version and uses libtest's native multi-filter support instead of fanning out repeated cargo invocations or treating the filters as a regex.

The README help snippet now documents TESTNAME..., and focused unit coverage verifies parsing, non-version shorthand handling, pg selector handling, and the generated cargo test argv shape.

Verified with:

    cargo test -p cargo-pgrx command::test
    cargo run -p cargo-pgrx -- pgrx test --help
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant