Skip to content
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

coins spending tests #4532

Merged
merged 21 commits into from
Nov 28, 2023
Merged

coins spending tests #4532

merged 21 commits into from
Nov 28, 2023

Conversation

modship
Copy link
Member

@modship modship commented Nov 13, 2023

  • document all added functions
  • try in sandbox /simulation/labnet
    • if part of node-launch, checked using the resync_check flag
  • unit tests on the added/changed features
    • make tests compile
    • make tests pass
  • add logs allowing easy debugging in case the changes caused problems
  • if the API has changed, update the API specification

Leo-Besancon and others added 3 commits November 8, 2023 16:06
* Use a controller for final state to be able to mock it

* Fix all formatting issues.

* Use more mocks in execution tests

* Fix test nested call usage

* improve some tests execution

* Fix tests async message and compact the test of executed

* Fix more execution tests

* Fix more tests.

* Update more tests

* Finish fixing all executions tests.

* Improve naming

* add more comment

* Fix comment
@modship modship linked an issue Nov 13, 2023 that may be closed by this pull request
25 tasks
@modship modship changed the title update test to check spend coins with readonly coins spending tests Nov 13, 2023
@Leo-Besancon Leo-Besancon mentioned this pull request Nov 13, 2023
45 tasks
@damip
Copy link
Member

damip commented Nov 21, 2023

@modship can you rebase it on main ?

# Conflicts:
#	massa-bootstrap/src/tests/scenarios.rs
#	massa-execution-worker/src/interface_impl.rs
#	massa-execution-worker/src/tests/scenarios_mandatories.rs
#	massa-final-state/src/test_exports/mock.rs
@modship modship changed the base branch from buildnet_wip to main November 22, 2023 08:21
@Leo-Besancon Leo-Besancon changed the base branch from main to pre_mainnet November 22, 2023 08:36
Leo-Besancon and others added 3 commits November 27, 2023 13:31
* Add some unit tests for versioning deserialization to the limits

* Clippy pass

* Better error message

* Minor fixes

* Excluded -> Included

---------

Co-authored-by: sydhds <sydhds@gmail.com>
* Add versioninig key & value checks

* Improve error message when no prefix

---------

Co-authored-by: sydhds <sydhds@gmail.com>
@modship modship marked this pull request as ready for review November 28, 2023 08:29
Base automatically changed from pre_mainnet to main November 28, 2023 08:34
@Leo-Besancon Leo-Besancon changed the base branch from main to pre_mainnet_wip November 28, 2023 08:40
Copy link

codecov bot commented Nov 28, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

❗ No coverage uploaded for pull request base (pre_mainnet_wip@77f33a0). Click here to learn what that means.

Additional details and impacted files
@@                Coverage Diff                 @@
##             pre_mainnet_wip    #4532   +/-   ##
==================================================
  Coverage                   ?   72.55%           
==================================================
  Files                      ?      288           
  Lines                      ?    50874           
  Branches                   ?        0           
==================================================
  Hits                       ?    36910           
  Misses                     ?    13964           
  Partials                   ?        0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@bilboquet bilboquet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me

@damip damip merged commit a4920d4 into pre_mainnet_wip Nov 28, 2023
13 checks passed
damip added a commit that referenced this pull request Nov 30, 2023
* Update version & CI

