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

robotframework_rzsbc-1.0.2.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

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

robotframework_rzsbc-1.0.2-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

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

Hashes for robotframework_rzsbc-1.0.2.tar.gz
Algorithm Hash digest
SHA256 1682a83de3728c67fee036d1661ab296ca5658a463363ce2df730aede3e7273f
MD5 867a8cc3466ee88c8c88763ae1dab1e2
BLAKE2b-256 9710091bd1e24dc19b83f6e940209908aae3b0ebaae93806578c57d09ea4f2ac

See more details on using hashes here.

File details

Details for the file robotframework_rzsbc-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_rzsbc-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7bb53da8db8d783f734a9a6abae29969a97fe20f8a09dfe6d1b52b17453acd5b
MD5 edc2ddd641468363e65f224ba7a5b43b
BLAKE2b-256 f99082b76ea7ac88b7a825e128f01793041668a75746e7b4e01d6fa0dff83e3b

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