runtimeverification / kasmer-multiversx

Wasm semantics for the Elrond/MultiversX blockchain network
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Booster Tests #94

Open bbyalcinkaya opened 5 months ago

bbyalcinkaya commented 5 months ago

Introduction

The booster tests serve the purpose of testing the performance of the prover by running various claims where the booster might abort or get stuck.

Each booster test consists of two main components:

Example test configuration:

{
    "inputs": ["BigUint", "BigUint"],
    "aborted": 2,
    "stuck": 0
}

In this example, the test has two BigUint parameters and is expected to encounter 2 aborts and 0 stucks during execution.

Running the tests

Follow these instructions from inside the kmxwasm directory.

Install the dependencies

poetry install

Running all booster tests

make test-booster

Alternatively, you can execute them directly using Poetry:

poetry run pytest src/tests/booster

Running a specific test:

To run a specific test, you can use the -k flag along with the test name:

make test-booster TEST_ARGS='-k bigIntAdd'
#or
poetry run pytest src/tests/booster -k bigIntAdd

Creating Bug Reports

You can create bug reports by running the tests with the --bug-report flag.

poetry run pytest src/tests/booster --bug-report --bug-report-dir <output-directory>
poetry run pytest src/tests/booster -k bigIntAdd --bug-report --bug-report-dir <output-directory>