Fix orphan range queries with null parents - #2049
Ishubhammohole wants to merge 3 commits into
Conversation
Signed-off-by: Shubham Mohole <95623059+Ishubhammohole@users.noreply.github.com>
6ce79b2 to
7c92d36
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2049 +/- ##
==========================================
+ Coverage 83.52% 83.56% +0.04%
==========================================
Files 182 182
Lines 13533 13554 +21
Branches 1255 1260 +5
==========================================
+ Hits 11303 11326 +23
+ Misses 2057 2055 -2
Partials 173 173
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
Signed-off-by: Shubham Mohole <95623059+Ishubhammohole@users.noreply.github.com>
|
Hi @Ishubhammohole - thanks, this PR is looking pretty good. We'll arrange for an OTIO committer to review it once the CLA requirement is met. Let us know if you have questions about that step. Out of curiosity, how did you come across this issue, and what lead you to contribute to OTIO? |
Thanks! I came across #2044 while looking through OTIO’s open issues for C++ bugs where I could make a meaningful contribution. This one caught my attention because it involved a clear null-parent crash and had a reproducible edge case. I decided to contribute to OTIO because I wanted to work on a mature C++ codebase and get more experience with real-world debugging, regression testing, and contributing to an established open-source project. |
|
@Ishubhammohole thanks - and how did you find OTIO? |
|
|
Merged current upstream main without rewriting history and resolved the composition-test conflict by retaining both the orphan-range regression and the new nested-child regression. Rebuilt with CMake (OTIO_SHARED_LIBS=OFF, OTIO_PYTHON_INSTALL=OFF); all 10 C++ CTest tests passed. The initial shared-library build hit local macOS linker errors; the existing pip build directory also referenced an expired temporary CMake installation. No Python suite was rerun for this merge. This follow-up was prepared with Codex assistance. |
Summary
ItemandTransitionparent-range queries instead of calling through a null parent.ErrorStatus.The regression failed against the original implementation before the production fix.
Testing
cmake --build /tmp/otio-2044-build -j4— passedctest --test-dir /tmp/otio-2044-build --output-on-failure -E "^test_bundle$"— 9/9 passedctest --test-dir /tmp/otio-2044-build --output-on-failure -R "^test_bundle$" --timeout 300— 1/1 passedpython -m unittest tests.test_composition tests.test_transition— 50 passedmake test— 481 passed, 2 skippedmake lint— passedmake manifest— passedclang-format --dry-run --Werror ...— not run;clang-formatis not installed in this environmentFixes #2044