| name | amdsmi-test-runner |
| description | 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
python3 -c "import amdsmi; print(amdsmi.__version__)"
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