Skip to content

feat: add verify --basic flag to run a fast test subset#518

Open
ian-flores wants to merge 6 commits into
mainfrom
verify-basic-flag
Open

feat: add verify --basic flag to run a fast test subset#518
ian-flores wants to merge 6 commits into
mainfrom
verify-basic-flag

Conversation

@ian-flores

Copy link
Copy Markdown
Collaborator

Summary

Closes #400.

vip verify runs the full suite on every invocation, including detailed/long-running Workbench checks (IDE extension installation, job execution, Git operations, publishing to Connect) that aren't needed for a quick confidence check. This adds a --basic flag that runs only the core subset by excluding tests tagged @slow.

Approach

A denylist that mirrors the existing --performance-tests opt-in mechanism, inverted. A new slow pytest marker is registered; --basic appends and not slow to the pytest -m marker expression. It composes with --categories (e.g. vip verify --categories workbench --basic runs the Workbench category minus its slow scenarios). The mechanism is product-agnostic — any feature can be tagged @slow.

Today the @slow set is the four heavy Workbench features. A --basic run still exercises auth, IDE launch, sessions, runtime versions, packages, data sources, and Chronicle.

Changes

  • Register the slow marker in both src/vip/plugin.py and pyproject.toml.
  • Add --basic to vip verify and apply and not slow in both marker-expression branches.
  • Tag test_ide_extensions, test_jobs, test_git_ops, and test_publish_to_connect with @slow.
  • Document the flag and marker in docs/test-architecture.md, README.md, and AGENTS.md/CLAUDE.md.

Testing

  • just check clean (ruff lint + format).
  • New selftests: marker registration, --basic adds/omits not slow, composition with --categories, @slow deselection under -m "not slow", and a membership guard asserting the four files are tagged and Chronicle is not.
  • Full selftest suite passes apart from pre-existing flaky timing tests in selftests/test_load_engine.py (unrelated to this change).

Copilot AI review requested due to automatic review settings July 21, 2026 22:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a fast “confidence check” mode to VIP by introducing a --basic flag for vip verify that excludes scenarios tagged @slow, letting users run a smaller core subset without the longest Workbench checks.

Changes:

  • Registers a new slow pytest marker and tags the four heavy Workbench feature files with @slow.
  • Extends vip verify with --basic, composing it into the existing pytest -m marker-expression logic (including --categories).
  • Adds selftests validating marker registration, deselection behavior, and the CLI marker-expression assembly; updates user/docs guidance.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/vip/plugin.py Registers the new slow marker at runtime via the VIP pytest plugin.
src/vip/cli.py Adds --basic to vip verify and appends and not slow to the marker expression.
src/vip_tests/workbench/test_publish_to_connect.feature Tags the feature as @slow so it’s excluded by --basic.
src/vip_tests/workbench/test_jobs.feature Tags the feature as @slow so it’s excluded by --basic.
src/vip_tests/workbench/test_ide_extensions.feature Tags the feature as @slow so it’s excluded by --basic.
src/vip_tests/workbench/test_git_ops.feature Tags the feature as @slow so it’s excluded by --basic.
selftests/test_plugin.py Adds selftests for marker registration and -m "not slow" deselection.
selftests/test_gherkin.py Adds a guard asserting the intended Workbench features are tagged @slow (and Chronicle isn’t).
selftests/test_cli_verify.py Adds selftests ensuring --basic modifies the assembled pytest -m expression and composes with --categories.
README.md Documents vip verify --basic as a fast confidence check.
pyproject.toml Registers the slow marker in pytest ini options for repo-root runs.
docs/test-architecture.md Documents --basic semantics and how @slow tagging works across categories.
AGENTS.md Updates “Key source files” notes to mention the new marker/flag behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions

Copy link
Copy Markdown

@ian-flores
ian-flores requested a review from samcofer July 21, 2026 22:53
@ian-flores

Copy link
Copy Markdown
Collaborator Author

@samcofer I'd like your opinion here on the suite of tests supported under --basic

@ian-flores
ian-flores marked this pull request as ready for review July 21, 2026 22:53
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.

[Feature] Add a --basic-test flag or something similar that will allow me to exclude some of the more detailed checks

2 participants