The FreeBASIC test suite

The test suite is used to catch compiler, runtime, library, and target regressions. It is also used by the packaging scripts to prove that an installed compiler can compile and run basic programs from a clean layout.

Common make targets

    make sanity
    make quick-test
    make full-test
    make compiler-smoke
    make bootstrap-emit-test

Use the smaller targets while developing a focused change and the broader suite before release or after changes to parser, code generation, runtime startup, string handling, graphics, sound, or cross-target support.

Package and platform smoke tests

The `build_scripts/` directory contains installer and platform smoke tests for supported package families and target ports. Those scripts are the preferred way to test an installed package because they catch missing files, wrong paths, wrong compiler names, and packaging-only problems that an in-tree build can hide.

Graphics and sound work should be tested explicitly on the affected platform. SCREEN modes, SCREENSET behavior, input scaling, audio playback, and backend startup/shutdown have enough platform-specific behavior that compiler-only tests are not enough.