Skip to content

[pcode] refactor lifting scripts that use the Ghidra API for testability and maintainability, add tests and test environment, and add them into CI#96

Merged
kaoudis merged 1 commit into
mainfrom
kaoudis/pcode-gen-correctness-tests
Jul 31, 2025
Merged

[pcode] refactor lifting scripts that use the Ghidra API for testability and maintainability, add tests and test environment, and add them into CI#96
kaoudis merged 1 commit into
mainfrom
kaoudis/pcode-gen-correctness-tests

Conversation

@kaoudis

@kaoudis kaoudis commented Jun 10, 2025

Copy link
Copy Markdown
Contributor
  • adds a "test" container that pulls in additional dependencies the customer / end user doesn't need (Ghidra source and Ghidra test dependencies, and some test firmwares)
  • adds that test container into CI
  • refactors the Ghidra pcode extraction and serialization scripts for maintainability and testability
  • starts adding unit tests
  • adds Jacoco so we can calculate test coverage on demand (we have at least a little coverage for everything now)
  • fixes a number of small but impactful bugs in serialization that were caught through code reading and adding tests (I can go back through the previous commit list before I squashed and list them here if desired)

@kaoudis
kaoudis requested a review from kumarak June 10, 2025 13:33
@kaoudis
kaoudis requested a review from xlauko as a code owner June 10, 2025 13:33
@kaoudis
kaoudis force-pushed the kaoudis/pcode-gen-correctness-tests branch from c04f87a to f7507bc Compare July 28, 2025 20:06
@kaoudis kaoudis changed the title [wip] pcode gen correctness tests [pcode] refactor lifting scripts that use the Ghidra API for testability and maintainability, add tests and test environment, and add them into CI Jul 28, 2025
Comment thread .github/workflows/ci.yml Outdated
Comment thread scripts/ghidra/build-headless-docker.sh
Comment thread .github/workflows/ci.yml

@kumarak kumarak left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The PR looks good and includes much needed refactoring of high pcode serializer. It seems CI is failing because of missing docker image and serializer unit tests is raise exception could be due to related reason. Should be ready to go after fixing CI.

Comment thread .github/workflows/ci.yml Outdated
…ity and maintainability, add tests and test environment, and add them into CI
@kaoudis
kaoudis force-pushed the kaoudis/pcode-gen-correctness-tests branch from 17004a4 to 6078f93 Compare July 31, 2025 15:46
@kaoudis
kaoudis merged commit 8b22550 into main Jul 31, 2025
4 checks passed
@kaoudis
kaoudis deleted the kaoudis/pcode-gen-correctness-tests branch July 31, 2025 16:10
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.

2 participants