-
Notifications
You must be signed in to change notification settings - Fork 1
Contributing
If you want to contribute to the dashmips project you will need the following:
- Poetry is used for dependencies, it will help get you up and running
- After installing Poetry, and cloning this repository:
-
poetry install
- will install the dashmips dependencies in a virtual environment that won't harm your global set up. -
poetry run X
- can run X command in the correct python environment - Try
poetry run pytest --tap-stream --tap-outdir=testout --mypy --docstyle --codestyle
to ensure all tests are passing correctly
You can add to the existing files in the dashmips/instructions
and dashmips/syscalls
directories using the relevant decorator (@
).
If you add instructions or syscalls to a new file in these subdirectories ensure that the new file is named with the pattern: *_instructions.py
or *_syscalls.py
where *
is whatever identifier you choose.
To make sure dashmips installs correctly in a clean environment I've created a dockerfile that sets up the minimal required env for dashmips. The command below can be used to create the image.
docker build --rm -f "tests\test_env\Dockerfile" -t dashmips_test_env:latest .
The dashmips process loads the program from a file and opens a websocket. The supported commands can be found in dashmips/debug.py as functions prepended with debug_
.
The protocol loosely follows JSONRPC for the sake of quick development iteration it is not compliant however this could be easily remedied in a future release.
Happy Coding!