RZ-CI Robot Framework
A comprehensive Robot Framework-based testing framework for Renesas RZ boards.
Installation
From PyPI (Recommended)
pip install rz-ci-robot-framework
From Source
git clone https://github.com/renesas/rz-ci-robot-framework.git
cd rz-ci-robot-framework
pip install -e .
Quick Start
# Run tests for rzsbc board
rz-ci-test rzsbc
# Run with custom configuration
python main.py rzsbc --config my_config.yml
# List available features
python -c "from framework.test_handler import TestHandler; TestHandler('rzsbc').list_features()"
Features
- Dynamic Configuration: YAML-based configuration for easy customization
- Multiple Board Support: Support for various RZ board types (rzsbc, rzv2h, etc.)
- Feature Libraries: Pre-built libraries for I2C, SPI, GPIO, CAN, etc.
- Serial Communication: Automated board login and command execution
- Comprehensive Reporting: HTML and XML reports with detailed logs
- Template-based Testing: Parameterized tests for multiple configurations
Supported Features
- I2C: Device detection and communication testing
- SPI: Interface testing and data transfer validation
- GPIO: Pin control and state verification
- CAN: Bus communication testing
- Ethernet: Network connectivity validation
- USB: Device detection and enumeration
- Overlay: Device tree overlay testing
Configuration
Create a config.yml file to define your board configurations:
board_configs:
rzsbc:
enabled: true
serial_port: "/dev/ttyUSB0"
baud_rate: 115200
images:
core-image-bsp:
enabled: true
features:
i2c:
enabled: true
instances:
i2c_0:
enabled: true
i2c_bus: 0
expected_addr: "12"
Usage Examples
Basic Testing
# Test specific board
python main.py rzsbc
# Test with dry run
python main.py rzsbc --dry-run
# Test with custom config
python main.py rzsbc --config custom_config.yml
Python API
from framework.test_handler import TestHandler
# Initialize test handler
handler = TestHandler(board_type='rzsbc')
# List available features
handler.list_features()
# Run tests
result = handler.run_board()
Robot Framework Integration
*** Settings ***
Library libraries/I2CLibrary.py
Library libraries/LoginLibrary.py
*** Test Cases ***
Test I2C Communication
${conn}= Login To Board rzsbc
Init I2C Library ${conn}
${result}= Verify I2C Address Present 0 12
Should Be True ${result}
Development
Setup Development Environment
# Clone repository
git clone https://github.com/renesas/rz-ci-robot-framework.git
cd rz-ci-robot-framework
# Install in development mode
pip install -e .
# Run tests
python main.py rzsbc
Running Tests
# Run individual test
robot test.robot
# Run I2C tests
robot test/i2c/i2c.robot
# Run with specific board type
robot --variable BOARD_TYPE:rzsbc test/i2c/i2c.robot
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for new functionality
- Run the test suite
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For issues and questions:
- GitHub Issues: https://github.com/renesas/rz-ci-robot-framework/issues
- Documentation: https://github.com/renesas/rz-ci-robot-framework/wiki
Changelog
1.0.0 (2024-01-XX)
- Initial release
- Support for I2C, SPI, GPIO, CAN, Ethernet, USB testing
- Dynamic YAML configuration system
- Multiple board support (rzsbc, rzv2h)
- Comprehensive reporting and logging
- Command-line interface
- Robot Framework integration
Metadata
Release files for rz-ci-robot-framework 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rz_ci_robot_framework-1.0.1.tar.gz | 20.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rz_ci_robot_framework-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.1 kB
Release files / rz_ci_robot_framework-1.0.1.tar.gz
| Download URL | rz_ci_robot_framework-1.0.1.tar.gz |
|---|---|
| Size | 20.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
590e97bb20d48a98ac7403ecfc7f3e48a31409b21aca1e10adb7c55e78cf6695
|
|
BLAKE2b-256 checksum How to use checksums |
2d6960821769b183a12b9b28b1d29d17ae220dd495e144813b52354329c19ecc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / rz_ci_robot_framework-1.0.1-py3-none-any.whl
| Download URL | rz_ci_robot_framework-1.0.1-py3-none-any.whl |
|---|---|
| Size | 12.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ddc97cc9c8fd20c463d34102f879d1216126c88de87d2c26810c04adc26ea133
|
|
BLAKE2b-256 checksum How to use checksums |
5b274198a3df52dbb8ae72d2d2f27992c38398a3a3dcb1adac724235ba76eb1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|