@chainsafe/eth2.0-spec-test-util

Spec test suite generator from yaml test files

Usage no npm install needed!

<script type="module">
  import chainsafeEth20SpecTestUtil from 'https://cdn.skypack.dev/@chainsafe/eth2.0-spec-test-util';
</script>

README

eth2.0-spec-test-util

Mocha / Chai utility for interacting with eth2.0 spec tests

API

describeSpecTest

Run yaml Eth2.0 spec tests for a certain function Compares actual vs expected for all test cases

Parameters

  • testYamlPath string path to yaml spec test
  • testFunc Function function to use to generate output
  • getInput Function function to convert test case into input array (optional, default testCase=>testCase.input)
  • getExpected Function function to convert test case into a comparable expected output (optional, default testCase=>testCase.output)
  • getActual Function function to convert function output into comparable actual output (optional, default result=>result)
  • shouldError Function function to convert test case into a boolean, if the case should result in an error (optional, default (testCase,index,testSpec)=>false)
  • shouldSkip Function function to convert test case into a boolean, if the case should be skipped (optional, default (testCase,index,testSpec)=>false)
  • expectFunc Function function to run expectations against expected and actual output (optional, default (testCase,expect,expected,actual)=>expect(actual).to.be.equal(expected))

Profiling

Set env variable GEN_PROFILE_DIR with path to directory where you wish your cpu profiles to be generated.