Skip to content

Establish the copick-shared-ui migration test and fixture gate #49

Closed

Description

@uermel

Parent epic: #53

Objective

Establish a real storage-sensitive test and packaging gate before changing copick-shared-ui's runtime dependencies.

Work

  • Add pytest and offscreen Qt configuration and a workflow that fails if zero tests collect.
  • Preserve the current Zarr 2 production runtime for this baseline phase.
  • Add independently constructed OME-Zarr 0.4 / Zarr v2 and OME-Zarr 0.5 / Zarr v3 twins with numeric and nonnumeric metadata paths.
  • Reproduce the current bug with metadata selecting s0 while a distracting array named 0 exists.
  • Cover unsharded, one-shard, multi-shard, alternate chunk, alternate key, and supported alternate codec layouts.
  • Add invalid fixtures for empty and malformed stores, missing paths, root arrays, and non-3D arrays.
  • Verify metadata selection, read-only behavior, source immutability, and error propagation through runtime tests; do not add AST parsing or structural source-guard tests.
  • Align the formatter used by pre-commit, the lock, and CI.
  • Run the baseline on Python 3.11 through 3.14, with the dependency-floor and locked jobs required by the migration plan.

Acceptance criteria

  • The current metadata-selection defect is one explicit expected failure.
  • All other baseline tests pass without production storage changes.
  • Fixtures do not use the helper they are intended to test.
  • CI fails if pytest collects no tests.
  • Lock, lint, format, compile/import, build, and artifact checks pass.

Release context

This work starts immediately. It does not wait for another core release: copick 2.0.0-alpha.1 is already published.

Activity

  1. uermel commented on Aug 18, 2026

    @uermel
    MemberAuthor

    Implementation update from the migration PR stack:

    Keeping this issue open for final reconciliation of its broader matrix, notably the supported alternate-codec fixture and the remaining cache-bypass, info/gallery-model, CLI-schema, and URI smoke coverage called out during review.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    zarr-v3-migrationMigration to OME-Zarr 0.5 and Zarr v3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions