Index: tests/OnceTest.cpp |
diff --git a/tests/OnceTest.cpp b/tests/OnceTest.cpp |
index 83ee66b6c8b41c42d08fe9b6ebae0f2e7bf64e41..ef8d3d92251ead88dc5d046166665abbb3cc70ba 100644 |
--- a/tests/OnceTest.cpp |
+++ b/tests/OnceTest.cpp |
@@ -13,27 +13,27 @@ static void add_five(int* x) { |
*x += 5; |
} |
-SK_DECLARE_STATIC_ONCE(st_once); |
DEF_TEST(SkOnce_Singlethreaded, r) { |
int x = 0; |
// No matter how many times we do this, x will be 5. |
- SkOnce(&st_once, add_five, &x); |
- SkOnce(&st_once, add_five, &x); |
- SkOnce(&st_once, add_five, &x); |
- SkOnce(&st_once, add_five, &x); |
- SkOnce(&st_once, add_five, &x); |
+ SkOnce once; |
+ once(add_five, &x); |
+ once(add_five, &x); |
+ once(add_five, &x); |
+ once(add_five, &x); |
+ once(add_five, &x); |
REPORTER_ASSERT(r, 5 == x); |
} |
-SK_DECLARE_STATIC_ONCE(mt_once); |
DEF_TEST(SkOnce_Multithreaded, r) { |
int x = 0; |
+ |
// Run a bunch of tasks to be the first to add six to x. |
+ SkOnce once; |
SkTaskGroup().batch(1021, [&](int) { |
- void(*add_six)(int*) = [](int* p) { *p += 6; }; |
- SkOnce(&mt_once, add_six, &x); |
+ once([&] { x += 6; }); |
}); |
// Only one should have done the +=. |
@@ -43,10 +43,10 @@ DEF_TEST(SkOnce_Multithreaded, r) { |
static int gX = 0; |
static void inc_gX() { gX++; } |
-SK_DECLARE_STATIC_ONCE(noarg_once); |
DEF_TEST(SkOnce_NoArg, r) { |
- SkOnce(&noarg_once, inc_gX); |
- SkOnce(&noarg_once, inc_gX); |
- SkOnce(&noarg_once, inc_gX); |
+ SkOnce once; |
+ once(inc_gX); |
+ once(inc_gX); |
+ once(inc_gX); |
REPORTER_ASSERT(r, 1 == gX); |
} |