From 5e0803e00713b56f8bfcf6cf965679cfb3c9b626 Mon Sep 17 00:00:00 2001 From: Lujia Zhang Date: Tue, 11 Apr 2023 23:13:05 -0700 Subject: [PATCH] Add a test case for FunctionScheduler Summary: Verify my understanding for startdelay Differential Revision: D44905766 fbshipit-source-id: 99e5c720f8903dd9399c55b419ede37583f8f3e0 --- .../experimental/test/FunctionSchedulerTest.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/third-party/folly/src/folly/experimental/test/FunctionSchedulerTest.cpp b/third-party/folly/src/folly/experimental/test/FunctionSchedulerTest.cpp index 07f1f70add76c2..88e3196527cfd0 100644 --- a/third-party/folly/src/folly/experimental/test/FunctionSchedulerTest.cpp +++ b/third-party/folly/src/folly/experimental/test/FunctionSchedulerTest.cpp @@ -280,6 +280,20 @@ TEST(FunctionScheduler, ResetFunc2) { fs.addFunctionOnce([&] { total += 3; }, "add4", testInterval(1)); } +TEST(FunctionScheduler, ResetFuncWithStartDelay) { + atomic total{0}; + FunctionScheduler fs; + fs.addFunction([&] { total += 2; }, testInterval(3), "add2", testInterval(2)); + fs.start(); + delay(1); + EXPECT_EQ(0, total); + fs.resetFunctionTimer("add2"); + delay(1); + EXPECT_EQ(0, total); + delay(1); + EXPECT_EQ(2, total); +} + TEST(FunctionScheduler, ResetFuncWhileRunning) { struct State { boost::barrier barrier_a{2};