Skip to content

test(cli): add CLI structure tests for nano3 and super3#149

Open
Doondi-Ashlesh wants to merge 8 commits into
NVIDIA-NeMo:mainfrom
Doondi-Ashlesh:nemotron/cli-tests
Open

test(cli): add CLI structure tests for nano3 and super3#149
Doondi-Ashlesh wants to merge 8 commits into
NVIDIA-NeMo:mainfrom
Doondi-Ashlesh:nemotron/cli-tests

Conversation

@Doondi-Ashlesh

Copy link
Copy Markdown
Contributor

Summary

  • Add typer.testing.CliRunner-based structure tests for the nano3 and super3 CLI command trees
  • Mirrors the existing tests/recipes/embed/test_cli.py pattern
  • Verifies every subcommand is importable and --help exits cleanly — catching registration errors (e.g. missing subpackages like the one fixed in data subcommand missing for super3 #100) before they reach users

Test coverage

nano3 (tests/recipes/nano3/test_cli.py)

  • Top-level commands: pretrain, sft, rl, eval, pipe, data, model
  • data prep subcommands: pretrain, sft, rl
  • data import subcommands: pretrain, sft, rl

super3 (tests/recipes/super3/test_cli.py)

  • Top-level commands: pretrain, sft, rl, eval, pipe, data, model
  • rl subcommands: rlvr, swe1, swe2, rlhf
  • data prep subcommands: pretrain, sft, rl
  • data import subcommands: pretrain, sft, rl

Test plan

  • pytest tests/recipes/nano3/test_cli.py -v passes
  • pytest tests/recipes/super3/test_cli.py -v passes
  • No regressions in existing embed CLI tests

Add typer.testing.CliRunner-based tests that verify all nano3 and super3
subcommands are importable and correctly registered. These structural tests
catch missing subpackages (e.g. the super3/data gap fixed in NVIDIA-NeMo#100) before
they reach users, mirroring the existing tests/recipes/embed/test_cli.py
pattern.

Coverage:
- nano3: top-level commands, data prep (pretrain/sft/rl), data import (pretrain/sft/rl)
- super3: top-level commands, rl subcommands (rlvr/swe1/swe2/rlhf),
  data prep (pretrain/sft/rl), data import (pretrain/sft/rl)

Signed-off-by: Doondi-Ashlesh <doondiashlesh@gmail.com>
@Doondi-Ashlesh

Copy link
Copy Markdown
Contributor Author

Hi, following up on this PR, I would like to get your review when you get a chance.
Happy to make any changes if needed.

@chrisalexiuk-nvidia

Copy link
Copy Markdown
Contributor

@claude Can you review please?

@chrisalexiuk-nvidia

Copy link
Copy Markdown
Contributor

@claude did you fall asleep? Review please!

@Doondi-Ashlesh

Doondi-Ashlesh commented May 19, 2026

Copy link
Copy Markdown
Contributor Author

Thanks @chrisalexiuk-nvidia for looking into this PR. Much appreciated!

@chris-alexiuk

Copy link
Copy Markdown
Contributor

I didn't forget about this, Doondi!

@claude - wya bro, please review.

@chrisalexiuk-nvidia

Copy link
Copy Markdown
Contributor

/claude review

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM

@chrisalexiuk-nvidia chrisalexiuk-nvidia self-assigned this May 29, 2026
@Doondi-Ashlesh

Copy link
Copy Markdown
Contributor Author

Yay! Let's GOOOOO

@Doondi-Ashlesh

Doondi-Ashlesh commented Jun 22, 2026

Copy link
Copy Markdown
Contributor Author

@chrisalexiuk-nvidia A quick heads up: the failing build-docs check isn't from this PR. This PR only adds two test files and doesn't touch docs/ at all.

It's failing on two broken links that already exist on main:

  • nemotron/embed/README.md:218
  • sdg/how-to/create-domain-dataset.md:108

Both point to old DataDesigner pages that now 404. Looks like they moved to docs.nvidia.com.

Want me to put up a small separate PR to fix those links, or would you rather handle it on main?

Thanks!

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.

3 participants