Skip to main content

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.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rz_ci_robot_framework-1.0.1.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rz_ci_robot_framework-1.0.1-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file rz_ci_robot_framework-1.0.1.tar.gz.

File metadata

  • Download URL: rz_ci_robot_framework-1.0.1.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for rz_ci_robot_framework-1.0.1.tar.gz
Algorithm Hash digest
SHA256 590e97bb20d48a98ac7403ecfc7f3e48a31409b21aca1e10adb7c55e78cf6695
MD5 6bc42c3263d8048877b5a91e7631a3dc
BLAKE2b-256 2d6960821769b183a12b9b28b1d29d17ae220dd495e144813b52354329c19ecc

See more details on using hashes here.

File details

Details for the file rz_ci_robot_framework-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for rz_ci_robot_framework-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ddc97cc9c8fd20c463d34102f879d1216126c88de87d2c26810c04adc26ea133
MD5 cccf614197128169d4e310eda8924673
BLAKE2b-256 5b274198a3df52dbb8ae72d2d2f27992c38398a3a3dcb1adac724235ba76eb1d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page