In case anyone else finds this in a Google search in the future, this was an interaction between Vala and libpeas. If you annotate a function with [ModuleInit] like we do here: https://github.com/jangernert/FeedReader/blob/master/plugins/backend/feedbin/feedbinInterface.vala#L750, then link it into a library, the Vala compiler magically turns the entire library into a libpeas module. Since I was directly linking the module, the peas_register_types function wasn't being called and the types didn't exist. I couldn't figure out how to call that function manually, so we just don't link that peas_register_types function in our tests. Long term we'll probably just have a file with nothing but that function so we can test everything else easily.
|