test(cli): add CLI structure tests for nano3 and super3#149
test(cli): add CLI structure tests for nano3 and super3#149Doondi-Ashlesh wants to merge 8 commits into
Conversation
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>
|
Hi, following up on this PR, I would like to get your review when you get a chance. |
|
@claude Can you review please? |
|
@claude did you fall asleep? Review please! |
|
Thanks @chrisalexiuk-nvidia for looking into this PR. Much appreciated! |
|
I didn't forget about this, Doondi! @claude - wya bro, please review. |
|
/claude review |
|
Yay! Let's GOOOOO |
|
@chrisalexiuk-nvidia A quick heads up: the failing It's failing on two broken links that already exist on
Both point to old DataDesigner pages that now 404. Looks like they moved to Want me to put up a small separate PR to fix those links, or would you rather handle it on Thanks! |
Summary
typer.testing.CliRunner-based structure tests for thenano3andsuper3CLI command treestests/recipes/embed/test_cli.pypattern--helpexits cleanly — catching registration errors (e.g. missing subpackages like the one fixed indatasubcommand missing for super3 #100) before they reach usersTest coverage
nano3 (
tests/recipes/nano3/test_cli.py)pretrain,sft,rl,eval,pipe,data,modeldata prepsubcommands:pretrain,sft,rldata importsubcommands:pretrain,sft,rlsuper3 (
tests/recipes/super3/test_cli.py)pretrain,sft,rl,eval,pipe,data,modelrlsubcommands:rlvr,swe1,swe2,rlhfdata prepsubcommands:pretrain,sft,rldata importsubcommands:pretrain,sft,rlTest plan
pytest tests/recipes/nano3/test_cli.py -vpassespytest tests/recipes/super3/test_cli.py -vpasses