- Add Alexander Roper to AUTHORS file with newline fix for Starbeamrainbowlabs entry - Replace placeholder embedding API docs with full guide covering static/dynamic linking and source inclusion - Update codebase line count from 5,000 to 7,000 lines in README and index - Fix relative documentation links to absolute URLs in README - Add CSS styling for preprocessor directive syntax highlighting - Update Xcode project file references and CopyFiles build phase UUID - Adjust delta_blue benchmark expected value from 7032700 to 14065400 - Improve markdown header detection regex in generate_docs.py to avoid matching #include - Refactor metrics.py to exclude curly brace lines from code line counting - Add TEST_HEADERS dependency to test object compilation in wren.mk - Remove NULL parameter from runFile call in main.c - Refactor vm.c to support WrenBindForeignClassFn callback and rename externalBindForeign to bindMethodFn - Update vm.h to remove bindForeign parameter documentation and adjust runFile signature
This contains the automated validation suite for the VM and built-in libraries.
-
benchmark/- Performance tests. These aren't strictly pass/fail, but let us compare performance both against other languages and against previous builds of Wren itself. -
core/- Tests for the built in core library, mainly methods on the core classes. If a bug is inwren_core.corwren_value.c, it will most likely break one of these tests. -
io/- Tests for the built in IO library. In other words, methods on theIOclass. If a bug is inwren_io.c, it should break one of these tests. -
language/- Tests of the language itself, its grammar and runtime semantics. If a bug is inwren_compiler.corwren_vm.c, it will most likely break one of these tests. This includes tests for the syntax for the literal forms of the core classes. -
limit/- Tests for various hardcoded limits. The language doesn't officially specify these limits, but the Wren implementation has them. These tests ensure that limit behavior is well-defined and tested.