xref: /llvm-project/lldb/test/API/lang/cpp/nested-template/TestNestedTemplate.py (revision 7e00e3ae6dd4ba215dad27d1729df533cbb37795)
15dd7c16cSArthur Eubanks"""
25dd7c16cSArthur EubanksTest that a nested template parameter works with simple template names.
35dd7c16cSArthur Eubanks"""
45dd7c16cSArthur Eubanks
55dd7c16cSArthur Eubanksimport lldb
65dd7c16cSArthur Eubanksimport lldbsuite.test.lldbutil as lldbutil
75dd7c16cSArthur Eubanksfrom lldbsuite.test.decorators import *
85dd7c16cSArthur Eubanksfrom lldbsuite.test.lldbtest import *
95dd7c16cSArthur Eubanks
102238dcc3SJonas Devlieghere
115dd7c16cSArthur Eubanksclass NestedTemplateTestCase(TestBase):
125dd7c16cSArthur Eubanks    def do_test(self, debug_flags):
135dd7c16cSArthur Eubanks        self.build(dictionary=debug_flags)
145dd7c16cSArthur Eubanks        self.dbg.CreateTarget(self.getBuildArtifact("a.out"))
152238dcc3SJonas Devlieghere        self.expect(
162238dcc3SJonas Devlieghere            "image lookup -A -t 'Inner<int>'",
172238dcc3SJonas Devlieghere            DATA_TYPES_DISPLAYED_CORRECTLY,
182238dcc3SJonas Devlieghere            substrs=["1 match found"],
192238dcc3SJonas Devlieghere        )
20*7e00e3aeSPavel Labath        self.expect(
21*7e00e3aeSPavel Labath            "image lookup -A -t 'NS::Struct<int>'",
22*7e00e3aeSPavel Labath            DATA_TYPES_DISPLAYED_CORRECTLY,
23*7e00e3aeSPavel Labath            substrs=["1 match found"],
24*7e00e3aeSPavel Labath        )
25*7e00e3aeSPavel Labath        self.expect(
26*7e00e3aeSPavel Labath            "image lookup -A -t 'NS::Union<int>'",
27*7e00e3aeSPavel Labath            DATA_TYPES_DISPLAYED_CORRECTLY,
28*7e00e3aeSPavel Labath            substrs=["1 match found"],
29*7e00e3aeSPavel Labath        )
305dd7c16cSArthur Eubanks
315dd7c16cSArthur Eubanks    @skipIf(compiler=no_match("clang"))
325dd7c16cSArthur Eubanks    @skipIf(compiler_version=["<", "15.0"])
335dd7c16cSArthur Eubanks    def test_simple_template_names(self):
345dd7c16cSArthur Eubanks        self.do_test(dict(TEST_CFLAGS_EXTRAS="-gsimple-template-names"))
355dd7c16cSArthur Eubanks
365dd7c16cSArthur Eubanks    @skipIf(compiler=no_match("clang"))
375dd7c16cSArthur Eubanks    @skipIf(compiler_version=["<", "15.0"])
385dd7c16cSArthur Eubanks    def test_no_simple_template_names(self):
395dd7c16cSArthur Eubanks        self.do_test(dict(TEST_CFLAGS_EXTRAS="-gno-simple-template-names"))
40