Skip to main content

RZ-CI Robot Framework

A comprehensive Robot Framework-based testing framework for Renesas RZ boards.

PyPI version Python versions License: MIT

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

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests for new functionality
  5. Run the test suite
  6. Commit your changes (git commit -m 'Add amazing feature')
  7. Push to the branch (git push origin feature/amazing-feature)
  8. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For issues and questions:

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)

Source distribution for rz-ci-robot-framework 1.0.1
File Size Uploaded
rz_ci_robot_framework-1.0.1.tar.gz 20.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rz-ci-robot-framework 1.0.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page