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

Testsuite Framework #6

Open
dd86k opened this issue Oct 24, 2023 · 1 comment
Open

Testsuite Framework #6

dd86k opened this issue Oct 24, 2023 · 1 comment
Assignees

Comments

@dd86k
Copy link
Owner

dd86k commented Oct 24, 2023

Obviously, unit testing can only cover a portion of code.

For the shell and other modules that require external tests, it'll be worthwhile to create a D script.

Things to test:

  • Shell commands.
  • Fuzzing input for object server.

tester.d:

  • Compiles and runs example programs found in tests/automated/.
  • May need to finish some APIs first.
  • Support for Fuzzing (especially object server).
    • Either zzuf or AFL.
  • Could be nice to check version (--ver)
@dd86k dd86k self-assigned this Oct 24, 2023
@dd86k
Copy link
Owner Author

dd86k commented May 8, 2024

It would be so much more worthwhile making a shared object build type first. This avoids the need to rely on a debug server (e.g., DAP, GDB/MI).

Which the test framework will use.

The test framework could load it first thing and provide either a shell or a list of options (by default) to test (tests can still be selected using switches).

Tests:

  • compileall: Compile all configurations, architecture, and build types.
    • Note: CI only tests the most used build configurations.
    • matrix(string[]...), e.g., matrix(["1"], ["2"], ["3"]) -> [0]: ["1", "2", "3"]
  • debugger-spawn: Spawn bogus process by debugger and expect a loaded status, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

1 participant