aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/OnceTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/OnceTest.cpp')
-rw-r--r--tests/OnceTest.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/tests/OnceTest.cpp b/tests/OnceTest.cpp
index 83ee66b6c8..ef8d3d9225 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);
}