General Development Guidelines
Testing
To run automated tests you will need to install a few more dependencies:
With the dependencies installed, you can run the tests with:
Note that some of the acceptance tests are microarchitecture-dependent.
These tests are labeled "Detection" (e.g., "Detection [spectre-type] Spectre V1; load variant"), and they may fail if the CPU under test does not have a given vulnerability.
Generally, if a few of these tests fail, it is not a problem, but if all of them (or a significant portion) fail, it indicates an issue with the fuzzer.
Submitting Patches
To submit a patch, use the following procedure:
-
Fork Revizor on github:
https://docs.github.com/en/github/getting-started-with-github/fork-a-repo
-
Create a topic branch:
- Make sure all tests pass (see Testing)
- Make sure your code follows the guidelines in Code Style
- Push to your branch
-
Initiate a pull request on github:
-
Wait for the PR to get reviewed and merged