1b8567559SRaphael Isemannimport lldb
2b8567559SRaphael Isemannfrom lldbsuite.test.decorators import *
3b8567559SRaphael Isemannfrom lldbsuite.test.lldbtest import *
4b8567559SRaphael Isemannfrom lldbsuite.test import lldbutil
5b8567559SRaphael Isemann
6b8567559SRaphael Isemann
7*2238dcc3SJonas Devlieghereclass TestCase(TestBase):
8b8567559SRaphael Isemann    def test(self):
9b8567559SRaphael Isemann        """
10b8567559SRaphael Isemann        Test debugging a binary that has two templates with the same name
11b8567559SRaphael Isemann        but different template parameters.
12b8567559SRaphael Isemann        """
13b8567559SRaphael Isemann        self.build()
14*2238dcc3SJonas Devlieghere        lldbutil.run_to_source_breakpoint(
15*2238dcc3SJonas Devlieghere            self, "// break here", lldb.SBFileSpec("main.cpp")
16*2238dcc3SJonas Devlieghere        )
17b8567559SRaphael Isemann
18b8567559SRaphael Isemann        # Try using both templates in the same expression. This shouldn't crash.
19b8567559SRaphael Isemann        self.expect_expr("Template1.x + Template2.x", result_type="int")
20