Switch to using lc3tools-sys
for the lc3tools test infrastructure
#115
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
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_BIN
env var is setlc3tools-sys
sidesteps these issues by packaging LC3Tools as a static library that's passed tocargo
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 nowlc3tools-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
useslc3tools-sys
instead of the shell (other functionality and hooks for the tests can come later, in other PRs).steps
lc3tools-sys
offerslc3tools-sys
where
branch:
imp-lc3tools-sys-tests
open questions
None right now.
The text was updated successfully, but these errors were encountered: