Robot Framework testing harness for the theia/artheia stack.
Project description
rf-theia
A Robot Framework + TPT testing harness for Theia / Artheia: a reusable,
pip-installable library that drives the live supervisor, reads the Tracer.hh
feed, regression-tests the artheia generators, and asserts end-to-end signal
flow across Functional Clusters.
This repo is the harness only — the reusable library. The .robot scenarios
that test a specific Theia live in the consuming project (e.g. theia at
testing/scenarios/) and import this library as rf_theia.TheiaTestLibrary.
Install
Into the consuming workspace's venv:
pip install -e /path/to/rf-theia[mcp,dev]
# or, from a deb install: pip install --find-links /opt/theia/wheels rf-theia
Writing a scenario
The harness exposes one Robot library, rf_theia.TheiaTestLibrary — a single
entry point with prefixed keyword families (T Sup for the supervisor, T Sig
for signal/trace flow) plus direct TPT idioms:
*** Settings ***
Library rf_theia.TheiaTestLibrary
*** Test Cases ***
State machine reaches RUNNING
Load Rig central
Start State Machine sm
Emit Event sm Ready
Wait For State sm RUNNING within=5s
Assert Healthy sm within=10s
Verdict PASS
[Teardown] Tear Down Rig
Keywords cover: rig load/teardown, supervisor control (start/stop/restart
children, configure trace/log), state-machine drive (Emit Event,
Wait For State), and trace/signal assertions over the live Tracer.hh stream.
MCP server (Claude Code)
run_mcp.sh launches an MCP server exposing the harness — run_scenario,
list_scenarios, list_keywords, analyze_trace, … It resolves the consuming
repo's scenario tree from the environment:
| Var | Meaning | Default |
|---|---|---|
RF_THEIA_WORKSPACE |
the consuming workspace root (holds the .venv) |
the dir holding rf-theia/ |
RF_THEIA_SCENARIOS |
the .robot scenario tree |
$RF_THEIA_WORKSPACE/testing/scenarios |
Point the workspace's .mcp.json at rf-theia/run_mcp.sh.
Layout
rf_theia/
TheiaTestLibrary.py the single Robot library entry point
adapters/ supervisor gRPC, tracer JSONL decode, the MCP server
runtime/ testkit/ tpt_engine/ assessment/ space/
pyproject.toml the rf-theia package (console scripts: rf-theia-mcp)
run_mcp.sh MCP launcher (resolves the consuming repo's scenarios)
Consumed as a git submodule mounted at rf-theia/ in the umbrella repo.
License
Apache-2.0 — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rf_theia-0.2.0.tar.gz.
File metadata
- Download URL: rf_theia-0.2.0.tar.gz
- Upload date:
- Size: 71.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6902a0054de7965486083bb7314ac5dbfd8199b8be06f0d9341280e4b5310db
|
|
| MD5 |
8a0e491047aa390ae9dd1bb1c473c967
|
|
| BLAKE2b-256 |
0b1fd22ad05109bc17d4f51b43d0ecef677c9aa350a4c331c5718853304b89e6
|
File details
Details for the file rf_theia-0.2.0-py3-none-any.whl.
File metadata
- Download URL: rf_theia-0.2.0-py3-none-any.whl
- Upload date:
- Size: 86.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b42dc4b26f037a1e8e9a90053d62d8c71aa8efe81e839ef1167cdb2cc32d3ff0
|
|
| MD5 |
1f5f6d45936c5a0eb17736723223e74c
|
|
| BLAKE2b-256 |
466e36650ff7da32145c67ad4175c08edc0a5c0ade593f26555523560c7753e4
|