make # build
make test # run regression suiteRequires:
- C99 compiler (GCC or Clang)
- OpenSSL development headers
- PowerShell 7 (
pwsh) on Windows, Linux, or macOS
# Windows
pwsh tests/run_regression.ps1
# Linux
pwsh tests/run_regression.ps1
# macOS
pwsh tests/run_regression.ps1The regression suite is the single source of truth for all testing.
# Via make (recommended — auto-detects PowerShell)
make test
# Direct invocation
pwsh tests/run_regression.ps1 # all paths, all tests
pwsh tests/run_regression.ps1 -Verbose # show all output
pwsh tests/run_regression.ps1 -StopOnFailure # stop on first failure
pwsh tests/run_regression.ps1 -InterpreterOnly # qs only
pwsh tests/run_regression.ps1 -VMOnly # qs vm only
pwsh tests/run_regression.ps1 -QVMOnly # qs build+run only
pwsh tests/run_regression.ps1 -Path tests/ # specific folder
pwsh tests/run_regression.ps1 -Path tests/test_final.qs # single fileEvery test runs on all three execution paths (qs, qs vm, qvm) and outputs are compared.
src/quanto.c— amalgamation entry point (don't edit directly)src/parts/— individual modules (edit these)stdlib/— standard library modulesexamples/— language examplestests/— regression test suitetests/run_regression.ps1— canonical test runner
- Create a feature branch
- Write a failing regression test
- Implement the fix or feature
- Run
make test(orpwsh tests/run_regression.ps1) - Submit a Pull Request
- C99 standard
- 4-space indentation in C source
- No trailing whitespace
- LF line endings
- Checkout main
- Pull the latest changes
- Create a feature branch
- Implement your change
- Run the regression suite
- Push the branch
- Open a Pull Request
- Merge after review