1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
/**
* @file canceller_test.cpp
* @brief This file is expected to contain unit tests involving ScopedCanceller logic.
*/
#include <gtest/gtest.h>
#include <mega/canceller.h>
using ::mega::cancel_epoch_bump;
using ::mega::ScopedCanceller;
TEST(Canceller, SnapshotNotTriggeredUntilBumped)
{
ScopedCanceller s1;
EXPECT_FALSE(s1.triggered());
// No bump -> still false
EXPECT_FALSE(s1.triggered())
<< "The same ScopedCanceller should remain untriggered without a previous cancel";
}
TEST(Canceller, TriggeredAfterBump)
{
ScopedCanceller s1;
cancel_epoch_bump();
EXPECT_TRUE(s1.triggered());
ScopedCanceller s2;
EXPECT_FALSE(s2.triggered())
<< "A new snapshot should see the new epoch and not be triggered yet";
}
TEST(Canceller, MultipleBumpsStillTriggerOldSnapshots)
{
ScopedCanceller s1;
cancel_epoch_bump();
cancel_epoch_bump();
cancel_epoch_bump();
EXPECT_TRUE(s1.triggered());
}
|