]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
test/encoding/readable: Add backward incompat checks 67392/head
authorNitzan Mordechai <nmordech@redhat.com>
Sun, 7 Dec 2025 09:06:14 +0000 (09:06 +0000)
committerPatrick Donnelly <pdonnell@ibm.com>
Wed, 18 Mar 2026 13:53:17 +0000 (09:53 -0400)
commit0ede2c5a201f5f2a3cd3c45a2153058828614269
tree44f8c5b24fcc47ffa422c9c822e70e142a8209d9
parentf6bdcd01afd3db52d9b40281113f3ca55cbd5734
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>
(cherry picked from commit 011b25d8038e0f0bd3272fa57b0c7e068feb130c)
src/test/encoding/readable.sh