python-tests

द्वारा nvidia

NeMo Fabric के लिए Python टेस्ट; टेस्ट लिखते समय इसका उपयोग करें

npx skills add https://github.com/nvidia/nemo-fabric --skill python-tests

Python Test Style

  • Pytest is used to run tests.
  • Do not add @pytest.mark.asyncio to any test. Async tests are automatically detected and run by the async runner; the decorator is unnecessary clutter.
  • Do not add a -> None return type annotation to test functions. This is not a common convention in pytest and adds unnecessary verbosity.
  • When mocking a class, do not define a new class. Use unittest.mock.MagicMock or unittest.mock.AsyncMock, with the spec constructor argument when necessary.
  • The name of the mocked class should be prefixed with mock, not fake.
  • Prefer pytest fixtures over helper methods.
  • Do not repeat fixtures, if a fixture is needed in multiple test files, place it in a conftest.py file.
  • When creating a fixture follow this pattern:
    @pytest.fixture(name="<fixture_name>"[, scope="<scope>"])
    def <fixture_name>_fixture() -> <return_type>:
        ...
    
    Only specify the scope argument when the value is something other than "function".
  • Prefer pytest.mark.parametrize over creating individual tests for different input types.
  • If a fixture is needed for a test, but either does not return a value or the value is not used in the test, use the @pytest.mark.usefixtures decorator.
  • tests/conftest.py contains a restore_environ_fixture fixture that restores the environment variables to their original state after each test, it is defined with autouse=True so it is automatically applied to all tests. If you need to modify the environment variables in a test, do so using os.environ and the fixture will restore them after the test completes. There is no need to use monkeypatch.setenv to modify environment variables in tests.
  • Avoid defensive programming in tests. If a test fails, it should fail loudly and clearly, rather than silently passing due to defensive checks. For example
    data = results["data"]
    
    is preferred over
    data = results.get("data")
    
    Simply allow the resulting KeyError to be raised if the "data" key is not present in the results dictionary, as this will provide a clear indication of what went wrong in the test.

Common Commands

# Focused test loop
uv run pytest -k "<pattern>"

# Run all tests
uv run pytest

Do Not Write Tests For

  • Documentation.
  • Test helper code under tests/_utils/.
  • Package metadata or wheel installation behavior.

References

  • pyproject.toml
  • tests/conftest.py

nvidia की और Skills

fhir-basics
nvidia
एजेंटों को सिखाता है कि FHIR R4 APIs कैसे काम करते हैं, कौन से संसाधन उपलब्ध हैं, उन्हें खोज मापदंडों के साथ कैसे क्वेरी करें, और सभी प्रतिक्रिया प्रारूपों को सही ढंग से कैसे पार्स करें…
compileiq-validate-result
nvidia
खोज पूरी होने के बाद और किसी स्पीडअप का दावा करने या ACF भेजने से पहले उपयोग करें। dump_results CSV लोड करता है, शीर्ष-K उम्मीदवारों (एकल-उद्देश्य) को निकालता है…
changelog-audit
nvidia
रिलीज़ से पहले Warp CHANGELOG.md का ऑडिट करें: खोई हुई प्रविष्टियाँ पुनर्प्राप्त करें, उपयोगकर्ता प्रभाव के अनुसार क्रमबद्ध करें, प्रविष्टि भाषा को परिष्कृत करें, लाइन-रैप करें, और (रिलीज़-ब्रांच मोड) तुलना बढ़ाएँ…
dgx-diagnose
nvidia
सामान्य DGX Station GB300 समस्याओं का निदान करें — CUDA क्रैश, गलत-GPU लक्ष्यीकरण, vLLM/SGLang कंटेनर बग, MIG स्थिति समस्याएं, NVLink/Fabric Manager त्रुटियां,…
aicr-managing-openvex
nvidia
Use when adding, updating, or removing CVE/GHSA suppressions in `.openvex.json` — the OpenVEX document consumed by the daily image vulnerability scan workflow.…
aicr-creating-slide-decks
nvidia
किसी तकनीकी अवधारणा या कार्यप्रवाह के लिए स्व-निहित HTML स्लाइड डेक या दृश्य वार्ता-बिंदु (जैसे demos/*.html) बनाते समय उपयोग करें — पूर्ण-स्क्रीन दिखाया जाए या…
aicr-creating-guided-demos
nvidia
एक इंटरैक्टिव निर्देशित डेमो स्क्रिप्ट (demos/*.sh) तैयार करता है, लाइव या स्व-गति, Frame → Tell → Show → Close पैटर्न के साथ। "demo script", "guided… पर सक्रिय होता है।
aicr-analyzing-snapshots
nvidia
AICR स्नैपशॉट YAML फ़ाइल का विश्लेषण करते समय, क्लस्टर स्थिति की समीक्षा करते समय, प्रदाता विशेषताओं की तुलना करते समय, GPU/नेटवर्क टोपोलॉजी अंतर्दृष्टि निकालते समय, या... उपयोग करें।