* Test/array indexing checkup 1 (#4560)

* Update ci.yml

* Feature/feature/versioning ser der harden 2 (#4554)

* Add some unit tests for versioning deserialization to the limits

* Clippy pass

* Better error message

* Minor fixes

* Excluded -> Included

---------

Co-authored-by: sydhds <sydhds@gmail.com>

* Add versioninig key & value checks (#4552)

* Add versioninig key & value checks

* Improve error message when no prefix

---------

Co-authored-by: sydhds <sydhds@gmail.com>

* Update CI, Version and genesis timestamp

* Add array indexing listing tool

* Remove array indexing in denunciation code

* Remove more array indexing

* Add more exclude patterns

* Use nom take

---------

Co-authored-by: sydhds <sydhds@gmail.com>

* Fails in send_operations if get_gas_usage() > max_gas_per_block

Returning a distinct error message for ExecuteSC and CallSC operations.

Signed-off-by: Jean-François <jfm@laposte.net>

* coins spending tests (#4532)

* Buildnet WIP

* Mock Final State/Improve tests execution (#4512)

* Use a controller for final state to be able to mock it

* Fix all formatting issues.

* Use more mocks in execution tests

* Fix test nested call usage

* improve some tests execution

* Fix tests async message and compact the test of executed

* Fix more execution tests

* Fix more tests.

* Update more tests

* Finish fixing all executions tests.

* Improve naming

* add more comment

* Fix comment

* update test to check spend coins with readonly

* add coins

* check coins on rollbuy

* clippy

* update roll_buy

* delete helloworld wasm

* update test_readonly_execution

* fix tests merge

* fix test test_readonly_execution

* Update ci.yml

* Feature/feature/versioning ser der harden 2 (#4554)

* Add some unit tests for versioning deserialization to the limits

* Clippy pass

* Better error message

* Minor fixes

* Excluded -> Included

---------

Co-authored-by: sydhds <sydhds@gmail.com>

* Add versioninig key & value checks (#4552)

* Add versioninig key & value checks

* Improve error message when no prefix

---------

Co-authored-by: sydhds <sydhds@gmail.com>

* Update CI, Version and genesis timestamp

* add test for cancel_async_msg

* clippy

* cancel async msg check refound sender

---------

Co-authored-by: Leo-Besancon <lb@massa.net>
Co-authored-by: AurelienFT <32803821+AurelienFT@users.noreply.github.com>
Co-authored-by: Sydhds <sylvain.delhomme@gmail.com>
Co-authored-by: sydhds <sydhds@gmail.com>

* improve errors (#4567)

* tech(async_msg) : check if the target address exist

* tech(call_sc) : add check target address to call_sc_op

* check target sc address on init_call

* check target address in read only call

* fix unit tests

* remove dbg macro

* Update massa-execution-worker/src/context.rs

Co-authored-by: Damir Vodenicarevic <damipator@gmail.com>

---------

Co-authored-by: Damir Vodenicarevic <damipator@gmail.com>

* Fix tests (#4568)

* Fix CI WIP (#4569)

* Fix ws_disabled() test on windows

* fix bootstrap server port

* Fix CI local Leo

* Update scenarios_mandatories.rs

* Add CI profile argument to nextest

---------

Co-authored-by: modship <yeskinokay@gmail.com>

* Fix test + Update lcov.info

* Add codecov.yml

* fix internal error serde (#4570)

* Release prebuilt profile (#4572)

* codegen-units set to 1 for prebuilt binaries

* Update toolchain version in CI & CD

* Update CI & Genesis

---------

Signed-off-by: Jean-François <jfm@laposte.net>
Co-authored-by: Sydhds <sylvain.delhomme@gmail.com>
Co-authored-by: sydhds <sydhds@gmail.com>
Co-authored-by: Jean-François <jfm@laposte.net>
Co-authored-by: Modship <yeskinokay@gmail.com>
Co-authored-by: AurelienFT <32803821+AurelienFT@users.noreply.github.com>
Co-authored-by: Damir Vodenicarevic <damipator@gmail.com>
Leo-Besancon added a commit that referenced this pull request Nov 30, 2023
* Update version & CI

* Test/array indexing checkup 1 (#4560)

* Update ci.yml

* Feature/feature/versioning ser der harden 2 (#4554)

* Add some unit tests for versioning deserialization to the limits

* Clippy pass

* Better error message

* Minor fixes

* Excluded -> Included

---------

Co-authored-by: sydhds <sydhds@gmail.com>

* Add versioninig key & value checks (#4552)

* Add versioninig key & value checks

* Improve error message when no prefix

---------

Co-authored-by: sydhds <sydhds@gmail.com>

* Update CI, Version and genesis timestamp

* Add array indexing listing tool

* Remove array indexing in denunciation code

* Remove more array indexing

* Add more exclude patterns

* Use nom take

---------

Co-authored-by: sydhds <sydhds@gmail.com>

* Fails in send_operations if get_gas_usage() > max_gas_per_block

Returning a distinct error message for ExecuteSC and CallSC operations.

Signed-off-by: Jean-François <jfm@laposte.net>

* coins spending tests (#4532)

* Buildnet WIP

* Mock Final State/Improve tests execution (#4512)

* Use a controller for final state to be able to mock it

* Fix all formatting issues.

* Use more mocks in execution tests

* Fix test nested call usage

* improve some tests execution

* Fix tests async message and compact the test of executed

* Fix more execution tests

* Fix more tests.

* Update more tests

* Finish fixing all executions tests.

* Improve naming

* add more comment

* Fix comment

* update test to check spend coins with readonly

* add coins

* check coins on rollbuy

* clippy

* update roll_buy

* delete helloworld wasm

* update test_readonly_execution

* fix tests merge

* fix test test_readonly_execution

* Update ci.yml

* Feature/feature/versioning ser der harden 2 (#4554)

* Add some unit tests for versioning deserialization to the limits

* Clippy pass

* Better error message

* Minor fixes

* Excluded -> Included

---------

Co-authored-by: sydhds <sydhds@gmail.com>

* Add versioninig key & value checks (#4552)

* Add versioninig key & value checks

* Improve error message when no prefix

---------

Co-authored-by: sydhds <sydhds@gmail.com>

* Update CI, Version and genesis timestamp

* add test for cancel_async_msg

* clippy

* cancel async msg check refound sender

---------

Co-authored-by: Leo-Besancon <lb@massa.net>
Co-authored-by: AurelienFT <32803821+AurelienFT@users.noreply.github.com>
Co-authored-by: Sydhds <sylvain.delhomme@gmail.com>
Co-authored-by: sydhds <sydhds@gmail.com>

* improve errors (#4567)

* tech(async_msg) : check if the target address exist

* tech(call_sc) : add check target address to call_sc_op

* check target sc address on init_call

* check target address in read only call

* fix unit tests

* remove dbg macro

* Update massa-execution-worker/src/context.rs

Co-authored-by: Damir Vodenicarevic <damipator@gmail.com>

---------

Co-authored-by: Damir Vodenicarevic <damipator@gmail.com>

* Fix tests (#4568)

* Fix CI WIP (#4569)

* Fix ws_disabled() test on windows

* fix bootstrap server port

* Fix CI local Leo

* Update scenarios_mandatories.rs

* Add CI profile argument to nextest

---------

Co-authored-by: modship <yeskinokay@gmail.com>

* Fix test + Update lcov.info

* Add codecov.yml

* fix internal error serde (#4570)

* Release prebuilt profile (#4572)

* codegen-units set to 1 for prebuilt binaries

* Update toolchain version in CI & CD

* Update CI & Genesis

---------

Signed-off-by: Jean-François <jfm@laposte.net>
Co-authored-by: Sydhds <sylvain.delhomme@gmail.com>
Co-authored-by: sydhds <sydhds@gmail.com>
Co-authored-by: Jean-François <jfm@laposte.net>
Co-authored-by: Modship <yeskinokay@gmail.com>
Co-authored-by: AurelienFT <32803821+AurelienFT@users.noreply.github.com>
Co-authored-by: Damir Vodenicarevic <damipator@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

add unit tests on coin spending edge cases
6 participants