Is there a mechanism for running single gtests that start XPCOM?

With the current gtest mechanism, "normal" gtests can't start XPCOM (NS_InitXPCOM, event loops, component manager, etc) for various reasons:

* gtests are run in parallel and XPCOM has globals and thread-locals which don't allow that kind of multithreading * XPCOM doesn't support being re-initialized after it has been shut down, and supporting that is a huge task that is unlikely to be a good idea

However, I've heard that there are some media tests which do initialize XPCOM: https://wiki.mozilla.org/Media/WebRTC/Testing

I am currently attempting to convert at a few C++ unit tests which start XPCOM and also end up using bits of JSAPI:

toolkit/components/places/tests/cpp/test_IHistory.cpp uses JSAPI via nsINode->nsWrapperCache->RootingAPI media/webrtc/signalingtest uses nsPIDOMWindow -> nsINode -> nsWrapperCache -> RootingAPI

I'd like to convert these to be use the gtest-libxul. Do we have a framework for gtests that start XPCOM and therefore need to be run one at a time rather than using the normal parallel-gtest mechanism?

--BDS

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to