filecoin-project / chain-validation Goto Github PK
View Code? Open in Web Editor NEW(DEPRECATED) See https://github.com/filecoin-project/test-vectors instead. (was: chain validation tools)
License: Other
(DEPRECATED) See https://github.com/filecoin-project/test-vectors instead. (was: chain validation tools)
License: Other
Implement a test that covers inadequate gas cost to cover return value.
This issue represents writing a set of tests that exercise the payment channel actor in the chain-validation library
As a follow on to #188 we should look for a better resource generation pattern that does not require chain-validation tests to follow a specific naming pattern.
Chain selection tests should assert that implementations select the heaviest chain as their head and that invalid chains are ignored.
try for decent line coverage on all the cases, should be pretty easily doable with just faking blocks
Expose a randomness method implemented by chain-validation over RPC.
Implement test that covers different gas cost charges for BLS and SECP messages.
Support specs-actors latest version: https://github.com/filecoin-project/specs-actors/releases/tag/v0.2.0
Will require an impl to currently support said version, this will probably be go-filecoin
Changes have landed in spes-actors that break chain-validation, and thus any impl wishing to update to the latest version of spec-actors. The chain-validation library needs to be updated to work with the new specs-actors code.
From Slack Conversation:
Why 4:27 PM:
Interop issue we just hit and would be nice to have a
test for: Not having enough gas to create a new account
actor through a simple send
Why 4:27
gfc returns exit code 7, and we return exit code 1 i think
To further exercise inner sends we need a new actor through which we can invoke Runtime.Send() without actor-level validation getting in the way. We wouldn't install this actor in real chains, only for testing.
We might be able to put that actor in this repo, or possibly the specs-actors repo if necessary.
Implement a Testing (Fake) Actor that may be used for exercising test cases not easily captured with builtin actors.
Implement a test that covers duplicate BLS and SECP message application, ensure duplicate messages are not applied.
This issue is a placeholder for the work required to integrate payment channel actor tests with lotus.
The RPC client added in #155 needs API documentation. Documentation should cover:
go test
to run.Whenever that happens
Expose the Chain-Validation syscall methods over RPC.
In the resource name TestChainValidationMessageSuiteTestAccountActorCreationfailcreateBLSaccountactorinsufficientbalance
the part TestChainValidationMessageSuite
does not appear in the chain validation repo and is generally not under control of the validation suite. This happens to be working only because the test runner methods in Lotus and Go-filecoin share the same exact name.
This dependency is backwards and will lead to fragility. For example, in order to investigate behaviour of a specific test, I create a method:
func TestX(t *testing.T) {
f := NewFactories(&ValidationConfig{
trackGas: true,
checkExitCode: true,
checkReturnValue: true,
checkStateRoot: true,
})
message.TestNestedSends(t, f)
}
But this invalidates the resource name and so cannot be used for checking gas/state values.
This issue is a placeholder for the work required to integrate payment channel actor tests with go-filecoin.
The miner penalty can exceed the declared gas limit. Create a test to ensure the actual cost is paid.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.