| Index: tests/ErrorTest.cpp
|
| diff --git a/tests/ErrorTest.cpp b/tests/ErrorTest.cpp
|
| index 761f8bf66f7ffc20951f343d15f9f7343dc24d1e..5b928085071c026748bbab020736b9b3cb5e10ce 100644
|
| --- a/tests/ErrorTest.cpp
|
| +++ b/tests/ErrorTest.cpp
|
| @@ -10,21 +10,32 @@
|
| #include "SkPath.h"
|
| #include "SkRect.h"
|
|
|
| +typedef struct {
|
| + skiatest::Reporter *fReporter;
|
| + unsigned int *fIntPointer;
|
| +} ErrorContext;
|
| +
|
| #define CHECK(errcode) \
|
| REPORTER_ASSERT( reporter, (err = SkGetLastError()) == errcode); \
|
| if (err != kNoError_SkError) \
|
| { \
|
| - SkDebugf("Last error string: %s\n", SkGetLastErrorString()); \
|
| SkClearLastError(); \
|
| }
|
|
|
| static void cb(SkError err, void *context) {
|
| - int *context_ptr = static_cast<int *>(context);
|
| - SkDebugf("CB (0x%x): %s\n", *context_ptr, SkGetLastErrorString());
|
| + ErrorContext *context_ptr = static_cast<ErrorContext *>(context);
|
| + REPORTER_ASSERT( context_ptr->fReporter, (*(context_ptr->fIntPointer) == 0xdeadbeef) );
|
| }
|
|
|
| static void ErrorTest(skiatest::Reporter* reporter) {
|
| SkError err;
|
| +
|
| + unsigned int test_value = 0xdeadbeef;
|
| + ErrorContext context;
|
| + context.fReporter = reporter;
|
| + context.fIntPointer = &test_value;
|
| +
|
| + SkSetErrorCallback(cb, &context);
|
|
|
| CHECK(kNoError_SkError);
|
|
|
| @@ -43,19 +54,10 @@ static void ErrorTest(skiatest::Reporter* reporter) {
|
| CHECK(kInvalidArgument_SkError);
|
| CHECK(kNoError_SkError);
|
|
|
| - int test_value = 0xdeadbeef;
|
| - SkSetErrorCallback(cb, &test_value);
|
| -
|
| // should trigger *our* callback.
|
| path.addRoundRect(r, -10, -10);
|
| CHECK(kInvalidArgument_SkError);
|
| CHECK(kNoError_SkError);
|
| -
|
| - // Should trigger the default one again.
|
| - SkSetErrorCallback(NULL, NULL);
|
| - path.addRoundRect(r, -10, -10);
|
| - CHECK(kInvalidArgument_SkError);
|
| - CHECK(kNoError_SkError);
|
| }
|
|
|
| #include "TestClassDef.h"
|
|
|