Skip to content

everypinio/hardpy

Repository files navigation

HardPy

HardPy

HardPy is a python library for creating a test bench for devices.


Documentation: https://everypinio.github.io/hardpy/

Source Code: https://github.com/everypinio/hardpy

PyPi: https://pypi.org/project/hardpy/


Overview

HardPy allows you to:

  • Create test benches for devices using pytest;
  • Use a browser to view, run, and stop tests;
  • Store test results in the CouchDB database.

To Install

pip3 install hardpy

Examples

Find examples of using the HardPy in the examples folder.

Getting Started

CouchDB

This is a simple instruction for Linux. For Windows, follow the instructions from the documentation.

Launch CouchDB with Docker. The Docker version must be 24.0.0 or higher. Create couchdb.ini file:

[chttpd]
enable_cors=true

[cors]
origins = *
methods = GET, PUT, POST, HEAD, DELETE
credentials = true
headers = accept, authorization, content-type, origin, referer, x-csrf-token

Run the Docker container from folder with couchdb.ini file:

docker run --rm --name couchdb -p 5984:5984 -e COUCHDB_USER=dev -e COUCHDB_PASSWORD=dev -v ./couchdb.ini:/opt/couchdb/etc/local.ini couchdb:3.3

Command for Windows:

docker run --rm --name couchdb -p 5984:5984 -e COUCHDB_USER=dev -e COUCHDB_PASSWORD=dev -v .\couchdb.ini:/opt/couchdb/etc/local.ini couchdb:3.3.2

Test steps

Add simple test to tests folder

# test_1.py
import pytest

def test_one():
    assert True

Operator panel

Launch hardpy-panel from tests folder or launch hardpy-panel tests and open page http://localhost:8000/ in browser.

hardpy operator panel

Test report

The last test report is stored in runstore database, document - current. You can view the CouchDB instance through Fauxton web interface: http://localhost:5984/_utils

hardpy runstore