Files
akbasic/tests/language
Logikoma 8a02674af5
All checks were successful
akbasic CI Build / cmake_build (push) Successful in 3m34s
akbasic CI Build / coverage (push) Successful in 4m4s
akbasic CI Build / sanitizers (push) Successful in 6m59s
akbasic CI Build / akgl_build (push) Successful in 7m57s
akbasic CI Build / mutation_test (push) Successful in 23m28s
Move BASIC fixtures into the editable language corpus
Move every program and expectation out of tests/reference and register the unified tests/language corpus as local cases. Remove the old immutable-corpus protections from build, maintenance, and documentation paths.

Co-authored-by: andrew <andrew@aklabs.net>
2026-08-04 16:22:16 -04:00
..

The language test corpus

The .bas files in this directory and their sibling .txt files are the editable language corpus. CMake registers every program as an individual local_* CTest case and compares its output with the sibling expectation.

The corpus includes cases carried over from the deprecated Go implementation as well as cases written for this interpreter. Their provenance is useful when investigating a regression, but it does not make any case immutable or turn the old implementation into a specification.

Change a program and its expectation deliberately and in the same commit. If the changed output represents an intentional language decision, record the reason in TODO.md or the relevant documentation. If it is an accidental change, fix the interpreter instead.

The examples/ subdirectory contains complete BASIC programs used as worked examples. It is part of the same corpus and follows the same .bas/.txt pairing rule.