summaryrefslogtreecommitdiff
path: root/buildscripts/resmokelib/testing/hooks/dbhash.py
blob: 9f71fc1aeb6ea9889c8805528547adeba4b85999 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"""Test hook for verifying data consistency across a replica set."""

import os.path

from buildscripts.resmokelib.testing.hooks import jsfile


class CheckReplDBHash(jsfile.PerClusterDataConsistencyHook):
    """Check if the dbhashes match.

    This includes dbhashes for all non-local databases and non-replicated system collections that
    match on the primary and secondaries.
    """

    IS_BACKGROUND = False

    def __init__(  # pylint: disable=super-init-not-called
            self, hook_logger, fixture, shell_options=None):
        """Initialize CheckReplDBHash."""
        description = "Check dbhashes of all replica set or master/slave members"
        js_filename = os.path.join("jstests", "hooks", "run_check_repl_dbhash.js")
        jsfile.JSHook.__init__(  # pylint: disable=non-parent-init-called
            self, hook_logger, fixture, js_filename, description, shell_options=shell_options)