Skip to content

Add processor and pass-graph conformance test suites #15

Description

@Super-Genius

Problem

The SGProcessingManager build does not register a test subdirectory or test targets in its root CMake configuration, and code search found no processor/pass execution test suite. The planned changes to pass dispatch, named bindings, graph execution, Vulkan rendering, cancellation, and structured results need one common contract to prevent backend-specific drift.

Scope

Add unit, integration, and conformance tests for the SGProcessingManager public execution contract.

Test areas:

  • Schema parsing and pass-specific validation.
  • Pass/input indexing and optional-field safety.
  • Named multi-input, multi-output, and intermediate bindings.
  • Linear, branching, merging, disabled, invalid, and cyclic pass graphs.
  • Executor selection by pass type and backend.
  • Existing MNN processors, including current LLM/FP4 work when merged.
  • Existing SuperGenius Vulkan compute and render integration, including the existing MoltenVK path.
  • Output hashing, artifact metadata, persistence, and deterministic serialization.
  • Cancellation, deadline, budget, progress, partial result, and cleanup behavior.
  • Capability acceptance and rejection cases.
  • Backward compatibility adapters during interface migration.

Tests should use small deterministic fixtures and avoid downloading large public models during normal CI.

Acceptance criteria

  • CTest targets run from the standalone SGProcessingManager build and when consumed by SuperGenius/develop.
  • Each registered executor runs the same core conformance contract.
  • Native Vulkan and the existing MoltenVK path run equivalent compute/render fixtures where CI hardware permits; unsupported CI environments skip with an explicit reason.
  • Regression tests cover the concrete index mismatch, model-only assumption, output-buffer-zero fallback, and unsupported pass fallthrough bugs.

Tracks issues #7 through #14.

Base implementation and review work on the branch consumed by SuperGenius/develop.

Activity

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions