Commit Graph

25 Commits (master)

Author SHA1 Message Date
Ekaterina Lebedeva c51343019c [#5] Add covertest.Cover structure
It has embedded testing.Cover to collect coverage in standard form
and sync.Mutex to be thread-safe

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-21 15:23:18 +03:00
Ekaterina Lebedeva 8e45fee116 [#4] Move c.Method appending to AddSystemFee
To avoid complicated logic in mapping collected instructions with
current method.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-17 17:04:09 +03:00
Ekaterina Lebedeva dc3d5566cd [#5] Fix loop condition in countInstructions
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-17 17:04:09 +03:00
Ekaterina Lebedeva 66bd0dc9d6 [#5] Fix bad field naming
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-17 17:04:09 +03:00
Ekaterina Lebedeva c77afdc879 [#5] Fix comments
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-17 17:04:09 +03:00
Ekaterina Lebedeva 2c71079944 [#5] Add mutex to covertest
Printing coverage to file should be thread-safe

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-17 17:04:09 +03:00
Ekaterina Lebedeva 8e4015f85f [#5] Move MakeCoverage to another file
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-17 17:04:09 +03:00
Ekaterina Lebedeva 44b3786463 [#5] Change test
Test function generates an output file with coverage.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-17 17:04:09 +03:00
Ekaterina Lebedeva 25ec36439b [#5] Add coverage making function
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-17 17:04:09 +03:00
Ekaterina Lebedeva 1475a334f5 [#4] Update dependencies
In neo-go sequence point boundaries bug was fixed, so to avoid
calculating boundaries in covertest dependencies were updated.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-17 17:04:09 +03:00
Ekaterina Lebedeva 532e9b2d3c [#4] Change test
TestContract now use covertest invoker.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-08 17:28:11 +03:00
Ekaterina Lebedeva 757ab69527 [#4] Add custom Invoke() function
Copy neotest.Invoke() and neotest.InvokeFail() functionality
and add modifications to collect coverage.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-08 17:28:11 +03:00
Ekaterina Lebedeva 401d54dda4 [#2] Fix comments
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-08 13:43:40 +03:00
Ekaterina Lebedeva 9e3ac59aa8 [#2] Fix test
Use `require` to check for errors and instead of just printing result to Stdout,
t.Log to print errors.
Added functions to calculate start offset, check if contract
method has result and to get random int to put.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-08 13:41:36 +03:00
Ekaterina Lebedeva 6bdec59abf [#2] Fix bad field naming in InstrHash structure
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-04 16:39:34 +03:00
Ekaterina Lebedeva e4dff3d6a1 [#2] Add a test for covertest.Run()
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-04 12:41:06 +03:00
Ekaterina Lebedeva f9c1fb952c [#2] Add a custom vm.Run() function
It executes loaded program and accumulates all seen opcodes
together with the scripthash they belong to.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-04 12:33:10 +03:00
Ekaterina Lebedeva 6519282570 [#3] Change neotest to covertest CompileFile in tests
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-01 17:46:33 +03:00
Ekaterina Lebedeva 45b28b723b [#3] Remove unnecessary caching in CompileFile
At this stage there is no need for such optimization

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-01 17:46:33 +03:00
Ekaterina Lebedeva 1b9c14d5d7 [#3] Add a custom CompileFile
It is a copy of neotest.CompileFile() but it returns debug info
in addition to contract info.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-01 17:44:27 +03:00
Ekaterina Lebedeva 72578fc4be [#1] Add simple test for example contract
Tests added: invalid key test, valid key test
and get-without-put test.
neo-go v0.101.3 is a dependency now.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-01 12:26:52 +03:00
Ekaterina Lebedeva 93d1cbf208 [#1] Create an example contract
Contract has PutNumber and GetNumber methods

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-01 12:26:38 +03:00
Ekaterina Lebedeva b6325fe254 [#1] Add tests folder with a test file
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-01 12:26:25 +03:00
Ekaterina Lebedeva f9f69d3e62 [#1] Add utility files
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-08-01 12:26:14 +03:00
Evgenii Stratonikov 8c8136f84c Initial commit 2023-07-28 08:35:01 +00:00