Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Unified Diff: tests/OnceTest.cpp

Issue 1894893002: Modernize and trim down SkOnce. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: might as well class Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698