sources for test_import.py [rev. unknown]
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
import sys
import os
def setup_module(mod=None):
    if mod is None:
        f = __file__
    else:
        f = mod.__file__
    sys.path.append(os.path.dirname(os.path.dirname(f)))
def teardown_module(mod=None):
    if mod is None:
        f = __file__
    else:
        f = mod.__file__
    sys.path.remove(os.path.dirname(os.path.dirname(f)))
def test_import():
    global shared_lib, module_that_imports_shared_lib
    import shared_lib
    from package import shared_lib as shared_lib2
    import module_that_imports_shared_lib
    import absolute_import_shared_lib
    all_modules = [
        ('shared_lib', shared_lib),
        ('shared_lib2', shared_lib2),
        ('module_that_imports_shared_lib',
         module_that_imports_shared_lib.shared_lib),
        ('absolute_import_shared_lib',
         absolute_import_shared_lib.shared_lib),
        ]
    bad_matches = []
    while all_modules:
        name1, mod1 = all_modules[0]
        all_modules = all_modules[1:]
        for name2, mod2 in all_modules:
            if mod1 is not mod2:
                bad_matches.append((name1, mod1, name2, mod2))
    for name1, mod1, name2, mod2 in bad_matches:
        print "These modules should be identical:"
        print "  %s:" % name1
        print "   ", mod1
        print "  %s:" % name2
        print "   ", mod2
        print
    if bad_matches:
        assert False
if __name__ == "__main__":
    setup_module()
    test_import
    teardown_module()