Skip to content

[compat] Execute parsed unit tests for the first DuckDB fixture slice #205

Description

@sabino

Objective

Move unit tests from read-only manifest/listing support to the first executable DuckDB-backed compatibility slice for the already parsed YAML fixture subset.

Current Reality

dxt parses dict-style unit-test given and expect row fixtures, emits Manifest v12-shaped unit_tests, maintains parent/child maps, and lists unit tests through selector support. Execution, fixture materialization, CSV/SQL fixtures, overrides, version expansion, disabled-unit-test placement, SQL comparison, and run-results are still planned gaps.

Role and Labels

  • role: role:worker
  • labels: type:compat, area:parser, area:runner, area:duckdb, area:artifacts, artifact:manifest, artifact:run-results, command:test, command:build
  • readiness: status:ready, ready-for-agent

Priority

priority:p1: newer Jaffle-style projects use unit tests, and execution parity is a visible dbt Core gap after parsing support.

Readiness

Ready for one implementation worker if scoped to one minimal DuckDB execution path for the existing parsed row-fixture subset.

Risk

  • risk:runtime-boundary: fixture materialization, compilation, execution, and comparison must be Zig product runtime behavior.
  • risk:artifact-contract: run result rows and manifest stability must remain dbt-shaped.

Dependencies / Sequencing

No open issue or PR was active when this issue was created. Depend on existing unit-test parsing/listing only. Do not combine this with CSV fixtures, SQL fixtures, overrides, model version expansion, disabled placement changes, or broad indirect-selection work.

Acceptance Criteria

  • Selected supported unit tests can run through dxt test against DuckDB using the existing parsed dict row fixtures.
  • dxt build handles the same supported unit-test subset in graph order without changing unrelated model/seed/test behavior.
  • Passing and failing unit tests produce deterministic dbt-shaped run_results.json rows for the supported subset.
  • Native Zig tests cover unit-test planning/comparison logic, with focused black-box fixture coverage through the Zig binary.
  • Unsupported unit-test features remain clearly out of scope and do not partially execute with misleading success.

Validation

  • zig build test
  • focused unit-test CLI pytest through the Zig binary
  • dbt oracle comparison for a minimal fixture where supported behavior overlaps
  • runtime-boundary scan if any developer harness changes are made

Stop Condition

Stop and split if execution requires general Jinja, CSV/SQL unit-test fixtures, adapter-specific test overrides, model version expansion, or changes to generic/singular data-test execution.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions