Revision b8d51bb2 test/ganeti.constants_unittest.py
b/test/ganeti.constants_unittest.py | ||
---|---|---|
24 | 24 |
|
25 | 25 |
import unittest |
26 | 26 |
import re |
27 |
import itertools |
|
27 | 28 |
|
28 | 29 |
from ganeti import constants |
29 | 30 |
from ganeti import locking |
31 |
from ganeti import utils |
|
30 | 32 |
|
31 | 33 |
import testutils |
32 | 34 |
|
... | ... | |
78 | 80 |
self.failUnless(constants.OP_PRIO_HIGH > constants.OP_PRIO_HIGHEST) |
79 | 81 |
|
80 | 82 |
|
83 |
class TestExportedNames(unittest.TestCase): |
|
84 |
_VALID_NAME_RE = re.compile(r"^[A-Z][A-Z0-9_]+$") |
|
85 |
_BUILTIN_NAME_RE = re.compile(r"^__\w+__$") |
|
86 |
_EXCEPTIONS = frozenset([ |
|
87 |
"SplitVersion", |
|
88 |
"BuildVersion", |
|
89 |
]) |
|
90 |
|
|
91 |
def test(self): |
|
92 |
wrong = \ |
|
93 |
set(itertools.ifilterfalse(self._BUILTIN_NAME_RE.match, |
|
94 |
itertools.ifilterfalse(self._VALID_NAME_RE.match, |
|
95 |
dir(constants)))) |
|
96 |
wrong -= self._EXCEPTIONS |
|
97 |
self.assertFalse(wrong, |
|
98 |
msg=("Invalid names exported from constants module: %s" % |
|
99 |
utils.CommaJoin(sorted(wrong)))) |
|
100 |
|
|
101 |
|
|
81 | 102 |
class TestParameterNames(unittest.TestCase): |
82 | 103 |
"""HV/BE parameter tests""" |
83 | 104 |
VALID_NAME = re.compile("^[a-zA-Z_][a-zA-Z0-9_]*$") |
Also available in: Unified diff