1 2from clang.cindex import LinkageKind 3from clang.cindex import Cursor 4from clang.cindex import TranslationUnit 5 6from .util import get_cursor 7from .util import get_tu 8 9def test_linkage(): 10 """Ensure that linkage specifers are available on cursors""" 11 12 tu = get_tu(""" 13void foo() { int no_linkage; } 14static int internal; 15namespace { extern int unique_external; } 16extern int external; 17""", lang = 'cpp') 18 19 no_linkage = get_cursor(tu.cursor, 'no_linkage') 20 assert no_linkage.linkage == LinkageKind.NO_LINKAGE; 21 22 internal = get_cursor(tu.cursor, 'internal') 23 assert internal.linkage == LinkageKind.INTERNAL 24 25 unique_external = get_cursor(tu.cursor, 'unique_external') 26 assert unique_external.linkage == LinkageKind.UNIQUE_EXTERNAL 27 28 external = get_cursor(tu.cursor, 'external') 29 assert external.linkage == LinkageKind.EXTERNAL 30 31