summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/dist/test_data.py
blob: ac46cf55bc2dc04e6383abe93a7e3c79d171a41e (plain)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# This file is a python script that describes the cpp test framework test configuration options.

class Method:
    def __init__(self, config):
        # Deal with duplicates: with complex configurations (like
        # WT_SESSION::create), it's simpler to deal with duplicates once than
        # manually as configurations are defined
        self.config = []
        lastname = None
        for c in sorted(config):
            if '.' in c.name:
                raise "Bad config key '%s'" % c.name
            if c.name == lastname:
                continue
            lastname = c.name
            self.config.append(c)

class Config:
    def __init__(self, name, default, desc, subconfig=None, **flags):
        self.name = name
        self.default = default
        self.desc = desc
        self.subconfig = subconfig
        self.flags = flags

    # Comparators for sorting.
    def __eq__(self, other):
        return self.name == other.name

    def __ne__(self, other):
        return self.name != other.name

    def __lt__(self, other):
        return self.name < other.name

    def __le__(self, other):
        return self.name <= other.name

    def __gt__(self, other):
        return self.name > other.name

    def __ge__(self, other):
        return self.name >= other.name
methods = {
'poc_test' : Method([
    Config('collection_count', '1', r'''
        the number of collections to create for testing''',
        min='1', max='10'),
    Config('key_size', '10', r'''
        the size of the keys to be created in bytes''',
        min='1', max='10000'),
    Config('values', 'first', r'''
        The value that each key will be populated with, used an example string configuration''',
        choices=['first', 'second', 'third'])
]),
}