Skip to content
This repository was archived by the owner on Jan 25, 2026. It is now read-only.

Add fontawesome regression tests#33

Closed
mlwilkerson wants to merge 12 commits into
jneem:mainfrom
FortAwesome:add-fontawesome-regression-tests
Closed

Add fontawesome regression tests#33
mlwilkerson wants to merge 12 commits into
jneem:mainfrom
FortAwesome:add-fontawesome-regression-tests

Conversation

@mlwilkerson

@mlwilkerson mlwilkerson commented Nov 24, 2025

Copy link
Copy Markdown
Contributor

This is a work-in-progress. It might be scrapped, because it doesn't reproduce the bugs found elsewhere. Also, it may be good to cleanup and refactor before merging, if it's useful at all (which I'm now doubting).

This refactors the regression integration tests in order to add some from Font Awesome.

There are three tests of binary_op with Difference and NonZero. When I run them in my other test system, the images look like this:

Base:
h3-base

Subtract this (Difference):
cutout

Expect this:
h3 expected

Actually get this:

actual-h3-with-cutout

(Note that the images I've uploaded here are not the real ones from my testing system. Some of these are screenshots of the rendered SVGs.)

As evident by the snapshots added in this PR, linesweeper produced the expected results instead of the buggy results.

I haven't yet figured out what's different between my other testing system and my attempt to import these as regression test cases into the linesweeper repo.

However, I will note that I ran 5,552,768 test cases, and these are the only three that failed! Awesome.

@mlwilkerson

Copy link
Copy Markdown
Contributor Author

@jneem I'm not sure what to make of the fact that the bug I found in my other testing system doesn't reproduce here.

My other system uses linesweeper 0.1.0 from the public crates registry. When I saw that the linesweeper main branch has a few other commits since that release, I thought perhaps this issue had been fixed.

However, when I reset to branch off of origin/release-0.1.0, while the graphite_6.yml test failed there, my three cases still passed. So I can't seem to reproduce the bug with these tests. But they're definitely failing in my other system, and they're the only ones failing out of 5,552,768.

@jneem

jneem commented Nov 25, 2025

Copy link
Copy Markdown
Owner

Interesting! I'm not sure what could cause this, but I'll see if I can reproduce on my end with the released crate.

In general, I like the direction of this PR although I have reservations about serde_yaml since it's officially unmaintained...

@mlwilkerson

Copy link
Copy Markdown
Contributor Author

Ok. I didn't know serde_yaml was unmaintained. My default would have been serde_json, but it seems like yaml is more readable for this kind of declaration file.

I think that leaves toml or json as the fallback options.

Do you have any strong feelings about either of those?

@jneem

jneem commented Nov 25, 2025

Copy link
Copy Markdown
Owner

No strong preferences, really. It's a pity because small examples like this are nice in yaml, but the format as a whole is so complex that the rust support just isn't great

@mlwilkerson

Copy link
Copy Markdown
Contributor Author

Once I got linesweeper incorporated into my production system, the error for these cases also didn't reproduce.

So I'm going to close this PR for now. The additional snapshot testing might be interesting to have, but there don't seem to be any interesting test cases for it at the moment. So maybe I'll circle back to something like this if/when another bug surfaces where this kind of regression testing would be beneficial.

@mlwilkerson mlwilkerson closed this Dec 5, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants