Fabric System and CI tests
The fabric-system-tests
repository contains automated test scripts for validating the functionality and performance of the FABRIC testbed. These tests are designed to run daily and systematically to ensure the stability and reliability of the system.
fabric-system-tests/
├── tests/
│ ├── base_test.py # Base class for common test utilities
│ ├── __init__.py # Package initializer
│ ├── daily/ # Daily regression and validation tests
│ │ ├── slice_helper.py # Helper functions for managing slices
│ │ ├── test_iPerf.py # Tests for iPerf performance
│ │ ├── output/ # Directory for test output files
│ │ ├── __init__.py # Package initializer for daily tests
│ │ ├── node_tools/ # Utility scripts for node management
│ └── system/ # System-level validation tests
│ ├── test_fpga_slice.py # FPGA slice validation
│ ├── test_persistent_storage_slice.py # Persistent storage slice tests
│ ├── test_l2ptp_slice.py # L2 point-to-point slice tests
│ ├── test_l2bridge_slice.py # L2 bridge slice tests
│ ├── test_l2sts_slice.py # L2 stitched slice tests
│ ├── test_nvme_slice.py # NVMe slice validation
│ ├── test_fabnet_v6_ext.py # IPv6 external FABNet tests
│ ├── test_fabnet_v4_ext_renew_slice.py # IPv4 external FABNet slice renewal
│ ├── test_gpu_slice.py # GPU slice validation
│ ├── test_mf_lib_slice.py # Managed file library slice tests
│ ├── test_modify_slice.py # Slice modification tests
│ ├── test_l3rt_slice.py # L3 route slice validation
│ ├── test_al2s_slice.py # AL2S slice validation
│ └── gpu_files/ # Supporting files for GPU tests
- Python 3.8 or higher
- Required Python packages (install using
pip install -r requirements.txt
) - Access to the FABRIC environment
- Clone the repository:
git clone https://github.com/yourusername/fabric-system-tests.git cd fabric-system-tests
- Install dependencies:
pip install -r requirements.txt
Run the daily tests located in the tests/daily/
directory:
pytest tests/daily
Run the system-level tests located in the tests/system/
directory:
pytest tests/system
To run a specific test script, specify its path:
pytest tests/system/test_fpga_slice.py
- Test results are logged to the
output/
directory within the respective test folder. - Logs and detailed reports are available for debugging and analysis.
- Fork the repository.
- Create a feature branch:
git checkout -b feature-branch
- Commit your changes:
git commit -m "Add a meaningful commit message"
- Push to the branch:
git push origin feature-branch
- Create a pull request.
This project is licensed under the MIT License. See the LICENSE
file for details.