ComfyUI/tests
Matt Miller a8b24cb0bb feat(jobs): cursor-based pagination on GET /api/jobs (BE-943)
Mirror the cloud jobs cursor (BE-885) on the OSS Python server so the
frontend sees one contract across runtimes.

- apply_sorting now appends the job id as a tiebreaker, making (create_time,
  id) a stable keyset; without it, ties could reorder between pages.
- get_all_jobs accepts an opaque 'after' cursor (honored only for created_at
  sort, like cloud), keyset-filters the sorted in-memory list, and returns
  has_more + a next_cursor. Minted in offset mode too so a client can bootstrap
  into keyset pagination.
- server.py /api/jobs parses 'after', returns next_cursor in the pagination
  object, and maps a malformed cursor to 400 INVALID_CURSOR.
- Reuses the shared utils.cursor codec (base64url JSON {s,v,id,o}) so the wire
  format matches cloud and assets exactly.

Tests: asc/desc multi-page round-trip, same-create_time tiebreaker, last-page
no-cursor, offset-mode bootstrap, execution_duration ignores cursor, malformed
cursor raises.
2026-06-09 21:16:24 -07:00
..
compare Fix and enforce no trailing whitespace. 2024-12-31 03:16:37 -05:00
execution feat(jobs): cursor-based pagination on GET /api/jobs (BE-943) 2026-06-09 21:16:24 -07:00
inference Fix progress update crossover between users (#9706) 2025-09-04 19:13:28 -04:00
__init__.py Ci quality workflows (#1423) 2023-09-18 23:18:06 -04:00
conftest.py Fix progress update crossover between users (#9706) 2025-09-04 19:13:28 -04:00
README.md Ci quality workflows (#1423) 2023-09-18 23:18:06 -04:00
test_asset_seeder.py feat(assets): register output files as assets after prompt execution (#12812) 2026-03-24 20:48:55 -07:00

Automated Testing

Running tests locally

Additional requirements for running tests:

pip install pytest
pip install websocket-client==1.6.1
opencv-python==4.6.0.66
scikit-image==0.21.0

Run inference tests:

pytest tests/inference

Quality regression test

Compares images in 2 directories to ensure they are the same

  1. Run an inference test to save a directory of "ground truth" images
    pytest tests/inference --output_dir tests/inference/baseline
  1. Make code edits

  2. Run inference and quality comparison tests

pytest