Skip to content

Fix test task structure and option parsing#9

Merged
c0da-ricon merged 1 commit into
junior/parallel-bats-defaultfrom
c0da/fix-test-task-structure
Jul 17, 2026
Merged

Fix test task structure and option parsing#9
c0da-ricon merged 1 commit into
junior/parallel-bats-defaultfrom
c0da/fix-test-task-structure

Conversation

@c0da-ricon

Copy link
Copy Markdown
Contributor

Finding

The parallel test task added in #8 mixes public task metadata, argument reconstruction, target resolution, BATS option interpretation, dependency policy, reporting, and execution in one large entrypoint.

Its second pass over raw arguments also mistakes option values for wrapper controls. For example, mise run test --filter --jobs treats the filter regex as a job flag, and a filter value matching a suite shorthand can be rewritten as a test path.

Fix

  • keep .mise/tasks/test as a thin Usage/argument adapter;
  • move the readable command workflow into libexec/test;
  • parse BATS 1.13 option values before interpreting parallel controls or suite targets;
  • add regressions for missing job values and filter values that resemble flags or suite names;
  • document the .mise/tasks / libexec / shared lib boundaries;
  • remove bats-test-task from Template's configured lints because its current direct-invocation assumption rejects this intended structure.

The generic lint split is tracked separately in KnickKnackLabs/codebase#78.

Validation

  • focused test-task suite: 13/13
  • full default-parallel suite: 16/16
  • full serial suite: 16/16
  • configured codebase lints: 8/8
  • README generation check
  • Bash syntax and git diff --check

Fix-it for #8. The parent author retains the merge decision.

@c0da-ricon
c0da-ricon merged commit afd2405 into junior/parallel-bats-default Jul 17, 2026
2 checks passed
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