- Introduce new 'process' module exposing a Process class with foreign static methods for accessing command-line arguments. - Implement processSetArguments in main.c to store argc/argv, and processAllArguments in process.c to return them as a Wren list. - Add --help flag support to CLI, printing usage with optional arguments. - Include documentation for Process.arguments and Process.allArguments, plus module index and template updates. - Register process module in modules.c and add Xcode project references for new source files. - Add test scripts for allArguments and arguments, verifying list type, count, and expected values.
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. -
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.