Git Product home page Git Product logo

ef-tests's Introduction

About

This repository contains the execution of the EF standard execution layer tests.

The Ethereum Foundation provides a suite of official tests to verify the compliance of EVM clients. Passing all these tests qualifies allows a client to gain confidence on his execution layer. For further information, please refer to the official documentation.

Kakarot is an EVM running within CairoVM, coupled with a RPC, which would make it possible to run these tests using the Ethereum Foundation runner (retesteth). However, in order to limit the possible number of interactions and avoid adding failing points, we develop our own simplified test runner based on Reth's ef-tests runner.

Requirements

  • nextest: to install nextest, run cargo install cargo-nextest --locked
  • A GitHub token in your .env file:
    • Copy the .env.example file to a .env file
    • Create a GitHub token and add it inside the .env file (make sure you have selected the public_repo scope in the repo category).

Setup

In order to set up the repo and start the testing, please follow the below instructions:

  • run make setup
  • run make setup-kakarot

Test execution

To run the whole test suite, execute make ef-test To run a specific test or list of tests, execute TARGET=regular_expression make ef-test where regular_expression allows you to filter on the specific tests you want to run.

Acknowledgement

This repository is heavily inspired by https://github.com/paradigmxyz/reth/tree/main/testing/ef-tests, it uses some code snippets from the Reth codebase and when possible, imports modules and helpers from it.

ef-tests's People

Contributors

khaeljy avatar greged93 avatar tadev0 avatar clementwalter avatar eikix avatar bajpai244 avatar danilowhk avatar ftupas avatar jobez avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.