]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commit
test/encoding/readable: Add backward incompat checks
authorNitzan Mordechai <nmordech@redhat.com>
Sun, 7 Dec 2025 09:06:14 +0000 (09:06 +0000)
committerNitzanMordhai <nmordech@ibm.com>
Mon, 9 Feb 2026 14:53:31 +0000 (14:53 +0000)
commit011b25d8038e0f0bd3272fa57b0c7e068feb130c
tree1ea717043671a318ede280a14b4b9df609a7b14a
parent9d289ed14e79fa8008ba30b77b425a4508030110
test/encoding/readable: Add backward incompat checks

The readable.sh script has forward incompat checks, but no
backward incompat checks.

This fix will:
 1. Add check for backward_incompat directory for each type for specific
    objects or all objects with the same type and skip those objects from being tested.
 2. Add version comparison helper functions (version_lt, version_le, version_ge,
    versions_span) for robust version handling
 3. Replace 'sort -n' with 'sort -V' for proper version number sorting
 4. Add CORPUS_PATH environment variable to allow teuthology tests to execute this script
 5. Improve readability of the script

The difference between backward and forward incompat:
- forward_incompat: Marks objects from older versions that newer ceph-dencoder
  versions cannot read. Example: Version 19.2.x objects marked incompat at version 20.2.x
  means ceph-dencoder v20.2.x+ can't decode them. Skip when testing old objects
  with a new ceph-dencoder.
- backward_incompat: Marks objects from newer versions that older ceph-dencoder
  versions cannot read. Example: Version 19.2.x objects marked backward_incompat at v19.2.x
  means ceph-dencoder < v19.2.x can't decode them. Skip when testing new objects
  with an old ceph-dencoder.

Fixes: https://tracker.ceph.com/issues/74074
Signed-off-by: Nitzan Mordechai <nmordech@ibm.com>
src/test/encoding/readable.sh