typemytype / booleanOperations

Boolean operations on paths
MIT License
38 stars 18 forks source link

Please redo the test suite to avoid circular dependencies #64

Open alerque opened 3 years ago

alerque commented 3 years ago

This package is quite obnoxious to install downstream, particularly for distro packages that try to test that they are actually working. Testing this package requires things that require itself.

1) booleanOperations requires fontpens to test 2) fontpens requires fontparts to test 3) fontparts requires booleanOperations to build

And we're back at the beginning.

Given that this is a pretty low level building block, I suggest it is unfair to expect downstream packages that rely on this package in order to test itself. That's kind of like integration testing, but with a dose of Inception built in.

Instead please come up with a way to test that the building blocks in this package do what they are documented to do that doesn't involve downstream packages using them.

typemytype commented 2 years ago

true, the fontPens test can be done with defcon.Glyphs.

see https://github.com/robotools/fontPens/blob/master/Lib/fontPens/angledMarginPen.py#L126 see https://github.com/robotools/fontPens/search?q=fontparts

could you make a PR in fontPens? (just be careful with adding components, the api is a bit different between fontParts and defcon glyphs)