Files
TheRock/rocm-systems/projects/amdsmi/.claude/skills/amdsmi-test-runner/SKILL.md
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

2.3 KiB

name, description
name description
amdsmi-test-runner Run C++ and Python tests for amd-smi. Use when: running tests, verifying test results, checking test coverage, pre-review test validation.

Test Runner — amd-smi

How to build and run all test suites for amd-smi. Assumes the amdsmi-build-install skill has already been executed (build exists and is installed).

Prerequisites

  • amd-smi built and installed (run amdsmi-build-install skill first)
  • AMD GPU hardware available for integration tests
  • build/ directory exists with compiled test binaries

C++ Tests (GTest)

Build Test Binary

If not already built (the build skill builds with -DBUILD_TESTS=ON):

cd build && make -j$(nproc) amdsmitst

Run Tests

cd build/tests
source ../../tests/amd_smi_test/amdsmitst.exclude
source ../../tests/amd_smi_test/detect_asic_filter.sh
./amdsmitst --gtest_filter="-${GTEST_EXCLUDE}"

Interpret Results

Output Meaning Severity
[ PASSED ] Test passed —
[ FAILED ] Test failed ❌ BLOCKING
[ SKIPPED ] Test skipped (blacklisted) —
Binary not found Build didn't produce test binary ⚠️ IMPORTANT

Python Tests

Unit Tests

cd tests/python_unittest
python3 -m pytest -v

Import Verification

# System install
python3 -c "import amdsmi; print(amdsmi.__version__)"

# Verify CLI works
amd-smi version
amd-smi static

Test Contexts

Tests must work in both install contexts:

Context How to Verify
System install (RPM/DEB) Default after amdsmi-build-install

Running All Tests (One-Shot)

cd build/tests && \
source ../../tests/amd_smi_test/amdsmitst.exclude && \
source ../../tests/amd_smi_test/detect_asic_filter.sh && \
./amdsmitst --gtest_filter="-${GTEST_EXCLUDE}" && \
cd ../../tests/python_unittest && python3 -m pytest -v

Output

On success, report:

  • C++ tests: X passed, Y failed, Z skipped
  • Python tests: X passed, Y failed
  • Any new test failures compared to baseline

On failure:

  • Which suite failed (C++ GTest, Python unit, CLI)
  • Specific test names that failed
  • Test output for failed tests
  • Test failures are ❌ BLOCKING for the review