tectonic-typesetting / tectonic

A modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive.
https://tectonic-typesetting.github.io/
Other
3.99k stars 162 forks source link

Add more tex-output tests #1179

Closed CraftSpider closed 7 months ago

CraftSpider commented 7 months ago

Tests that caught bugs in #1138. Also want to see if the Linux specific failures are happening on Master too, which will help me identify how to track them down.

Blocked on #1180

codecov[bot] commented 7 months ago

Codecov Report

Attention: Patch coverage is 90.90909% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 46.99%. Comparing base (1520823) to head (3037b2c).

Files Patch % Lines
...xetex_layout/layout/xetex-XeTeXLayoutInterface.cpp 90.90% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #1179 +/- ## ========================================== + Coverage 46.45% 46.99% +0.54% ========================================== Files 176 176 Lines 65193 65196 +3 ========================================== + Hits 30283 30639 +356 + Misses 34910 34557 -353 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

CraftSpider commented 7 months ago

So, @pkgw - I've discovered something fun, certain Linux configurations result in different output from all other platforms, including several other Linux configurations. I'll try to debug these at some point, but for now, would you prefer to hold off on merging these tests entirely, or just ignore the flaky one on Linux for now?

CraftSpider commented 7 months ago

Ugh. It looks like, most likely, somewhere between Harfbuzz 2.7 and 8 there was a change that affected how glyphs end up laid out in the buffer. Maybe a bugfix, maybe not, hard to say. Unfortunately, that means I don't think there's a nice way to 'fix' this - it's not our fault, but will likely become untested shortly when Ubuntu 24 becomes 'latest'. For now, I'll probably just try to ignore the tests on the bad platforms.

CraftSpider commented 7 months ago

Test ignored on bad platforms for now - a bit overzealous of a cfg, but on the other hand, it's a test that just wasn't present before, so we're still gaining coverage by running it at least sometimes. And it should still identify bugs like it was originally designed to catch.