Skip to content

Test CLE under Pyodide - #704

Open
zardus wants to merge 2 commits into
masterfrom
pyodide-ci
Open

Test CLE under Pyodide#704
zardus wants to merge 2 commits into
masterfrom
pyodide-ci

Conversation

@zardus

@zardus zardus commented Jul 22, 2026

Copy link
Copy Markdown
Member

Adds a Pyodide CI job analogous to PyVEX CI. It builds the PyVEX WebAssembly wheel, builds CLE and archinfo wheels, installs them into a Pyodide virtualenv, and runs the CLE test suite.

The branch currently includes the commits from #703 because importing current master under Pyodide fails in the optional UEFI backend. Those commits will disappear from this diff when #703 merges.

Tandem PRs:

@angr-bot

Copy link
Copy Markdown
Member

Corpus decompilation diffs can be found at angr/dec-snapshots@master...angr/cle_704

@ltfish

ltfish commented Jul 24, 2026

Copy link
Copy Markdown
Member

Please rebase your branch on top of master!

@zardus

zardus commented Jul 24, 2026

Copy link
Copy Markdown
Member Author

THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS

Rebased pyodide-ci onto current master in 3da83bc3. The three stacked commits from #703 were dropped because their aggregate patch is already present in merged commit dff2e1ed; the two #704 commits remain patch-identical.

Validation: the exact rebased CLE checkout passes with 200 passed and 9 skipped, all pre-commit hooks pass under Python 3.12, the complete workspace gate passes, and all 20 fresh PR checks are green, including Pyodide.


import pytest

pytestmark = pytest.mark.skipif(sys.platform == "emscripten", reason="subprocesses are unavailable in Pyodide")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks unused, but even if it was it should be unittest

Comment thread tests/test_clemory.py
import timeit

import cffi
import pytest

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Convert this to unittest instead of using pytest

Comment thread .github/workflows/ci.yml
ci:
uses: angr/ci-settings/.github/workflows/angr-ci.yml@master

pyodide:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use uv with its tool.uv.sources to checkout all of the repos we need instead of doing this manually? And then instead of building wheels, can we do a uv sync with the right platform config set, and run our tests in that environment?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants