Skip to content

Skribe-based fuzz tests for DPPM#2

Open
bbyalcinkaya wants to merge 7 commits intomainfrom
skribe-test
Open

Skribe-based fuzz tests for DPPM#2
bbyalcinkaya wants to merge 7 commits intomainfrom
skribe-test

Conversation

@bbyalcinkaya
Copy link
Copy Markdown
Member

This PR adds Skribe-based fuzz tests for DPPM by porting an existing test written with the Rust proptest library.

The original test did not run against the Wasm execution environment and did not execute with blockchain-specific host function access. This PR partially reimplements the test in Skribe, enabling direct Wasm-level execution with blockchain semantics.

@bbyalcinkaya
Copy link
Copy Markdown
Member Author

How to run

Install skribe

kup install skribe --version ui-ux-improvements # install the latest feature branch

Clone the repo and switch to this branch

git clone git@github.com:runtimeverification/skribe_9lives.so.git
cd skribe_9lives.so
git checkout skribe-test

Build the contract. This script builds the 9lives DPPM contract with additional test endpoints.

./build-skribe.sh 

Build the test contracts. This command builds the Foundry test contracts in the workspace. Since there is a foundry.toml file in the project root, skribe automatically picks the Solidity tests.

skribe build

Run tests

skribe run

Some tests may fail, but the main test to verify is TestSkribeEndToEnd.test_end_to_end_intense

TestNineLivesPaymaster.testBurnEndToEnd      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1/1     0:00:00 Passed
TestNineLivesPaymaster.testMintEndToEnd      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1/1     0:00:00 Passed
TestNineLivesPaymaster.testWithdrawEndToEnd  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1/1     0:00:00 Passed
TestNineLivesPaymaster.testWithdrawEndToEnd2 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   1/100 0:00:02 Failed
TestShare.testName   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   1/100 0:00:00 Failed
TestShare.testSymbol ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1/1     0:00:00 Passed
TestSkribeEndToEnd.test_end_to_end_intense ━━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  12/100 0:00:10 Running

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.

1 participant