OpenAssetIO / OpenAssetIO-MediaCreation

OpenAssetIO extensions for use in the Media Creation industry.
Apache License 2.0
12 stars 10 forks source link

Simplify C++ header imports in tests #44

Closed foundrytom closed 1 year ago

foundrytom commented 1 year ago

We previously explicitly imported all the C++ headers. This served to verify that the YAML produced the correct outputs. We also do this in Python though, so this is really mostly testing TraitGen.

We have a rule of thumb that we don't re-test auto-generated code, and the C++ tooling requirements have been noted to form a barrier to entry to contributors who may work mostly in the Python world.

As, assuming we trust TraitGen, all generated headers are still imported by the package header, this commit removes the explicit imports of individual trait headers. This means we should still test that all shipping headers are syntax correct.

feltech commented 1 year ago

[question] Could you possibly remind me why (from commit message)

we should aim to keep the locale as minimal as possible to maximize batching opportunities.

I.e. how does complexity of locale affect batching?

foundrytom commented 1 year ago

I.e. how does complexity of locale affect batching?

Lets say in the OTIO resolver, we put the track and clip details in the locale, you can no longer batch the entire timeline as your would have different clip details for each clip, and different track details for many.

So it makes that data either optional (in which case, why do we need it at all) or you can't batch. I think we just need to have verified requirements for anything that goes in the locale that influences the resolve vs opportunistically shoving everything you can in there.