robotframework/robotframework

Initial GraalPython support

Open

#5,347 创建于 2025年2月21日

在 GitHub 查看
 (4 评论) (0 反应) (0 负责人)Python (2,220 fork)batch import
effort: mediumhelp wantedpriority: medium

仓库指标

Star
 (8,672 star)
PR 合并指标
 (平均合并 1天 3小时) (30 天内合并 1 个 PR)

描述

GraalPython from https://github.com/oracle/graalpython seems to work well enough so that official support for RobotFramework would be useful.

GraalPython allows for better testing of JVM based APIs, given that GraalPython itself runs on JVM and supports inheriting from Java classes, in a similar way as Jython did in RF 4.

The upcoming release 25 of GraalPython seems to have fixed outstanding issues the prevented running RFs own regression tests.

Using the early access release: https://github.com/graalvm/graal-languages-ea-builds/releases/download/graalpy-25.0.0-ea.09/graalpy-25.0.0-ea.09-linux-amd64.tar.gz On RedHat 9.5 I got 6768 tests, 6622 passed, 146 failed

Notes on running the RF acceptance tests with GraalPython:

Assumes graal-python unpacked in current dir, as well as robotframework source:

Create a virtual env with GraalPy:

./graalpy-25.0.0-dev-linux-amd64/bin/python -m venv genv source genv/bin/activate pip install -r robotframework/atest/requirements.txt # If gcc, patch, libxml2-devel and libxslt-devel are installed, lxml should compile for fine for GraalPy deactivate

Run with CPython virtual env, where robotframework/atest/requirements-run.txt have been installed (jsonschema failed to install for GraalPy)

cd robotframework python atest/run.py --interpreter ../genv/bin/python

Note that graalpython startup is slow and many tests are very short, so this make cumulative execution time for the tests slow.

贡献者指南