Skip to content

Commit

Permalink
Update Running Tests docs section
Browse files Browse the repository at this point in the history
commit-id:9e36d3c9
  • Loading branch information
tomek0123456789 committed Apr 12, 2024
1 parent 6852c4d commit b264cd6
Showing 1 changed file with 37 additions and 19 deletions.
56 changes: 37 additions & 19 deletions docs/src/development/environment-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,61 +7,79 @@
> If you don't wish to contribute, you can omit these instructions.
Install the latest stable [Rust](https://www.rust-lang.org/tools/install) version.
If you already have Rust installed make sure to upgrade it by running
If you already have Rust installed make sure to upgrade it by running:

```shell
$ rustup update
```

To verify that project was cloned and set up correctly, you can run
To verify that project was cloned and set up correctly, you can run:

```shell
$ cargo check
```

## Running Tests

> 📝 **Note**
>
> Make sure you run `./scripts/install_devnet.sh`
> and then set [Scarb](https://docs.swmansion.com/scarb/) version
> [compatible](https://github.com/foundry-rs/starknet-foundry/releases) with both `snforge` and `sncast`
> and use the newest [universal-sierra-compiler](https://github.com/software-mansion/universal-sierra-compiler)
> after setting up the development environment, otherwise the tests will fail.
Tests can be run with:

1. Run `./scripts/install_devnet.sh`
2. Set [Scarb](https://docs.swmansion.com/scarb/) version [compatible](https://github.com/foundry-rs/starknet-foundry/releases) with both `snforge` and `sncast`
3. Install the newest version of [universal-sierra-compiler](https://github.com/software-mansion/universal-sierra-compiler)
4. Set `NODE_URL` environmental variable to a Sepolia testnet node URL:
- either manually in your shell
```shell
$ export NODE_URL="https://example.com"
```
- or inside [`.cargo/config.toml` file](https://doc.rust-lang.org/cargo/reference/config.html#configuration-format)
```toml
[env]
NODE_URL = "https://example.com/rpc"
```
5. (CI tests) [Set a secret variable](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository)
`NODE_URL` in your `starknet-foundry` fork repository

After performing these steps, you can run tests with:
```shell
$ cargo test
```

> 💡 **Info**
>
> Please make sure you're using scarb installed via asdf - otherwise some tests may fail.
> Please make sure you're using scarb installed via [`asdf`](https://asdf-vm.com/) - otherwise some tests may fail.
> To verify, run:
>
> ```shell
> $ which scarb
> $HOME/.asdf/shims/scarb
> ```
>
> If you previously installed scarb using official installer, you may need to remove this installation or modify your PATH to make sure asdf installed one > is always used.
> If you previously installed Scarb using official installer, you may need to remove that installation or modify your `PATH`
> to make sure the version installed by `asdf` is always used.
> ❗️ **Warning**
>
> If you haven't pushed your branch to the remote yet (you've been working only locally), two tests will fail:
>
> - `e2e::running::init_new_project_test`
> - `e2e::running::simple_package_with_git_dependency`
>
> After pushing the branch to the remote, those tests should pass.
## Formatting and Lints
Starknet Foundry uses [rustfmt](https://github.com/rust-lang/rustfmt) for formatting. You can run the formatter with
Starknet Foundry uses [rustfmt](https://github.com/rust-lang/rustfmt) for formatting. You can run the formatter with:
```shell
$ cargo fmt
```
For linting, it uses [clippy](https://github.com/rust-lang/rust-clippy). You can run it with this command:
For linting, it uses [clippy](https://github.com/rust-lang/rust-clippy). You can run it with:
```shell
$ cargo clippy --all-targets --all-features -- --no-deps -W clippy::pedantic -A clippy::missing_errors_doc -A clippy::missing_panics_doc -A clippy::default_trait_access
```
Or using our defined alias
or using our defined alias:
```shell
$ cargo lint
Expand All @@ -71,13 +89,13 @@ $ cargo lint
Starknet Foundry uses [typos](https://github.com/marketplace/actions/typos-action) for spelling checks.
You can run the checker with
You can run the checker with:
```shell
$ typos
```
Some typos can be automatically fixed by running
Some typos can be automatically fixed by running:
```shell
$ typos -w
Expand Down

0 comments on commit b264cd6

Please sign in to comment.