Hi, I know there have been plenty of mails on this topic already, but still ... I'm quite a bit confused, and the suggested solutions all didn't work for me :-/
In unit tests I want to cover the case that e. g. incompatible colour spaces
are used for a transform. But, of course within my application I don't want
the whole thing to "go down". But something is really weird as my code
doesn't really behave like it should in comparison to others'
This is in short what I'm doing within a method of my class:
cmsErrorAction(LCMS_ERROR_SHOW);
myTransform = cmsCreateTransform(_inputProfile->getProfile(),
TYPE_RGB_8,
_outputProfile->getProfile(),
TYPE_Lab_8,
_renderingIntent,
_transformationFlags);
CPPUNIT_ASSERT(aTransform == NULL);
The input and output profiles are both TYPE_RGB_8 type, but I'm setting the
output profile to TYPE_Lab_8 to provoke an error. Therefore aTransform should
be NULL. But it isn't ... it's 134559216F :-(
Therefore my unit test fails.
Also this testing leads me to a second point. I'd like to make my wrapper/code
both object oriented as well as thread safe. And that's a bit of a problem
with the current way the error handler works. To really use it in a tread
safe way (the error handler) and usable with OO classes I'd have to be able
to either pass in an instance with an error handler method to call, or be
able to pass an object method to the cmsSetErrorHandler() function. Which
seems like a no-go.
The sample implementations around that I've seen seem to declare a global
variable for errorCode and errorMessage which then in case of a NULL get read
and propagated upward through e. g. an exception. But using globals just
seems highly un-threadsafe to me ... And the whole approach of a method seems
like it's very incompatible with OO approaches to propagate errors in a
sensible way into an object.
Any ideas on either of the two issues addressed here?
Guy
--
Guy K. Kloss
Institute of Information and Mathematical Sciences
Te Kura Putaiao o Mohiohio me Pangarau
Room 2.63, Quad Block A Building
Massey University, Auckland, Albany
Private Bag 102 904, North Shore Mail Centre
voice: +64 9 414-0800 ext. 9585 fax: +64 9 441-8181
eMail: [EMAIL PROTECTED] http://www.massey.ac.nz/~gkloss/
signature.asc
Description: This is a digitally signed message part.
------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________ Lcms-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/lcms-user
