Skip to content
This repository has been archived by the owner on Jul 22, 2024. It is now read-only.

Add basic test suite for behavior and UI #29

Closed
3 tasks done
cassaundra opened this issue Jan 4, 2024 · 2 comments
Closed
3 tasks done

Add basic test suite for behavior and UI #29

cassaundra opened this issue Jan 4, 2024 · 2 comments
Labels
tests Unit tests, fuzzing, etc.
Milestone

Comments

@cassaundra
Copy link
Collaborator

cassaundra commented Jan 4, 2024

I've deferred this long enough. It's time to actually make a test suite now that program is relatively stable. For the first iteration, tests should include:

  • Before-and-after filesystem tests that prove tasks behave as intended (deferred)
  • UI tests of stdout/stderr to make sure everything looks right
  • Various tests of invalid state (invalid syntax, dependency graph, runtime error, etc.) (deferred)

The snapbox crate is well suited for some of these purposes.

@cassaundra cassaundra added the tests Unit tests, fuzzing, etc. label Jan 4, 2024
@cassaundra cassaundra added this to the quake 0.1.0 milestone Jan 4, 2024
@epage
Copy link
Collaborator

epage commented Jan 5, 2024

With #26, we've talked about TUI tests but haven't been able to put any time to it. Unsure if https://crates.io/crates/term-transcript can help with that which I use grudgingly to create a screenshot for https://docs.rs/winnow/latest/winnow/trace/index.html as the workflow behind it is rough (I'd like to at least have a subset of it in snapbox...)

@cassaundra
Copy link
Collaborator Author

cassaundra commented Apr 3, 2024

Basic implementation in 00464c2. Will follow up with more example projects as tests as they are developed. There should still be a systematic suite that contains at least every error, pending near completion of #52.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
tests Unit tests, fuzzing, etc.
Projects
None yet
Development

No branches or pull requests

2 participants