You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/getting_started/setup_vs_code.md
+18-9Lines changed: 18 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
VS Code setup is optional, but does offer the following advantages:
4
4
5
-
- Auto-format your Python code to conform to the repository's [code standards](../writing_tests/code_standards.md) ([black](https://black.readthedocs.io/en/stable/)).
5
+
- Auto-format your Python code to conform to the repository's [code standards](../writing_tests/code_standards.md) ([ruff](https://docs.astral.sh/ruff/)).
6
6
- Inline linting and auto-completion (thanks to Python type hints).
7
7
- Spell-check your code and docs.
8
8
- Graphical exploration of test cases and easy test execution/debug.
@@ -18,38 +18,47 @@ The [ethereum/execution-spec-tests](https://github.com/ethereum/execution-spec-t
18
18
```text
19
19
📁 execution-test-specs/
20
20
└──📁 .vscode/
21
-
├── 📄 settings.recommended.json
21
+
├── 📄 settings.json
22
+
├── 📄 settings.local.recommended.json
22
23
├── 📄 extensions.json
23
24
└── 📄 launch.recommended.json
24
25
```
25
26
26
-
To enable the recommended settings, copy the settings file to the expected location:
27
+
By default the repository settings are applied via `.vscode/settings.json`, if you want to add your own settings please edit `.vscode/settings.local.recommended.json`.
Open the folder in VS Code where execution-spec-tests is cloned: VS Code should prompt to install the repository's required extensions from `.vscode/extensions.json`:
Please ensure that these are disabled for the repo if they are installed as part of your VS Code extensions.
61
+
53
62
## Configuration for Testing EVM Features Under Active Development
54
63
55
64
An additional step is required to enable fixture generations for features from forks that are under active development and have not been deployed to mainnet, see [Filling Tests for Features under Development](../filling_tests/filling_tests_dev_fork.md#vs-code-setup).
| 1 |`fname8 tests`| Spell check passes using the `./whitelist.txt` dictionary file. |
8
-
| 2 |`isort tests --check --diff`| Python imports ordered and arranged according to isort's standards. |
9
-
| 3 |`black tests --check --diff`| Python source must be black-formatted. |
10
-
| 4 |`flake8 tests`| Python lint and spell-checked. |
11
-
| 5 |`mypy tests`| Objects that provide typehints pass type-checking via mypy. |
12
-
| 6 |`fill`| All tests must execute correctly. |
13
-
| 7 |`mkdocs build --strict`| Documentation generated without warnings. |
14
-
| 8 |`pyspelling`| Markdown spell-check. |
15
-
| 9 |`markdownlint-cli2`| Markdown lint check. |
7
+
| 1 |`ruff check tests`| Python lint, format and imports check. |
8
+
| 2 |`mypy tests`| Objects that provide typehints pass type-checking via mypy. |
9
+
| 3 |`fill`| All tests must execute correctly. |
10
+
| 4 |`mkdocs build --strict`| Documentation generated without warnings. |
11
+
| 5 |`pyspelling`| Markdown spell-check. |
12
+
| 6 |`markdownlint-cli2`| Markdown lint check. |
16
13
17
-
While this seems like a long list, a correctly configured editor (see [VS Code Setup](../getting_started/setup_vs_code.md)) essentially assures:
14
+
While this seems like a long list, a correctly configured editor (see [VS Code Setup](../getting_started/setup_vs_code.md)) essentially assures that all points are mostly covered.
18
15
19
-
1. Points 2 and 3 are automatically covered.
20
-
2. Points 1, 4, 5, 8 & 9 are mostly covered. Additionally, if you skip type hints, they won't be checked; we can help you add these in the PR.
16
+
Additionally, if you skip type hints, they won't be checked; we can help you add these in the PR.
21
17
22
18
These checks must pass in order for the execution-spec-tests Github Actions to pass upon pushing to remote.
0 commit comments