This repository has been archived on 2026-08-20. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
el-retired/Cargo.toml
T
Will Anderson 0a36a454f9 feat: unified testing framework — unit and e2e same syntax, seed-based graph testing, debugger infrastructure
- New crate el-test: test discovery, in-memory graph seeding, assertion evaluator, TestRunner, TestReport with human/JSON/JUnit XML output
- New keywords: test, seed, assert, target — fully integrated into lexer, parser, codegen, type-checker
- Parser extensions: TestDef, SeedStmt, Assert AST nodes; seed blocks handle type: as field name (keyword-as-ident in seed context)
- Debugger: DebugEvent, Debugger, StepMode, StackFrame in el-compiler — breakpoints, step-over, step-into, step-out
- CLI: el test-file <file.el> runs tests; el test integrates with project; el debug attaches debugger; --output json|junit for CI
- 52 new tests in el-test covering discovery, graph seeding, assertion evaluation, pass/fail/error/skip, report generation, JUnit XML
- Example: examples/hello-project/src/tests.el — 6 unit tests pass, 1 e2e test correctly skipped without ENGRAM_URL
2026-04-27 19:11:59 -05:00

45 lines
1.1 KiB
TOML

[workspace]
members = [
"crates/el-lexer",
"crates/el-parser",
"crates/el-types",
"crates/el-compiler",
"crates/el-seal",
"crates/el-manifest",
"crates/el-registry",
"crates/el-build",
"crates/el-test",
"bin/el",
]
resolver = "2"
[workspace.package]
version = "0.1.0"
edition = "2021"
license = "MIT"
authors = ["Neuron Technologies"]
[workspace.dependencies]
# Internal crates
el-lexer = { path = "crates/el-lexer" }
el-parser = { path = "crates/el-parser" }
el-types = { path = "crates/el-types" }
el-compiler = { path = "crates/el-compiler" }
el-seal = { path = "crates/el-seal" }
el-manifest = { path = "crates/el-manifest" }
el-registry = { path = "crates/el-registry" }
el-build = { path = "crates/el-build" }
el-test = { path = "crates/el-test" }
# Engram crypto (path dep — the sealed target depends on it)
engram-crypto = { path = "../engram/crates/engram-crypto" }
# External
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
blake3 = "1"
aes-gcm = "0.10"
rand = "0.8"
clap = { version = "4", features = ["derive", "env"] }