Robot Framework-based testing framework for Renesas RZ boards
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file robotframework_rzsbc-1.0.2.tar.gz.
File metadata
- Download URL: robotframework_rzsbc-1.0.2.tar.gz
- Upload date:
- Size: 15.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1682a83de3728c67fee036d1661ab296ca5658a463363ce2df730aede3e7273f
|
|
| MD5 |
867a8cc3466ee88c8c88763ae1dab1e2
|
|
| BLAKE2b-256 |
9710091bd1e24dc19b83f6e940209908aae3b0ebaae93806578c57d09ea4f2ac
|
File details
Details for the file robotframework_rzsbc-1.0.2-py3-none-any.whl.
File metadata
- Download URL: robotframework_rzsbc-1.0.2-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bb53da8db8d783f734a9a6abae29969a97fe20f8a09dfe6d1b52b17453acd5b
|
|
| MD5 |
edc2ddd641468363e65f224ba7a5b43b
|
|
| BLAKE2b-256 |
f99082b76ea7ac88b7a825e128f01793041668a75746e7b4e01d6fa0dff83e3b
|