Skip to content

Commit

Permalink
update pallet-verifier
Browse files Browse the repository at this point in the history
  • Loading branch information
davidsemakula committed Nov 26, 2024
1 parent 68d1b3e commit 17a545f
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion deliveries/pallet-verifier.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ This is a combined delivery for both milestone 1 and 2.
| **0c.** | Testing and Testing Guide | [Testing guide](https://github.com/davidsemakula/pallet-verifier/blob/master/TESTING.md). | [UI tests](https://rustc-dev-guide.rust-lang.org/tests/ui.html#introduction) are defined in the [tests/ui](https://github.com/davidsemakula/pallet-verifier/tree/master/tests/ui) directory using the [ui_test framework](https://crates.io/crates/ui_test) (also used by [clippy](https://github.com/rust-lang/rust-clippy) and [miri](https://github.com/rust-lang/miri)) <br/>Check out the ["Test Structure" section of the Testing Guide](https://github.com/davidsemakula/pallet-verifier/blob/master/TESTING.md#test-structure) for a detailed description of the purpose of the different test cases and test suites. <br/><br/>For milestone 1: All tests in the [tests/ui/driver](https://github.com/davidsemakula/pallet-verifier/tree/master/tests/ui/driver) and [tests/ui/cargo](https://github.com/davidsemakula/pallet-verifier/tree/master/tests/ui/cargo) subdirectories/ test suites except those related to "integer cast overflow" are relevant (i.e. tests with names that *DON'T* include "int-cast-overflow" suffix). <br/><br/>For milestone 2: Only "integer cast overflow" related tests in [tests/ui/driver](https://github.com/davidsemakula/pallet-verifier/tree/master/tests/ui/driver) and [tests/ui/cargo](https://github.com/davidsemakula/pallet-verifier/tree/master/tests/ui/cargo) are relevant (i.e. tests with names that include "int-cast-overflow" suffix). <br/><br/>Test cases in the [tests/ui/sdk](https://github.com/davidsemakula/pallet-verifier/tree/master/tests/ui/sdk) subdirectory/ test suite are production [FRAME](https://docs.substrate.io/learn/runtime-development/#frame) pallet tests, and include FRAME pallets copied directly from the [Polkadot SDK](https://github.com/paritytech/polkadot-sdk), and as such, apply to both milestones and serve to check the effectiveness of the tool on "real world" production FRAME pallets. <br/><br/>Lastly, the [custom benchmark suite](https://github.com/davidsemakula/pallet-verifier/blob/master/TESTING.md#the-custom-benchmark) is defined in the [benches directory](https://github.com/davidsemakula/pallet-verifier/tree/master/benches). Check out the ["custom benchmark" section of the Testing Guide](https://github.com/davidsemakula/pallet-verifier/blob/master/TESTING.md#the-custom-benchmark) for instructions for running the custom benchmark, and a description of how it works. |
| **0d.** | Docker | N/A | |
| **0e.** | Article | [Article](https://davidsemakula.com/blog/introducing-pallet-verifier) | |
| 1. | Rust binary crate | [GitHub repository](https://github.com/davidsemakula/pallet-verifier) | This includes deliveries for both milestone 1 and 2. <br/><br/>For milestone 1: [custom rustc driver](https://github.com/davidsemakula/pallet-verifier/blob/master/src/driver.rs), [custom cargo subcommand](https://github.com/davidsemakula/pallet-verifier/blob/master/src/main.rs), [MIRAI integration](https://github.com/davidsemakula/pallet-verifier/blob/master/src/callbacks/verifier.rs) ([see also](https://github.com/davidsemakula/pallet-verifier/blob/be0e7ce4d08882cb69f97c67a36091893b2380f4/src/driver.rs#L155-L184)) and [automatic tractable entry point generation](https://github.com/davidsemakula/pallet-verifier/blob/master/src/callbacks/entry_points.rs) ([see also](https://github.com/davidsemakula/pallet-verifier/blob/be0e7ce4d08882cb69f97c67a36091893b2380f4/src/driver.rs#L132-L153)). <br/><br/>For milestone 2: [adding the `mirai-annotations` crate as a dependency to FRAME pallets without editing `Cargo.toml`](https://github.com/davidsemakula/pallet-verifier/blob/be0e7ce4d08882cb69f97c67a36091893b2380f4/src/driver.rs#L56-L76) ([see also](https://github.com/davidsemakula/pallet-verifier/blob/be0e7ce4d08882cb69f97c67a36091893b2380f4/src/driver.rs#L224-L282)), [adding MIRAI annotations to MIR, and more specifically to support automatically adding annotations for verifying that integer `as` conversions don't overflow/underflow nor lose precision](https://github.com/davidsemakula/pallet-verifier/blob/master/src/providers/int_cast_overflow.rs). <br/><br/>Check out the [architecture document](https://github.com/davidsemakula/pallet-verifier/blob/master/ARCHITECTURE.md) for a detailed description of how the various components work and fit together. |
| 1. | Rust binary crate | [GitHub repository](https://github.com/davidsemakula/pallet-verifier) | This includes deliveries for both milestone 1 and 2. <br/><br/>For milestone 1: [custom rustc driver](https://github.com/davidsemakula/pallet-verifier/blob/master/src/driver.rs), [custom cargo subcommand](https://github.com/davidsemakula/pallet-verifier/blob/master/src/main.rs), [MIRAI integration](https://github.com/davidsemakula/pallet-verifier/blob/master/src/callbacks/verifier.rs) ([see also](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/driver.rs#L144-L168)) and [automatic tractable entry point generation](https://github.com/davidsemakula/pallet-verifier/blob/master/src/callbacks/entry_points.rs) ([see also](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/driver.rs#L124-L142)). <br/><br/>For milestone 2: [adding the `mirai-annotations` crate as a dependency to FRAME pallets without editing `Cargo.toml`](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/driver.rs#L196-L254) (see also [this](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/driver.rs#L201-L254) and [this](https://github.com/davidsemakula/pallet-verifier/blob/844a49f85f434442202f724c2b5a8aecd0cf9d84/src/main.rs#L259-L273)), [adding MIRAI annotations to MIR, and more specifically to support automatically adding annotations for verifying that integer `as` conversions don't overflow/underflow nor lose precision](https://github.com/davidsemakula/pallet-verifier/blob/master/src/providers/int_cast_overflow.rs). <br/><br/>Check out the [architecture document](https://github.com/davidsemakula/pallet-verifier/blob/master/ARCHITECTURE.md) for a detailed description of how the various components work and fit together. |


**Additional Information**
Expand Down

0 comments on commit 17a545f

Please sign in to comment.