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
101 lines
2.3 KiB
Markdown
101 lines
2.3 KiB
Markdown
---
|
|
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`):
|
|
|
|
```bash
|
|
cd build && make -j$(nproc) amdsmitst
|
|
```
|
|
|
|
### Run Tests
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
cd tests/python_unittest
|
|
python3 -m pytest -v
|
|
```
|
|
|
|
<!-- ### CLI Tests
|
|
|
|
```bash
|
|
cd amdsmi_cli
|
|
python3 -m pytest -v
|
|
``` -->
|
|
|
|
### Import Verification
|
|
|
|
```bash
|
|
# 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)
|
|
|
|
```bash
|
|
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
|