← D4rt
Publishedrole: extensionlicense: BSD-3-Clause

tom_d4rt_test

tom_d4rt_test · v1.0.0

The behavioural conformance suite for `tom_d4rt` — also the cross-engine reference its analyzer-free twin `tom_d4rt_exec` must reproduce. Scaffolded and wired into the workspace; suite content still to be written.

See License
Status
Published
LOC
11
Tests
0
Test LOC
0

Overview

From the module readme.md file:

What it enables

No downstream modules declared yet.

Relationships

Standalone — no declared relationships.

tom_d4rt_test

> Attribution. The tom_d4rt project is an extended clone of the original > d4rt project by Moustapha Kodjo Amadou, initially published in 2025. The > complete interpreter is based on his idea.

> Behavioural conformance suite for the source-based D4rt interpreter > tom_d4rt. Scaffold today — wired into the workspace, not > yet populated.

tom_d4rt_test is a standalone Dart package in the tom_d4rt monorepo (under tom_ai/d4rt/). Its purpose is to pin down tom_d4rt's observable behaviour with executable tests — the same behaviour the analyzer-free twin tom_d4rt_exec must reproduce, so the suite doubles as the cross-engine conformance reference.

Status

An empty dart create skeleton: no entry point, no public API, no tests yet. Only the generated lib/src/version.versioner.dart build stamp is non-empty, and the package does not yet depend on tom_d4rt. The wiring (version stamping, build state, copilot guidelines) is in place; the suite content is still to be written.

How conformance testing will work

Run tests with testkit so results land in the baseline CSV (testlog/baseline_*.csv); the most recent baseline is the reference and a testkit :test run reports each test as pass/fail against it. The strategy mirrors the established D4rt corpus workflow: a test names the behaviour, the baseline records the expected result, and regressions surface as X/OK columns.

When populated, expect the suite to grow as: a test/ tree grouped by language feature / bridge area, fixture scripts under test/ exercised through tom_d4rt's execute() / eval(), and a tom_d4rt path dependency added to pubspec.yaml. The same fixtures can later be run against tom_d4rt_exec to compare the two engines.

Related packages

  • tom_d4rt — the interpreter under test.
  • tom_d4rt_exec — the analyzer-free twin the suite also targets.
  • D4rt ecosystem repository: <https://github.com/al-the-bear/tom_d4rt>
License
BSD 3-Clause License

Copyright (c) 2024-2026, Peter Nicolai Alexis Kyaw
Find me on LinkedIn under Alexis Kyaw
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
   contributors may be used to endorse or promote products derived from
   this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.