-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add ABI fuzz tests and dependencies #993
Conversation
The PR that actually runs fuzz tests: |
// (c) 2019-2023, Ava Labs, Inc. All rights reserved. | ||
// See the file LICENSE for licensing terms. | ||
|
||
//go:build fuzz |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a g++/cppgc link problem with v8go package in test runs: https://github.com/ava-labs/subnet-evm/actions/runs/6866130434/job/18671676772?pr=993.
I did not want to change our whole build flags just because of this tests, as these will run every day with fuzz.yml
CI flow. So I just ignored this in build in tests and added specific fuzz
tag.
@@ -51,6 +51,7 @@ require ( | |||
golang.org/x/time v0.1.0 | |||
google.golang.org/protobuf v1.31.0 | |||
gopkg.in/natefinch/lumberjack.v2 v2.0.0 | |||
rogchap.com/v8go v0.9.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately I had to add this as a new dependency because goja
only supports ES5+ and ethers
library is not ES5 compatible. I tried my luck with transpilers + polyfilly but couldn't really get it working with goja.
Why this should be merged
Adds ABI package pack vs Ethers (JS library) Pack fuzz tests.
Closes: #769
How this works
abi
packagePack()
and Ether'sEncodeValue
functions.v8go
library to run JSEthers
library.How this was tested
Adds fuzz tests.
How is this documented
No need.