frostney / frostney/GocciaScript

Filter and list tests by full name and source line

Open
#1,036 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

new feature runtime
Dominant language
Pascal
Stars
20
Forks
3
Avg merge
3d 4h
Merged PRs (30d)
45

Description

Summary

Add native GocciaTestRunner selection and discovery controls for full test names and source declaration lines.

Why

Developers currently have to edit tests with .only or run an entire file to focus a failure. Name, line, and listing controls provide a safe one-shot workflow for editor integrations and local debugging.

Current behavior

The testing library can construct hierarchical full names, but registered test cases do not retain source locations. The runner accepts files/directories and executes every selected file; it has no name pattern, file:line, or list-only mode.

Expected behavior

  • Add a full-name pattern filter, using a documented and consistent match rule.
  • Accept a test file plus declaration line and select the test or suite registered at that location.
  • Add a list-only mode with human-readable and structured JSON output.
  • Preserve full suite ancestry in names and report a clear result when no test matches.
  • Produce equivalent selections in interpreter and bytecode modes, including multifile inputs and --jobs runs.

Scope notes

  • Store common registration metadata rather than parsing test source text in the CLI.
  • The bytecode and interpreter callback representations expose source data differently; the registration surface needs one mode-independent location model.
  • Test tags, projects/workspaces, changed/related selection, and watch mode are separate concerns and out of scope.
  • This does not replace local .only; it provides a runner-native alternative.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with GocciaTestRunner and trace test registration into the interpreter and bytecode callback representations. Define the shared source-location and full-name selection flow, then verify name, file:line, list-only, no-match, multifile, and --jobs behavior in both execution modes.

Written by the indexing model from the issue text.

Assessment

Domain
cli, developer-experience, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.