File: canceller_test.cpp

package info (click to toggle)
megacmd 2.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 32,592 kB
  • sloc: cpp: 326,437; ansic: 34,524; python: 4,630; java: 3,965; sh: 2,869; objc: 2,459; makefile: 197; xml: 113
file content (39 lines) | stat: -rw-r--r-- 959 bytes parent folder | download | duplicates (2)
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());
}