|
| 1 | +# ezmon Data Collection Reports - Runs 1-5 |
| 2 | + |
| 3 | +This file contains detailed reports for Runs 1-5 of the matplotlib ezmon validation process, including the historical Commit 1 report from the initial cherry-pick strategy. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## Commit Reports |
| 8 | + |
| 9 | +<a id="commit-1-185b4fae5d"></a> |
| 10 | +### Commit 1: `185b4fae5d` - "fix: Fix unstable tkagg small plot size." |
| 11 | + |
| 12 | +**Metadata** |
| 13 | + |
| 14 | +| Item | Link | |
| 15 | +|------|------| |
| 16 | +| Fork Commit | [`d620e17f88`](https://github.com/andreas16700/matplotlib/commit/d620e17f88) | |
| 17 | +| Upstream Commit | [`185b4fae5d`](https://github.com/matplotlib/matplotlib/commit/185b4fae5d) | |
| 18 | +| Upstream Merge | [`53a5bc6c1e`](https://github.com/matplotlib/matplotlib/commit/53a5bc6c1e) | |
| 19 | +| PR | [#29989](https://github.com/matplotlib/matplotlib/pull/29989) | |
| 20 | + |
| 21 | +**Workflow Runs** (Apple Silicon only) |
| 22 | + |
| 23 | +Initial run (incorrect matrix - 3.11, 3.12): |
| 24 | + |
| 25 | +| Variant | Our Run | Upstream Run | Notes | |
| 26 | +|---------|---------|--------------|-------| |
| 27 | +| macos-14 py3.11 | [Job](https://github.com/andreas16700/matplotlib/actions/runs/21336628673/job/61409514278) | ❌ Not tested | Wrong - they don't test 3.11 | |
| 28 | +| macos-14 py3.12 | [Job](https://github.com/andreas16700/matplotlib/actions/runs/21336628673/job/61409514281) | [Check](https://github.com/matplotlib/matplotlib/pull/29989/checks) ✅ | ✅ Match | |
| 29 | +| macos-14 py3.13 | ❌ Not tested | [Check](https://github.com/matplotlib/matplotlib/pull/29989/checks) ✅ | Wrong - missing | |
| 30 | + |
| 31 | +Corrected run (correct matrix - 3.12, 3.13): |
| 32 | + |
| 33 | +| Variant | Our Run | Upstream Run | Notes | |
| 34 | +|---------|---------|--------------|-------| |
| 35 | +| macos-14 py3.12 | [Job](https://github.com/andreas16700/matplotlib/actions/runs/21337387976/job/61411387676) | [Check](https://github.com/matplotlib/matplotlib/pull/29989/checks) ✅ | ✅ Match | |
| 36 | +| macos-14 py3.13 | [Job](https://github.com/andreas16700/matplotlib/actions/runs/21337387976/job/61411387684) | [Check](https://github.com/matplotlib/matplotlib/pull/29989/checks) ✅ | ✅ Match (baseline) | |
| 37 | + |
| 38 | +**Files Changed** |
| 39 | +``` |
| 40 | +lib/matplotlib/backends/_backend_tk.py (8 lines added) |
| 41 | +``` |
| 42 | + |
| 43 | +**Test Selection Results** |
| 44 | + |
| 45 | +Initial run (3.11, 3.12 - incorrect matrix): |
| 46 | + |
| 47 | +| Python | Selected | Deselected | Passed | Failed | Skipped | |
| 48 | +|--------|----------|------------|--------|--------|---------| |
| 49 | +| 3.11 | 2 | 112 | 1 | 0 | 3 | |
| 50 | +| 3.12 | 2 | 112 | 1 | 0 | 3 | |
| 51 | + |
| 52 | +Corrected run (3.12, 3.13 - correct matrix): |
| 53 | + |
| 54 | +| Python | Selected | Deselected | Passed | Failed | Skipped | Notes | |
| 55 | +|--------|----------|------------|--------|--------|---------|-------| |
| 56 | +| 3.12 | 0 | 0 | 0 | 0 | 2 | No code changed (workflow-only commit) | |
| 57 | +| 3.13 | 10139 | 0 | 9524 | 0 | 615 | Baseline run (first time, all tests) | |
| 58 | + |
| 59 | +**Tests Selected** (Initial run) |
| 60 | +- `test_getattr[matplotlib.backends.backend_tkagg]` - PASSED |
| 61 | +- `test_getattr[matplotlib.backends.backend_tkcairo]` - SKIPPED (missing cairo) |
| 62 | + |
| 63 | +**Comparison with Upstream** |
| 64 | + |
| 65 | +| Python | Upstream Result | Our Result | Match? | |
| 66 | +|--------|-----------------|------------|--------| |
| 67 | +| 3.12 | All passed | 1 passed (initial), 0 selected (corrected) | ✅ | |
| 68 | +| 3.13 | All passed | Baseline recorded (10139 tests) | ✅ | |
| 69 | + |
| 70 | +**Analysis** |
| 71 | +- Initial run (incorrect 3.11, 3.12): ezmon correctly identified that `_backend_tk.py` affects `backend_tkagg` and `backend_tkcairo` modules. Only 2 tests selected (98% reduction). |
| 72 | +- Corrected run (3.12, 3.13): Python 3.13 recorded baseline fingerprints (all tests run). Python 3.12 had no code changes (workflow update only). |
| 73 | +- No false negatives detected - upstream had no failures on macos-14 for this PR. |
| 74 | + |
| 75 | +**Plugin Bug Fixes** |
| 76 | +- Issue: `ast.Str` DeprecationWarning on Python 3.12+ caused crashes |
| 77 | +- Fix: `84f004c` in pytest-testmon repo - Check Python version before accessing deprecated `ast.Str` |
| 78 | +- Tests run before continuing: ✅ (29 passed) |
| 79 | + |
| 80 | +--- |
| 81 | + |
| 82 | +<a id="run-1-ea40d72fb0"></a> |
| 83 | +### Run 1: `ea40d72fb0` - PR #30657 "Fix `AttributeError: module 'gi' has no attribute 'require_version'`" |
| 84 | + |
| 85 | +**Metadata** |
| 86 | + |
| 87 | +| Item | Value | |
| 88 | +|------|-------| |
| 89 | +| Upstream Commit | [`ea40d72fb0`](https://github.com/matplotlib/matplotlib/commit/ea40d72fb0) | |
| 90 | +| PR | [#30657](https://github.com/matplotlib/matplotlib/pull/30657) | |
| 91 | +| Upstream Status | ✅ success | |
| 92 | +| Our Workflow | [#21350378747](https://github.com/andreas16700/matplotlib/actions/runs/21350378747) | |
| 93 | + |
| 94 | +**Files Changed** |
| 95 | +``` |
| 96 | +lib/matplotlib/backends/backend_gtk3.py (3 lines changed) |
| 97 | +lib/matplotlib/backends/backend_gtk4.py (4 lines changed) |
| 98 | +``` |
| 99 | + |
| 100 | +**Test Selection Results** |
| 101 | + |
| 102 | +| Python | Selected | Deselected | Passed | Failed | Skipped | |
| 103 | +|--------|----------|------------|--------|--------|---------| |
| 104 | +| 3.11 | 9 | 541 | 9 | 0 | 2 | |
| 105 | +| 3.12 | 9 | 541 | 9 | 0 | 2 | |
| 106 | +| 3.13 | 9 | 541 | 9 | 0 | 2 | |
| 107 | + |
| 108 | +**Analysis** |
| 109 | +- ezmon correctly identified that GTK backend changes affect GTK-related tests |
| 110 | +- Only 9 tests selected from 550 collected (~98% reduction) |
| 111 | +- All selected tests passed |
| 112 | +- **No false negatives** - upstream also passed |
| 113 | + |
| 114 | +**Issue Encountered: Matplotlib Cache Corruption** |
| 115 | +- Initial run failed with EngFormatter test errors: `'1 _' == '1'` |
| 116 | +- Root cause: Cached data in `~/.matplotlib` from previous runs corrupted test behavior |
| 117 | +- Fix: Disabled matplotlib cache restoration in workflow |
| 118 | +- The EngFormatter worked correctly when called directly (verified via debug output) |
| 119 | + |
| 120 | +--- |
| 121 | + |
| 122 | +<a id="run-2-cfccd8a13c"></a> |
| 123 | +### Run 2: `cfccd8a13c` - PR #28831 "Improve font metrics cache" |
| 124 | + |
| 125 | +**Metadata** |
| 126 | + |
| 127 | +| Item | Value | |
| 128 | +|------|-------| |
| 129 | +| Upstream Commit | [`cfccd8a13c`](https://github.com/matplotlib/matplotlib/commit/cfccd8a13c) | |
| 130 | +| PR | [#28831](https://github.com/matplotlib/matplotlib/pull/28831) | |
| 131 | +| Upstream Status | ✅ tests passed / ❌ docs failed | |
| 132 | +| Our Workflow | [#21350615668](https://github.com/andreas16700/matplotlib/actions/runs/21350615668) | |
| 133 | + |
| 134 | +**Files Changed** |
| 135 | +``` |
| 136 | +lib/matplotlib/text.py (font metrics caching changes) |
| 137 | +lib/matplotlib/tests/test_text.py (test updates) |
| 138 | +``` |
| 139 | + |
| 140 | +**Test Selection Results** |
| 141 | + |
| 142 | +| Python | Selected | Deselected | Passed | Failed | Skipped | |
| 143 | +|--------|----------|------------|--------|--------|---------| |
| 144 | +| 3.11 | 7057 | 135 | 5609 | 9 | ~1400 | |
| 145 | +| 3.12 | 7057 | 135 | 5609 | 9 | ~1400 | |
| 146 | +| 3.13 | 7057 | 135 | 5609 | 9 | ~1400 | |
| 147 | + |
| 148 | +**Analysis** |
| 149 | +- This is effectively a baseline run for Python 3.11 (new Python version in matrix) |
| 150 | +- ezmon correctly selected almost all tests for baseline fingerprinting |
| 151 | +- **9 EngFormatter test failures** - same issue as Run 1 before cache fix |
| 152 | +- EngFormatter debug output shows CORRECT behavior before tests run |
| 153 | +- The issue occurs DURING test execution, not with the code itself |
| 154 | +- **No false negatives** - upstream tests also passed; our failures are environment-related |
| 155 | + |
| 156 | +**Issue: EngFormatter Test Failures** |
| 157 | +- Same `'1 _' == '1'` error pattern as Run 1 |
| 158 | +- Debug output before tests shows correct EngFormatter behavior |
| 159 | +- Issue manifests only when many tests are selected (baseline runs) |
| 160 | +- When only 9 tests selected (Run 1), issue doesn't occur |
| 161 | +- This is a test environment issue, not a code or ezmon issue |
| 162 | +- **Not a false negative** - upstream's tests passed, and the failures are unrelated to code changes |
| 163 | + |
| 164 | +--- |
| 165 | + |
| 166 | +<a id="run-3-bd2f744f0e"></a> |
| 167 | +### Run 3: `bd2f744f0e` - PR #30667 "DOC: Correct typos: lets -> let's" |
| 168 | + |
| 169 | +**Metadata** |
| 170 | + |
| 171 | +| Item | Value | |
| 172 | +|------|-------| |
| 173 | +| Upstream Commit | [`bd2f744f0e`](https://github.com/matplotlib/matplotlib/commit/bd2f744f0e) | |
| 174 | +| PR | [#30667](https://github.com/matplotlib/matplotlib/pull/30667) | |
| 175 | +| Upstream Status | ✅ success | |
| 176 | +| Our Workflow | [#21352658801](https://github.com/andreas16700/matplotlib/actions/runs/21352658801) | |
| 177 | + |
| 178 | +**Files Changed** |
| 179 | +``` |
| 180 | +lib/matplotlib/tests/test_dates.py (1 comment typo fix) |
| 181 | +lib/matplotlib/tests/test_sankey.py (1 comment typo fix) |
| 182 | +``` |
| 183 | + |
| 184 | +**Test Selection Results** |
| 185 | + |
| 186 | +| Python | Selected | Deselected | Passed | Failed | Skipped | |
| 187 | +|--------|----------|------------|--------|--------|---------| |
| 188 | +| 3.11 | 9 | 541 | 9 | 0 | 2 | |
| 189 | +| 3.12 | 9 | 541 | 9 | 0 | 2 | |
| 190 | +| 3.13 | 9 | 541 | 9 | 0 | 2 | |
| 191 | + |
| 192 | +**Analysis** |
| 193 | +- ezmon reported "changed files: 0" - comment changes don't affect code fingerprints |
| 194 | +- The 9 tests selected are the same baseline tests as Run 1 (likely module import tests) |
| 195 | +- ezmon correctly ignores comment-only changes in test files |
| 196 | +- **No false negatives** - upstream also passed |
| 197 | + |
| 198 | +--- |
| 199 | + |
| 200 | +<a id="run-4-36a6259397"></a> |
| 201 | +### Run 4: `36a6259397` - PR #30668 "cibw: Switch macos 13 to 15 Intel" |
| 202 | + |
| 203 | +**Metadata** |
| 204 | + |
| 205 | +| Item | Value | |
| 206 | +|------|-------| |
| 207 | +| Upstream Commit | [`36a6259397`](https://github.com/matplotlib/matplotlib/commit/36a6259397) | |
| 208 | +| PR | [#30668](https://github.com/matplotlib/matplotlib/pull/30668) | |
| 209 | +| Upstream Status | ✅ success | |
| 210 | +| Our Workflow | [#21352844524](https://github.com/andreas16700/matplotlib/actions/runs/21352844524) | |
| 211 | + |
| 212 | +**Files Changed** |
| 213 | +``` |
| 214 | +.github/workflows/cibuildwheel.yml (1 line - CI config) |
| 215 | +``` |
| 216 | + |
| 217 | +**Test Selection Results** |
| 218 | + |
| 219 | +| Python | Selected | Deselected | Passed | Failed | Skipped | |
| 220 | +|--------|----------|------------|--------|--------|---------| |
| 221 | +| 3.11 | 0 | all | 0 | 0 | 2 | |
| 222 | +| 3.12 | 0 | all | 0 | 0 | 2 | |
| 223 | +| 3.13 | 0 | all | 0 | 0 | 2 | |
| 224 | + |
| 225 | +**Analysis** |
| 226 | +- ezmon reported "changed files: 0" - CI workflow files are not test dependencies |
| 227 | +- **Zero tests selected** - perfect result for a CI-only change |
| 228 | +- "collected 0 items / 2 skipped" shows ezmon correctly deselected all tests |
| 229 | +- **No false negatives** - upstream also passed (CI config doesn't affect tests) |
| 230 | + |
| 231 | +--- |
| 232 | + |
| 233 | +<a id="run-5-72660082c6"></a> |
| 234 | +### Run 5: `72660082c6` - PR #30672 "Use pathlib.Path instead of matplotlib.path.Path in text.pyi" |
| 235 | + |
| 236 | +**Metadata** |
| 237 | + |
| 238 | +| Item | Value | |
| 239 | +|------|-------| |
| 240 | +| Upstream Commit | [`72660082c6`](https://github.com/matplotlib/matplotlib/commit/72660082c6) | |
| 241 | +| PR | [#30672](https://github.com/matplotlib/matplotlib/pull/30672) | |
| 242 | +| Upstream Status | ✅ success | |
| 243 | +| Our Workflow | [#21353000933](https://github.com/andreas16700/matplotlib/actions/runs/21353000933) | |
| 244 | + |
| 245 | +**Files Changed** |
| 246 | +``` |
| 247 | +lib/matplotlib/text.pyi (1 line - type stub) |
| 248 | +``` |
| 249 | + |
| 250 | +**Test Selection Results** |
| 251 | + |
| 252 | +| Python | Selected | Deselected | Passed | Failed | Skipped | |
| 253 | +|--------|----------|------------|--------|--------|---------| |
| 254 | +| 3.11 | 0 | all | 0 | 0 | 2 | |
| 255 | +| 3.12 | 0 | all | 0 | 0 | 2 | |
| 256 | +| 3.13 | 0 | all | 0 | 0 | 2 | |
| 257 | + |
| 258 | +**Analysis** |
| 259 | +- ezmon reported "changed files: 0" - type stub files (.pyi) don't affect runtime tests |
| 260 | +- **Zero tests selected** - perfect result for a type-stub-only change |
| 261 | +- "collected 0 items / 2 skipped" shows ezmon correctly deselected all tests |
| 262 | +- **No false negatives** - upstream also passed (type stubs don't affect runtime) |
| 263 | + |
| 264 | +--- |
| 265 | + |
0 commit comments