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 robotframework-rzsbc 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| robotframework_rzsbc-1.0.2.tar.gz | 15.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| robotframework_rzsbc-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.6 kB
Release files / robotframework_rzsbc-1.0.2.tar.gz
| Download URL | robotframework_rzsbc-1.0.2.tar.gz |
|---|---|
| Size | 15.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1682a83de3728c67fee036d1661ab296ca5658a463363ce2df730aede3e7273f
|
|
BLAKE2b-256 checksum How to use checksums |
9710091bd1e24dc19b83f6e940209908aae3b0ebaae93806578c57d09ea4f2ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / robotframework_rzsbc-1.0.2-py3-none-any.whl
| Download URL | robotframework_rzsbc-1.0.2-py3-none-any.whl |
|---|---|
| Size | 6.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7bb53da8db8d783f734a9a6abae29969a97fe20f8a09dfe6d1b52b17453acd5b
|
|
BLAKE2b-256 checksum How to use checksums |
f99082b76ea7ac88b7a825e128f01793041668a75746e7b4e01d6fa0dff83e3b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|