Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test reform #169

Open
2 of 19 tasks
rrbutani opened this issue Jul 25, 2022 · 0 comments
Open
2 of 19 tasks

Test reform #169

rrbutani opened this issue Jul 25, 2022 · 0 comments
Assignees
Labels
➕ improvement Chores and fixes: the small things. 🔧 infra Project infrastructure, meta, dev-ex, etc. P-medium Medium priority 📜 tracking Tracking issue: an issue full of other issues

Comments

@rrbutani
Copy link
Member

rrbutani commented Jul 25, 2022

what

Tracking issue for cargo t showing all green.

The idea is that you should be able to clone this repo, run nix develop and then cargo t and have all the tests run and pass.

Specifically:

  • all the tests should pass
  • running the tests should require no extra setup
  • there should be no uncaptured stdout/stderr output from the tests
  • we should have no flaky tests
  • we should measure and report test coverage
  • cargo t should run in <10s
  • we should clean up test macros and APIs
    • i.e. having single_test, etc. support labels
  • we should make some kind of judgement about what adequate testing for each module is/what we want to add
    • prop tests, fuzzing, etc.
  • we should decide if we want to expose parts of the test suite to implementors/how to best do this
    • i.e. for the instruction interpreter, perhaps have all the tests reference a macro-defined crate::init() -> impl InstructionInterpreter (or something like that)

steps

The first step is to get all the tests passing.

Doing this on a crate by crate basis, taking the opportunity to do some test related cleanup as we go:

  • application-support (no tests, currently)
  • baseline-sim ()
  • benches ()
    • these are still run as part of cargo t but not actually measured
  • device-support ()
  • isa ()
  • macros (no tests, currently)
  • os ()
  • shims ()
  • test-infrastructure ()
  • traits ()
@rrbutani rrbutani added ➕ improvement Chores and fixes: the small things. P-medium Medium priority 🔧 infra Project infrastructure, meta, dev-ex, etc. labels Jul 25, 2022
@rrbutani rrbutani self-assigned this Jul 25, 2022
@rrbutani rrbutani modified the milestone: Tests passing Jul 25, 2022
This was referenced Jul 25, 2022
@rrbutani rrbutani added the 📜 tracking Tracking issue: an issue full of other issues label Aug 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
➕ improvement Chores and fixes: the small things. 🔧 infra Project infrastructure, meta, dev-ex, etc. P-medium Medium priority 📜 tracking Tracking issue: an issue full of other issues
Projects
Status: No status
Development

No branches or pull requests

1 participant