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

Switch to using lc3tools-sys for the lc3tools test infrastructure #115

Open
4 tasks
rrbutani opened this issue Jun 29, 2020 · 0 comments
Open
4 tasks

Switch to using lc3tools-sys for the lc3tools test infrastructure #115

rrbutani opened this issue Jun 29, 2020 · 0 comments
Labels
good first issue Good for new contributers! help wanted Extra attention is needed ➕ improvement Chores and fixes: the small things. P-low Low priority

Comments

@rrbutani
Copy link
Member

what

Right now when we test things against LC3Tools we run it via the shell and then parse it's command line output.

This mostly works and the command line output format, though not documented, is unlikely to change. But this approach has downsides:

lc3tools-sys sidesteps these issues by packaging LC3Tools as a static library that's passed to cargo at build time and by offering some bindings for the LC3Tools API that we can call from Rust.

Additionally, using lc3tools-sys gives us a little more control over things like providing inputs and receiving outputs from the simulator and hooks to do things/be notified on ACVs. Right now lc3tools-sys only offers some bare minimum functionality but as we expand our test suite to be more comprehensive this will become a factor worth considering.

To start with though, we can just make it so the function in src/lc3tools/runner.rs uses lc3tools-sys instead of the shell (other functionality and hooks for the tests can come later, in other PRs).

steps

  • identify the functionality that the current runner needs
  • contrast this with what lc3tools-sys offers
    • for anything that's missing, add bindings and send in PRs to lc3tools-sys
  • make the changes to the runner!

where

branch: imp-lc3tools-sys-tests

open questions

None right now.

@rrbutani rrbutani added the ➕ improvement Chores and fixes: the small things. label Jun 29, 2020
@rrbutani rrbutani self-assigned this Jun 29, 2020
@rrbutani rrbutani added good first issue Good for new contributers! help wanted Extra attention is needed P-low Low priority labels Jun 29, 2020
@rrbutani rrbutani removed their assignment Jun 29, 2020
@rrbutani rrbutani mentioned this issue Jul 25, 2022
15 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for new contributers! help wanted Extra attention is needed ➕ improvement Chores and fixes: the small things. P-low Low priority
Projects
None yet
Development

No branches or pull requests

1 participant