Reverse build order of protos
This MR reverses the order in which protos are built such that child protos are built before their parents. This is the first step towards support for union boundaries as outlined in #1260.
@sethrj this is ready for a first look. As best as I can tell we don't have any unit tests that actually resulted in initial guesses for bboxes affecting the final result 🤷
Codecov Report
:x: Patch coverage is 90.47619% with 2 lines in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 83.40%. Comparing base (fe2a0ac) to head (7986953).
:warning: Report is 13 commits behind head on develop.
| Files with missing lines | Patch % | Lines |
|---|---|---|
| src/orange/orangeinp/InputBuilder.cc | 50.00% | 0 Missing and 1 partial :warning: |
| src/orange/orangeinp/UnitProto.cc | 88.88% | 0 Missing and 1 partial :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## develop #2109 +/- ##
===========================================
- Coverage 84.87% 83.40% -1.47%
===========================================
Files 1240 1225 -15
Lines 43321 41485 -1836
Branches 16125 13061 -3064
===========================================
- Hits 36768 34601 -2167
+ Misses 4650 4584 -66
- Partials 1903 2300 +397
| Files with missing lines | Coverage Δ | |
|---|---|---|
| src/orange/orangeinp/UnitProto.hh | 91.66% <ø> (+0.36%) |
:arrow_up: |
| src/orange/orangeinp/detail/ProtoBuilder.cc | 100.00% <100.00%> (ø) |
|
| src/orange/orangeinp/detail/ProtoBuilder.hh | 100.00% <100.00%> (+9.09%) |
:arrow_up: |
| src/orange/orangeinp/InputBuilder.cc | 95.45% <50.00%> (-1.57%) |
:arrow_down: |
| src/orange/orangeinp/UnitProto.cc | 90.14% <88.88%> (-2.54%) |
:arrow_down: |
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
Test summary
 5 666 files   9 122 suites   7m 2s :stopwatch:  1 677 tests  1 669 :white_check_mark:   8 :zzz: 0 :x: 29 435 runs  29 287 :white_check_mark: 148 :zzz: 0 :x:
Results for commit 7986953e.
@elliottbiondo Could you try running the models/analysis/orange-complexity.ipynb notebook from the benchmarks repo? Hopefully it's clear enough how to run, and under Load results you can see the relevant failures with:
failures = ~results.failure.isna()
results.failure[failures].xs('nav', level='optname').to_dict()
@sethrj since this does not cause any additional failures in models/analysis/orange-complexity.ipynb relative to develop, I think you can continue your review.