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
This commit is contained in:
Generated
+14
@@ -294,6 +294,7 @@ dependencies = [
|
||||
"el-parser",
|
||||
"el-registry",
|
||||
"el-seal",
|
||||
"el-test",
|
||||
"el-types",
|
||||
"thiserror 2.0.18",
|
||||
"tokio",
|
||||
@@ -385,6 +386,19 @@ dependencies = [
|
||||
"thiserror 2.0.18",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "el-test"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"el-compiler",
|
||||
"el-lexer",
|
||||
"el-parser",
|
||||
"el-types",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.18",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "el-types"
|
||||
version = "0.1.0"
|
||||
|
||||
Reference in New Issue
Block a user