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 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)

Source distribution for robotframework-rzsbc 1.0.2
File Size Uploaded
robotframework_rzsbc-1.0.2.tar.gz 15.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for robotframework-rzsbc 1.0.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.2 This release

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